We’re not putting AI in WebCull
So, big surprise. Nearly four years into the AI rush, nobody has asked us to build AI tools into WebCull. The only people bringing it up have been people offering to charge us to implement it.
No thanks!
I use AI extensively. I know how useful it is, and I know why companies are rushing to put it into their products. There’s money and attention behind it, including from people eager to invest who don’t particularly understand what they’re investing in. An actual customer need seems to be optional.
That explains the rush but it doesn’t give us a reason to join it. At some point, adding AI became a reflex for companies but we're a bit contrarian so we didn't flinch. Now endless apps have an assistant, a chat box, or a little sparkle button. Apparently every task was missing a conversation.
For WebCull, building an agent would have sidetracked us because we have not had any trouble finding hard problems to be busy on. Every feature takes time away from something else. As a software developer, I’m responsible for deciding whether that trade is making sense. "Other products are doing it", and fear of missing out isn’t much of an argument to us.
An agent also comes with a substantial amount of machinery. Usually called an agent harness, it manages things like planning, tool use, context, and recovering when the model does something unexpected. You build it, maintain it, and then reconsider it as the models and agents improve.
We held off. We didn’t spend that time building our own harness, only to watch it become obsolete or start heading that way.
Staying busy on other stuff may not have been the best short term move but in the long run the payoff was huge. We came up with a better plan: give agents command line access to WebCull.
If you want AI working with your bookmarks, use the agent and model you want. Let the people building frontier agents keep improving them. We can give those agents useful access to WebCull and focus our work on making that access better.
In our testing, this has been highly efficient and it’s something we’re going to continue improving.
It also leaves you with choices that disappear when a product supplies its own AI mystery box. You choose the agent, the model, and the environment it runs in. Even a local model if that's what’s set up on your harness. You decide what bookmark data to give it and what work to ask it to do.
With AI built into an app, understanding how your data is used can become another research project that ultimately leads you to a black box. Which model is behind it? What gets sent? What is retained? What gets trained on? What can you change? We would rather not be in that business, we already have our own.
The CLI opens up possibilities beyond agent use too. Software can search, retrieve, create, and update bookmarks much faster than a person clicking through the interface. There are applications here that go well beyond asking an agent to organize a folder.
One clicked for me while using WebCull CLI as part of my RAG setup, where my agent was organizing important website videos in my bookmarks that are searchable and can be viewed right in the app.
I could have kept that information in a database or a JSON file. Keeping it in my WebCull account gave me a much better experience when I wanted to work with it myself.
I could tag it, search it, browse it, organize it, and open the links. The same collection was accessible to software and accessible to me through an interface I actually wanted to use.
For me that made the WebCull CLI’s usefulness as a data analysis tool much clearer. Especially when the information is built around links, having a good interface to it makes a real difference.
Beyond agent use, ordinary, deterministic code can take data from a known source, put it into WebCull, and keep it updated according to rules you wrote. You can then browse and inspect the results in the app.
For me, that often means tracking and organizing pages on my websites and the videos and images presented there. Having all of that accessible in my bookmarks, and knowing it reflects live data maintained by deterministic code, is to me very different. I know where it came from and I know what keeps it current.
There’s plenty of useful work to do here. We’re going to keep doing it.
Without the sparkle button.