The Making of WEEWEELU
A story of vibe coding, hitting the wall and eventual success.

With the availability of LLMs and coding agents, I wanted to know how far vibe coding could get me.
I didn't have a grand plan. I just needed an idea to test the waters. Building a baby tracking app was the first thing that came to mind because my wife and I were already planning for a second child. I remembered that the last free app we used was cluttered, difficult to navigate and had missing features.
I am a software engineer with more than a decade of experience but at that time, I wasn't committed to actually shipping this project. I just wanted to see what the coding agents could do.
Phase 1: The "Vibe Check" (And Failure)
I fired up Firebase Studio and v0.dev (now v0.app) and let the AI build the initial structure. They did a decent job for a prototype. They picked frameworks I had no clue about, implemented basic navigation and got it deployable on Vercel.
But the "vibe" didn't last.
I had no real product design, so I had no idea what I really wanted. I was just iterating on the fly. Telling the AI to add new features without breaking old ones became an exercise in pure frustration.
As a platform and backend engineer, styling and layout have always been a struggle. I relied on AI to handle the frontend work but it became chaotic as the codebase grew. I would ask an agent to move a button, and it would rewrite the entire component hierarchy. Worse, the agents had a habit of introducing redundant code during refactors. The codebase got messy. The agents weren't cleaning up after themselves. I eventually reached a breaking point and abandoned the project after a two-week trial.
Phase 2: The Deadline (March 2026)
A month later, reality hit. It was confirmed that our second child will arrive in March 2026.
That changed everything. The pressure was on. I didn't want to deal with a baby tracking app trying to sell me anything while I was sleep-deprived at 3 AM. So, instead of paying a few dollars for a premium subscription to remove ads, I chose the only logical engineering path: spending countless hours and money building my own.
I am a full-time software engineer and a father to a 3-year-old. I have exactly zero free time. The only way this was going to happen was if I delegated the heavy frontend lifting to coding agents.
Enter Jules
When I picked up the project again, Google had just released the task-based Jules platform, powered by Gemini 2.5. This was a game-changer. Not only were the results better but it also allowed me to ask the AI to implement multiple changes in parallel just from my phone. On weekends, while out with my family, I could casually ask the agent to implement a feature and approve it. Merging 4-5 pull requests while sitting in the MRT became quite common.
However, pure "vibe coding" didn't work anymore the more the app matured. Most of the time I was reviewing merged PRs at the end of the day, especially when I got a hunch that it would break existing features.
While I merged a lot of AI written code, I also performed a healthy number of reverts. For features requiring architectural changes, I learned that I had to stop "vibe coding" and wait until I was safely in front of my laptop. So from time to time, I had to pause feature development and refactor the codebase myself before letting the AI touch it again. This actually forced me to learn the frameworks the AI had chosen for me.
The Big Guns: ChatGPT/Codex & Antigravity/Gemini 3.0
The real turning point arrived with a one-month ChatGPT Plus trial, unlocking Codex and GPT-4.5. Codex was a beast. Feature development became incredibly smooth, and it resolved navigation bugs and page refresh issues—problems I definitely wouldn't have fixed in this lifetime. I shipped a ton of features, making it hands down the most productive month of the project.
Just as that trial ended, Google released the Antigravity IDE with Gemini 3.0. I jumped on that trial, and the productivity boost was comparable—allowing me to polish the web app to a state I'm truly happy with. My only complaint? The lack of a web-based version makes "hobby coding" impossible when I'm away from my laptop.
I need an interactive Zen Koi Pond!
The project has matured to a point where I review every change, but I’ve adopted a strategy of "Selective Ignorance". I rigorously review for security, logic and architecture. But styling? Layout? I leave that entirely to the AI. That’s where my knowledge gap lies, and I’m perfectly happy to keep it there.
A perfect example is the Zen Koi Pond tucked away in the menu. Yes, a fish pond in a baby tracking app. My 3-year-old is obsessed with it, and frankly, so am I—it’s a surprisingly peaceful escape.
I didn't spend time reviewing the code that makes the fish swim, merely checking that it didn't crash the app and looked good. The only intervention was to ensure the integration didn't break the menu structure.

Conclusion
Given the intense competition among coding agents, I plan to evaluate my subscriptions month-to-month. I’ll admit I’m guilty of overengineering—it’s just too easy to ask the AI for a fish pond and actually get one. Watching the app mature so quickly is incredibly satisfying. Frontend development without the usual CSS headaches is finally fun ;). I haven’t coded this much in my free time in years.
WEEWEELU stats:

- Total commits: 1601
- Total merged PRs: 343
- Total reverted commits: 51
- Total lines of code: 34k