Transitioning to Agent-Based Development
Building JupiterGoals has been an incredible journey of learning, adapting, and finding ways to move faster without sacrificing quality. Today, I want to share a major shift in how we write code: transitioning from traditional hand-coding to agent-based development.
The Need for Speed and Best Practices
When you’re building a product solo or with a very lean team, time is your most precious resource. Early on, I realized that writing every single line of boilerplate and configuration by hand was slowing me down. We needed a way to accelerate our output while still adhering to industry best practices.
Agent-based development changed everything. Instead of just using AI as a glorified autocomplete, we shifted to delegating entire features, refactors, and architectural setups to AI agents. These agents can research our codebase, plan changes, and write the code - allowing me to focus on the core product vision and user experience, specifically our commitment to a privacy-first architecture with anonymized AI telemetry. It’s like having a tireless pair-programming partner who already knows all the best practices.
Leveraging Antigravity CLI for $0
One of our core goals has been to keep our AI costs at $0 while we bootstrap. To facilitate this agentic workflow, I started using the Antigravity CLI.
The best part? It completely aligns with our zero-cost budget. I got a Gemini Advanced Pro subscription when I purchased my Pixel phone, and Antigravity CLI allows me to utilize this subscription seamlessly. I am able to run complex agent workflows powered by Gemini right from my terminal.
To supplement this and stretch my zero-cost setup even further, I also set up local AI workers. By upgrading to Llama 3.1 with AWQ Marlin quantization, I was able to utilize my local GPU to handle significant context windows for specific data processing tasks - completely offloading work that would otherwise eat into my cloud API quotas.
Understanding the Limits
While the limits are incredibly generous for Gemini, there are a few boundaries to keep in mind when using the Pro subscription with Antigravity CLI:
- Weekly Limits (Gemini): There is a generous weekly quota on the number of complex requests you can make. For normal daily development, I rarely hit this cap, but it’s something to be aware of during heavy sprints.
- 5-Hour Session Limits: Active chat sessions are generally bounded to 5-hour windows. This helps ensure optimal performance and context management before you need to start a fresh session.
- Claude Limits: As you can see in the screenshot below, Antigravity CLI also supports Claude models. I’ve tried using Claude as well, but the weekly limits for it are much more restrictive. We easily hit the weekly session caps when running agent-based workflows, making Gemini the clear choice for our zero-cost daily driver.

The Struggles and the Reality of Building in Public
It hasn’t all been perfect. Agent-based development requires a mindset shift. You move from being a “writer of code” to a “reviewer and orchestrator of code.” You have to learn how to write incredibly clear prompts and provide the right context.
There were definitely struggles. Sometimes the agent would go down a rabbit hole or misunderstand the architecture if I didn’t provide enough guardrails. But the learnings have been invaluable. Sharing these struggles - and how we overcame them - is our way of helping other developers who are looking to adopt this same workflow.
Next month, I’ll dive into our deeper learnings of actually using this agent-based approach. We’ll cover specific technical challenges we faced - like our struggles with Spring Modulith and async code paths when using LLMs - as well as our major takeaway on why relying heavily on Javadocs is crucial. Stay tuned!
Related Articles
Forecasting AI Agent Build Time: Using Git History and Task Graphs to Pick Your Parallel Lanes
When LLMs write most of the code, you lose the line-by-line feel for how long work takes. Here is how solo builders and technical leaders can use a task dependency graph (DAG) and git log to forecast build time and parallel lane counts across 412 finished tasks.
Read article →Scaling Loop Engineering: Running Parallel AI Clones on Trunk Without git worktree
Once a single /goal loop can build one spec autonomously, how do you run multiple specs in parallel? Here is why git worktree failed my trunk-based monorepo, and how full clones coordinate on main using atomic git push locks and file-disjoint tasks.
Read article →All your goals. One realistic plan.
JupiterGoals fits everything you're working toward into one plan sized to your day. Shrink or swap a step on hard days and keep moving.
Start freeNot ready to sign in? Get product updates by email →