In January 2025, I was waiting for the perfect idea.
By December, I had shipped four products. Sold software to the company I work for. Earned my first real revenue as an indie hacker.
What changed wasnāt the ideas. It was me.
I stopped overthinking. Started shipping. And learned that earning my first dollar from side projects meant more to me than my entire professional career as a software engineer.
Yeah. I said it.
The Mindset Shift That Changed Everything
Hereās what held me back in 2024: I believed I needed a unique idea.
Why build something that already exists? Another todo app? Another directory? Another SaaS?
Stupid thinking.
In 2025, I realized something obvious. If a product already exists and people pay for it, thatās called validation. The market already said yes. You just need to execute better. Or different. Or for a specific niche.
So I stopped hunting for unicorn ideas. Started building. Stopped losing momentum to analysis paralysis. Started shipping complete products that real users could actually use.
The results speak for themselves.
The 9-5: I Sold Software to the Company I Work For
Let me tell you about the most unexpected win of 2025.
Like most companies, mine had a performance review process with room for improvement. Manual forms, inconsistent approaches, time-consuming steps that added little value.
Evaluators filled forms manually. Gathered feedback by hand. Every person had their own approach. Some parts took hours and added zero value. It was a mess.
I saw an opportunity.
Mapped the whole workflow. Found the inefficiencies. Designed a standardized process. Built an app on top of it.
The stack: TanStack Start, TypeScript, full-stack. My favorite combo when I donāt need separate frontend and backend apps.
But hereās the cool part. I added AI.
The app generates evaluation summaries automatically. It combines feedback from multiple sources. Saves hours of evaluator time. And hereās the controversial bit: it removes human bias.
Same system prompt for everyone. Same output style. Doesnāt matter whoās running the evaluation. The AI treats everyone equally.
Some people might hate that idea. I think itās a feature.
Timeline: Less than a month. Weekends and evenings only. From idea to company-wide deployment.
The business move: I originally thought about building a SaaS. Selling subscriptions to other companies.
Then reality hit. Every company has different processes. Different hierarchies. Different evaluation structures. I couldnāt scale this alone.
So I pitched the company. Buy the app. All rights included. Iāll help develop it during my 9-5.
They said yes.
Five figures. Done.
The IP belongs to them now. Maybe weāll turn it into a SaaS together someday. For now, Iām in a hybrid role. Product owner, developer, designer, DevOps. All in one.
Not bad for a side project that started because I was annoyed by a spreadsheet.
The 5-9: Money, Failures, and Lessons
The Win: AI Agents List
My first real revenue from side projects came from a directory.
$39. One customer paying for agent promotion.
I know. Not exactly retirement money. But that $39 hit different than any paycheck Iāve ever received.
By year end, the project generated over $1K. Not life-changing. But proof that I can build something people will pay for.
How it works: User submits an agent URL. Thatās it. The rest is automated.
My system scrapes the website. Runs it through a workflow with up to 20 LLM calls. Different prompts for different tasks. Generates all listing content automatically. Categories. Tags. Embeddings. Everything.
V1 was an ugly MVP. V2 got a complete redesign after I saw real traction. I like building UIs. Sue me.
Acquisition: Pure SEO. Organic traffic. No paid ads. No cold outreach. Just content and patience.
Why this worked when other projects failed: Validated demand. People are searching for AI agents. I built where the attention already was.
The Failures: PenPrism and WatchRival
Letās talk about the projects I killed.
PenPrism was a SaaS for creating opinion-based blog articles. It asked users questions to challenge their perspective. Then generated articles from their answers.
Cool idea. Made less than $50. Abandoned.
WatchRival was a website monitoring tool. Scheduled scrapes. AI-powered insights when changes were detected. Personalized for each user.
Technically complete. Fully functional. Never truly launched.
Hereās the embarrassing truth: I never marketed either of them.
Not āmarketing didnāt work.ā I literally never tried. I felt resistance and avoided it completely.
I built products without knowing who would buy them. Where to find them. How to convince them.
Classic developer brain. āIf I build it, they will come.ā
They donāt come. You have to go get them.
The Current Focus: LucidCode
After failing twice at the same thing, I tried something different.
Before writing code, I asked myself: Who is this for? Where do they hang out? How will I reach them?
The answer became LucidCode.
The problem: Semi-technical people try āvibecodingā and end up with an unfixable mess after a few hours.
Iāve seen it with coworkers. They have ideas. They can kind of code. They fire up Cursor or Claude Code. Three hours later, they have spaghetti that even AI canāt untangle.
Theyāre missing structure.
The solution: LucidCode helps you create proper specifications before you touch any coding tool. Structure your idea. List features. Narrow the scope. Get a clear plan.
Then feed that plan to your AI coding tool. It stays on track. Doesnāt derail. Actually builds what you wanted.
Itās not a coding tool. Itās a tool that makes coding tools work better.
Status: MVP built in a few evenings. Launched December 2025. First signups and trials are in. Conversion looks promising.
2026 plan: Blog content for SEO. Building in public on X. Maybe YouTube.
Iām done building in silence. Time to learn the other half of the equation.
The AGI Moment
I need to talk about Opus 4.5.
Iāve been a Claude subscriber since July 2024. Started 2025 using Cursor daily. LLMs were writing more of my code each month.
Mid-year, Claude Code dropped. I switched immediately. The context limits were magnitudes better than Cursor.
Then November happened.
I upgraded to Claude Max. Tried Opus 4.5.
That was my āAGI moment.ā
Hereās the difference:
With Sonnet, I had to craft precise prompts. Point to specific files. Include the right context. Get a solution that mostly worked. Iterate once or twice to fix edge cases.
With Opus 4.5, I type āmake X and make no mistakes.ā
Press enter. Drink coffee. Come back.
Everything works. Covers edge cases I didnāt even think of. Better than what I would have written myself.
Iām not exaggerating. This is my actual workflow now.
Two days before writing this, I cancelled my Cursor subscription. Donāt need it anymore. The only models I use are Anthropicās, and my Claude subscription covers everything.
My Identity as a Developer Changed
This is the part that might upset some people.
If AI writes 100% of my code, what exactly is my job?
Iāve thought about this a lot. Hereās my answer:
Iām not a code writer anymore. Iām a decision maker.
My job in 2025 became:
- Thinking about products
- Thinking about outcomes
- Predicting consequences
- Understanding all roles on the team
- Asking the right questions
The actual typing of code? Thatās the easy part now.
The hard part is knowing what to build. Why to build it. How it fits together. What could go wrong.
Critical thinking beats coding speed. Every time.
I work in what I call āspec-driven developmentā now. Most of my time goes into writing and updating Markdown specifications. Those specs become prompts. Claude Code does the rest.
Fewer barriers between disciplines. Frontend, backend, DevOpsāitās all accessible now. The bottleneck moved from ācan I build thisā to āshould I build this.ā
Skills I Actually Learned
Not everything was AI-assisted vibes.
Backend and databases: Iām now comfortable building APIs. Several are in production. Node, Express, Bun, Hono, Postgresāpick your stack, I can ship it.
I made plenty of mistakes along the way. Mostly around database design. Relations that didnāt make sense. Migrations that broke things. The classic stuff.
No specific horror stories. Just the normal pain of learning by doing.
DevOps: Basic but functional. I can set up a secure VPS. Configure Docker. Handle DNS. Set up Traefik as a reverse proxy. Manage resources. Lock down security. CDN setup. Enough to deploy my own apps without calling for help.
AI/LLM deep knowledge: Completed the AI_devs course (third edition). My second time taking it. Immediately applied everything to my side projects.
Python: Started learning. Abandoned it.
Controversial take: I donāt need Python.
The TypeScript ecosystem handles everything I do. Web apps. LLM integrations. Backend APIs. Iām more efficient staying in one language.
Python isnāt bad. Itās just not for me.
The Playground Projects
Sometimes you build stuff just to see if you can.
- Claude Code Clone: CLI coding agent with AI SDK and Bun. Wanted to understand how it works under the hood.
- AI Playground: Generative UI experiments. Complex RAG with hybrid search and BM25. Knowledge building.
- Perplexity Clone: Simple search engine. Good learning exercise.
- MCP Server: Connected LLMs to my TickTick task manager. Useful daily.
- Web Scraping Deep Dive: Learned this while building WatchRival. At least the failed project taught me something.
- Blog Rebuild #5: Now in Astro. I rebuild my blog yearly because I like experimenting with UI. No shame.
What Iām Taking Into 2026
Naval Ravikant said:
Learn to sell. Learn to build. If you can do both, you will be unstoppable.
I can build. That part is solved.
Selling is whatās left.
2026 focus:
- Marketing and sales for side projects. No more building in silence.
- LucidCode development and distribution.
- Backend and system design skills at the 9-5.
- Higher-level software thinking. More complex AI-assisted solutions.
The lesson Iād give to anyone a year behind me:
You learn by doing. Not by thinking. Not by reading.
Even if you read something and think you understand it, you donāt. Not really. You have to do the thing. Fail at the thing. Then you learn.
2025 taught me that shipping beats perfection. Revenue beats vanity metrics. And asking āwho will buy thisā should come before āwhat should I build.ā
Now letās see what 2026 brings.
Thanks for reading. If you want to follow along with my 2026 journey, find me on X.