When I first wrote about NutriAgent in November 2025, it was a full application. It had a Python backend, a web interface, a Telegram bot, user accounts, Google OAuth, Supabase, and a Google Sheets integration.
Recently, I reproduced its core workflow as a skill for my personal AI agent. It took around 15 minutes and two prompts. I didn't build another backend, deploy a service, or implement OAuth again. I explained how I wanted the workflow to behave, tested it, and watched a new row appear in my nutrition spreadsheet.
The original application wasn't a mistake. It was how I could deliver that experience with the tools available at the time.
Eight months later, the starting point had changed.
Eight Months Ago, This Was an App
I built NutriAgent because I wanted to track calories and protein without trapping my data inside a nutrition app. I wanted the raw records in a spreadsheet I controlled, where I could create my own reports and eventually connect nutrition with my training data.
The first version was a personal n8n workflow. It worked for me, but when a friend wanted to try it, I realized that everything was tied to my accounts. To make it reusable, I rebuilt it in Python and added the parts a real multi-user product needed: authentication, storage, a web interface, Telegram, Google OAuth, conversation history, and account linking.
I've already told that story in I Ditched MyFitnessPal and Built an AI Agent to Track My Food, and later wrote about what broke after I used it every day for a month.
This article starts after that version.
My Gaming PC Became an Agent Box
I had a modest gaming PC at home with 16 GB of RAM and a 1 TB drive. Using it through Windows, WSL, and remote desktop from my Mac felt awkward, so I installed Linux and turned it into a remote box for running agents. I'll write about that setup separately.
I moved Hermes there from a VPS. Hermes is the personal agent I now run on that machine. It can load reusable skills and use tools connected to my Google Workspace. The PC runs the agent environment, not the frontier model itself.
Once Hermes was running, I wanted to test a workflow I already understood well. NutriAgent was the obvious candidate.
Two Prompts, Fifteen Minutes
Instead of opening the old repositories, I described the outcome I wanted. Hermes should understand a meal, estimate its nutritional values, follow the structure of my existing log, and append the result to Google Sheets.
The first prompt created the initial skill. I used a second prompt to clarify the remaining details and adjust how it should write the data.
Then I tried it with an actual meal.
The result landed in the same kind of spreadsheet I originally built NutriAgent to produce. There wasn't a new service running behind it. Hermes already knew how to interpret natural language and use tools. Google Sheets already held the data. The skill supplied the part that was specific to me: the procedure.
That's the part that surprised me. I didn't find a cleverer way to rebuild NutriAgent. I didn't rebuild it at all.
What I No Longer Had to Build
The skill isn't equivalent to the full NutriAgent product. I can't give someone a signup link. It doesn't have a generic Telegram bot, its own Google OAuth flow, or a dedicated interface. It only needs to work with my agent, my Google account, and my spreadsheet.
For personal use, that was enough to preserve the behavior I cared about:
- Understand what I ate.
- Estimate calories and macros.
- Follow the schema of my nutrition log.
- Save the result somewhere I control.
Previously, I had to own both that behavior and the application around it. Now Hermes provides much of the environment, and the skill only describes what is different about this workflow.
This also changed the marginal cost. I moved Hermes off the VPS and configured this experiment to use model access I already had through my Codex subscription instead of maintaining a separate per-call API bill for NutriAgent. The subscription and the electricity aren't free, so this isn't a zero-cost workflow. But it removed a separate bill for each NutriAgent interaction.
The skill also changed how I add features. I had wanted predefined meals for food I had already analyzed on previous days. In NutriAgent, that would've meant changing the application, updating the prompt, testing the new behavior, and deploying another version.
With Hermes, I just said, “Remember this meal data for next time under this name.” That was enough to make it part of the workflow. A feature I had postponed in the application became a one-request change.
For a personal workflow, I wasn't only skipping the initial development. I was also skipping much of the release cycle for every small improvement after it.
I Started Seeing the Same Question Elsewhere
I recently watched Theo Browne's talk Everything We Knew About Software Has Changed. His broader point was that capable models with tools such as code execution can reduce some ideas that once required custom software to a set of structured instructions. At one point, he joked that many startups in the room could be Markdown files.
That sounded less abstract after the NutriAgent experiment.
I also read @javz Start Building for Agents, Not Just Humans. In my comment, I connected his argument to personal agents that increasingly handle the interaction for us. If I already start from Hermes, a smaller application may not need to own the entire experience. It may only need to give my agent the missing behavior.
I don't think this means every AI product will become a Markdown file. NutriAgent is a personal workflow that writes to a destination I control. Products serving many people still have responsibilities around reliability, permissions, privacy, onboarding, support, and shared state. Some products are valuable precisely because they coordinate people or centralize something that an agent can't create on demand.
I don't have a clean answer for where that line is. But I know my first step has changed. A few months ago, I would've started a workflow like this by creating a repository. Today, I'd try it as a skill first and build the standalone product only when the workflow proves it needs one.
Now I Have to Ask This About Synapse
NutriAgent isn't the only AI product I've built.
Synapse, the personal AI companion I built for my wife, has a much more complex memory system. It ingests conversations, extracts entities and relationships, stores them in a temporal knowledge graph, and retrieves relevant context for future conversations. I've spent months improving its ingestion, GraphRAG retrieval, context budgets, and memory interfaces, It now serves more people, so multi-tenant is a thing.
Now I'm wondering how much of that system I would build if I started again today.
Could the ingestion workflow become a skill? Could a general-purpose agent use a graph tool and follow instructions for consolidating conversations? Is the graph architecture the product, or is it one implementation of the outcome I want?
I don't know.
Synapse may still need a dedicated product because reliable long-term memory, privacy, evaluation, and the experience around personal conversations could be the actual value. Or I may find that some of the system can be compressed just as NutriAgent was.
Most of my articles are about building more software to solve a problem. This one is about removing software while keeping the core workflow alive.
NutriAgent made sense as an application when I built it. What interests me now isn't whether that decision was correct. It's what kinds of products will still need to exist when personal agents can assemble workflows like this on demand.
Before I build my next AI product, I want to know how much of it can be a skill first.
If you are building AI products and want to follow along, I write about the problems and trade-offs that appear when someone actually uses them.
Follow me:
- X: @juandastic
- LinkedIn: Juan David Gomez

Top comments (6)
I really enjoyed the distinction between rebuilding an application and preserving the workflow.
One thing this made me think about is that we're starting to separate behavior from implementation. The application used to be the product because it contained both. Now, increasingly, the durable asset seems to be the workflow, while the surrounding implementation becomes interchangeable.
The question toward the end about Synapse was the most interesting part for me. I suspect we're going to spend the next few years figuring out which parts of today's AI products are genuinely products, and which parts are really reusable skills, workflows, or memory systems wrapped in an application.
It feels like we're moving from building software to building capabilities, with software becoming one possible implementation rather than the only implementation.
I appreciated this framing: “Building software is like building capabilities.” I believe it aligns with the same mental model to assert, “Natural language is now a programming language.” It’s fascinating to observe how software development, management, and software in general are evolving.
Thanks for your thoughts
This really made me stop and think. A year ago I'd automatically start a new repo for every idea too, but now I'm asking the same question: does this really need to be an app, or can it just be a skill? I still think products for multiple users need proper architecture, but for personal workflows AI is changing the starting point completely. Curious to see how many existing tools eventually become "skills" instead of standalone apps.
I completely agree. Personal agents still require you to have installed an AI agent locally, which alone is enough to deter most people. For instance, I built Synapse for my wife. I know that most of its features can be achieved with a Hermes or OpenClaw installation, and it would have more capabilities. Nevertheless, for her, it is more convenient to use the dedicated app with my servers handling everything rather than dealing with local installations and generic chat apps like Telegram or Discord.
I believe this situation will change once most people have personal agents by default and the distribution is already complete. However, it might still be several years or even months before mainstream adoption.
This mirrors something I've been living through myself. I started as a standalone app-shaped thing, and over months the "app" parts (custom auth flows, bespoke storage schemas, one-off integrations) kept getting replaced by skills that just describe the procedure and let the existing agent environment (tools, memory, APIs already wired up) do the rest. The line that struck me most: "I didn't find a cleverer way to rebuild NutriAgent. I didn't rebuild it at all." That's the real shift — once the agent already holds the general capabilities, most personal software stops being infrastructure and becomes documentation of intent. The part about skipping the release cycle for small improvements resonates too: "remember this meal under this name" as a one-request change vs. a deploy cycle is exactly the kind of compounding advantage that's easy to underestimate until you've felt it.
I firmly believe that for us as builders, exploring AI is now an undeniable reality in the new world we inhabit. We can witness firsthand how a general-purpose agent, essentially a combination of a large language model (LLM) and a compute layer, is a self-improving software capable of coding itself. This capability make many standard-one applications obsolete.
However, I still believe that this is still in its early stages. Personal agents like OpenClaw, Hermes, or even Claude Corwork or Codex are not mainstream. No one in my family is even close to installing or using one of them. Therefore, I think most B2C products are safe for now, but the trends are undeniable.