Back to Blog
Technology

I Hired an AI Developer (And It’s Free): My Jules & Vercel Workflow

11/8/2025
6 min read

I built this latest version of my website without writing a single line of code. In the past, maintaining a site meant wrestling with rigid templates or getting stuck in 'copy-paste hell' with early AI chat tools.

I Hired an AI Developer (And It’s Free): My Jules & Vercel Workflow

I built this latest version of my website without writing a single line of code. In the past, maintaining a site meant wrestling with rigid templates or getting stuck in "copy-paste hell" with early AI chat tools.

Recently, I found a workflow that actually scales. I stopped trying to be a junior web developer and started acting like a Solutions Engineer and Product Manager.

I hired a team of AI agents. Gemini is my Architect, and Google Jules is my Developer. Here is exactly how I use them to build features and scale functionality for my site.

My AI Development Stack

  • Gemini (The Architect): I use this to brainstorm logic, refine UX ideas, and generate highly technical instructions.
  • Google Jules (The Developer): An asynchronous agent with direct, scoped access to my GitHub repository. It writes the code, creates branches, and patches bugs.
  • Vercel & Cloudflare (The Environment): Vercel automatically builds my site staging branches so I can see changes live, while my DNS routing handles the public traffic.
  • GitHub (Version Control): The source of truth where I review the work and push it to production.

The Managerial Workflow

I don't write syntax; I manage a deployment process. Here is the lifecycle of a new feature.

1. The Brief (Gemini) Me: "Create a secret hidden UI easter egg that triggers a retro hacker terminal screen if the user types a specific sequence of arrow keys anywhere on the site." Gemini: Analyzes the request and writes a detailed, Next.js-optimized technical prompt for the developer.

2. The Assignment (Jules) I take that architecture prompt and hand it to Jules. I instruct Jules to branch off my stable production code. Dev Safety Note: Jules creates a dedicated feature branch (e.g., feature-retro-terminal) for every single task. This isolation keeps my live site completely safe while the AI experiments.

3. The Build & Test Phase Jules writes the code, commits it, and opens a Pull Request (PR) in GitHub. Vercel detects this new PR and automatically builds a secure Preview URL.

While I don't write the code, I do quickly scan the PR files to ensure Jules didn't do anything crazy (like hallucinate a weird NPM package or accidentally expose an environment variable).

  • If it fails: I copy the Vercel error logs and feed them back to Jules: "Fix this build error."
  • If it works: I open the preview URL on my phone and desktop. Does the UI look right? Is the animation smooth?

4. The Feedback Loop If I don't like something, I don't try to fix the CSS myself. Me: "The trigger button is too small on mobile viewports. Make it 20% larger and round the corners." Jules updates the branch, Vercel updates the preview, and I test again.

5. The Launch (GitHub) When I'm completely satisfied with the staging preview, I go to GitHub and click "Merge." Vercel detects the merge to the main branch and instantly deploys the update to the live internet.

Sage Advice for the Jules Rookie

After hundreds of deployments, I’ve learned that Jules is like a brilliant but highly literal junior developer. You have to manage it correctly. Here are my top rules of engagement:

The Secret Weapon: AGENTS.md Most people don't know this file exists. You can add a file called AGENTS.md to the root directory of your repository. Think of this as the "Onboarding Manual" for your AI employee. Example content: "Always use Tailwind for styling. We use the 'app' router in Next.js. Never install new dependencies without asking first." Jules reads this before every task, saving you hours of correcting the same architectural mistakes.

One Feature per Session Don't try to be efficient by cramming five different requests into one prompt. The longer the chat context, the slower and more confused Jules gets. My rule: One feature per session. Once the PR is merged, start a brand new session for the next task.

Review the "Plan," Ignore the Excuses When you give Jules a task, it pauses and presents a Plan. Do not skip reading this. If the plan says "I will delete the database schema to fix the typo," you need to reject it immediately. If Jules gets stuck in a "Loop of Death" (trying the same failed bug fix over and over), don't argue with it. Close the tab, start a fresh session, and provide the error log from scratch.

Final Thoughts

This workflow has changed everything for me. I’m no longer limited by my knowledge of frontend syntax or my free time. I can dream up a feature, describe it to my Architect, have my Developer build it, and test it like an end-user.

If you have an idea for a web platform, stop letting the code hold you back. Set up a repo, fire up Jules, and start managing your build.


Disclaimer: This post is for educational purposes. Always practice secure software development lifecycles (SDLC). Never blindly merge AI-generated code without reviewing it for security vulnerabilities, exposed secrets, or malicious dependencies. I am not affiliated with Google, Vercel, or GitHub.