I’ve spent 1 billion tokens in the last 2 months. All of them through a combination of different terminals, desktop clients, IDE’s extensions.
I am now watching agents write code I couldn’t write myself. I have written not only PRDs and implemented complete flows for a cybersecurity platform, but also delved into AI evaluation engines for compliance and product validation. And of course, trying to test the limits of what AI can do in comparison to what humans include into creative work, I implemented and run multi-agent systems that critique design output from other agents or humans.
Some people call this “vibe coding.” I think that undersells it. This isn’t about vibes, its about having developed a clear judgment from the criteria we build empirically as humans. It’s about learning to orchestrate systems that produce quality at speed. The skill isn’t writing code. It’s directing intent, managing context, and knowing when to step in. That is what is becoming more aligned with what people call “Taste”.
As a product designer, I’ve always been more interested in what gets built and why it should be built, than in how it gets built. But the how has changed forever. And I’ve changed with it.
What I Actually Built in the last 2 months
In the last two months, I have not built products, but the system for building them.
I have built NIS2Chat, an AI-powered evaluator that gives companies expert-level feedback on what they need to prepare to comply with the NIS2 directive in the European Union. AUIUX, a multi-agent design feedback system where a UI Critic analyzes screenshots, a Design Strategist creates improvement plans, and a Visual Implementer generates refined versions. Custom internal tools and prototypes at Omny Security that help our team navigate complex OT/IT cybersecurity workflows. And a dozen smaller experiments — task trackers, portfolio sites, browser-based QA tools.
I now work with a three-layer context setup: global rules that apply everywhere (“always write tests, never skip error handling”), project-specific instructions (“this app uses shadcn components and Tailwind”), and reference files I pull in on demand (API docs, design tokens, previous PRDs).
I’ve created slash commands for repeatable workflows so I’m not reinventing the wheel every time. I’ve built specialized agents: a planning agent that turns rough ideas into structured PRDs, a code-simplifier that refactors before shipping, a verify-app agent that runs browser QA and catches visual regressions. But the real build is the system underneath.
Continuous feedback has been always aligned with my work as a product experience designer. In our roles as designers, product managers or developers, we build multiple versions, we collect feedback and we iterate with the aim to shorten the part to the most optimal answer.
Translating these design and iteration principles to the work I do with AI Agents, I learned to always create plans and store them before proceeding to build, and I end every session with a structured summary. Victories, failures, tough questions, what to improve. Patterns get codified. The system learns — and so do I.
A New Kind of Technical Career
Code is commoditizing. Software is becoming cheaper and easier to build. What’s differentiating now is context management, feedback loops, and knowing when to trust AI output versus when to intervene. That’s the work I do as Product Experience Designer. It is a new kind of technical career that merges a designer’s judgment with the power of AI agents, to overlap the work of both Product Manager and Engineering.
The signals I use: If the agent is confidently wrong about domain logic (like how NIS2Chat evaluation criteria actually work), I step in. If it’s iterating on implementation details (styling, refactoring, test coverage), I let it run. Trust the AI on how, verify on what and why.
In the no-code era, I mastered Webflow, Zapier, Airtable — until I hit their limits. Now I’m learning how to work with an AI agent swarm. How to prompt them well. How to give them the right context. How to improve the orchestration system over time.
Agents, subagents, prompts, context, memory, skills, hooks — this is the new technical stack. With my background in electronics engineering, I haven’t called myself non-technical ever. But developing my career as a product designer, I wouldn’t qualify as a programmer either. I’m a part of a new technical class. “Vibe coding” undersells it, just like “no-code” undersold a whole generation of builders.
I tackle every project from systems thinking — something I developed as a product designer working on complex enterprise software. Webflow is front-end. Zapier is API routes. Airtable is a database. Once you see software as systems, no piece of it feels unattainable. I can
git cloneany repo and figure out what it does. It’s all exploration.
This mindset served me well in cybersecurity as the lead product experience designer at Omny, where I’m constantly translating between what security engineers need technically and what operators need in practice, then refine and coordinate with the engineers to build the product that people would be encouraged to use every single day because it makes their day to day easier.
Every bug is a gap in my knowledge — not a gap in what I can do. The same pattern applies to coding with AI: understand the system, direct the intent, refine the output. My job is to identify the gap, make sure it doesn’t happen again, and let the model be my ever-patient, over-the-shoulder expert. No judgment. Infinite retries.
The Takeaway
Pick a CLI agent — Claude Code, Cursor, Windsurf, whatever. Decide if you want to build a personal site, a fitness plan tracker, or a fully functional mobile app. Spin it up with the most basic deployment setup. Start working on what problem it solves by testing it and iterating with every person that you think would validate the value of your idea.
Every bug you hit, question it. The only difference you have from expert programmers when they hit bugs is that they just know how to ask better questions and recognize how it should work by examining the parts that were built. You can develop that sense of what is broken with practice, you will learn faster with every feedback loop you complete while you do it.
The good news is that you don’t need to question yourself if you know enough to solve the problem. Your most reliable AI agent will be there to continue hammering the details until it just works. The even better news are that every feedback loop is becoming faster and cheaper. New models are improving more rapidly than any group of humans could. The only option left for us is to build with them, develop a new form of craft, continue failing forward and keep shipping.
Previously, I’d get too invested in the input of various designs because it would be a lot of time and effort to throw things away and the work had a time limit to be shipped. Now I can explore any idea without the sunk cost.
Just pick one set of tools and stick with it. Learn that system and focus on getting every feedback loop faster. They all work similarly.
The real unlock isn’t the tools you use. It’s the mindset: you’re not learning to code — you’re learning to direct systems that code for you.