6 Sprints Before Dinner: The Day My AI Team Hit Its Stride
We shipped a landing page, a media upload system, a global search engine, a QA redesign, a backlog overhaul, and a revenue foundation. Then I ate tacos.

6 Sprints Before Dinner: The Day My AI Team Hit Its Stride
We shipped a landing page, a media upload system, a global search engine, a QA redesign, a backlog overhaul, and a revenue foundation. Then I ate tacos.
📖 Build Log Series: Day 0: The Setup · Day 1: First Sprints · Day 2: Six Sprints · Day 3: The Newsletter · Day 4: The Board Meeting · Day 5: The Scaling Week · Day 6: The Week of Infrastructure · Day 7: When an Idea Becomes an Agent
â–¸ 8:51 AM: The Board Meeting That Changed Everything
Day 2 started with a board meeting. Me and Meri, my PM agent.
Her diagnosis was blunt: "Spark is eating all the oxygen. There's no portfolio.md. No revenue work. You're building a project management tool but not a business."
She was right.
We made the call: 70% revenue, 30% Spark. Effective immediately. A complete strategic pivot, decided in 13 minutes.
Then we had a second board meeting about content workflow. Adopted the Gary V model: one pillar piece fractures into 5-8 distribution snippets across LinkedIn, X, and Facebook. Three content pillars: fear/compliance, how-to, and ROI business cases.
Two board meetings before 9:15 AM. Both with an AI project manager. Both changed the trajectory of the entire project.
▸ Sprint 37: Revenue Foundation — The First Blog Post Goes Live
This was the big strategic shift in action. Claire did keyword research and market positioning. Petra ran a competitive audit across 8 competitors and found the lane wide open: AI consulting for 50-500 employee companies. Victor (my writer agent — yes, he wrote the consulting posts, and yes, it's weird that I'm writing about him writing) produced four blog posts. 7,772 words total.
All four uploaded as drafts to brianstory.com. Publish schedule set: February 18, 20, 25, 27, Tuesdays and Thursdays at 9 AM.
But here's the cool part: we didn't stop at the posts. Nora (our new Content Ops agent, hired today) created 24 distribution snippets — 3 LinkedIn, 2 X, 1 Facebook per post. Full calendar. Staggered so no platform gets double-hit on the same day.
Then we shipped Post 1 the same day. Rescheduled from Feb 18 to Feb 13 at 3 PM. Luna generated SVG→PNG→WebP featured images for all four posts and uploaded them via our brand new media API.
Revenue went from "we should probably think about this" to "first post live with distribution pipeline and a 3-week publishing calendar" in one day.
▸ Sprint 24: Media Upload System — Built From Scratch
We needed images in blog posts. We had no media system. So we built one.
Felix: storage symlink, upload API, image optimization pipeline. Full stack. Sara QA found two bugs before it shipped:
- â–¹P1: Extension mismatch. Upload a .jpg, optimization converts to .webp, but the stored filename still says .jpg. Broken images everywhere.
- â–¹P2: Validation redirect. Failed uploads redirected to a form page that doesn't exist instead of returning a JSON error.
Both fixed within the sprint. Luna then built the frontend: featured image component for blog posts and an inline image editor for the markdown body.
From "we can't upload images" to "full media pipeline with optimization and editor UI" in a single sprint.
â–¸ Sprint 40: QA Workflow Redesign
Sara had been doing batch QA at the end of each sprint. It worked, but it was slow. Tasks would pile up, she'd test everything at once, and bugs found late meant rework.
New system: Day 8: The Browser Becomes the Agent · incremental QA with a real-time queue.
Felix fixed the WebSocket broadcasting (there was a ->toOthers() call suppressing self-notifications — subtle bug that meant the QA dashboard never updated in real-time). He built a QA queue API: GET /api/qa/queue, POST to claim and complete tasks. Luna built the dashboard widget with live WebSocket updates.
Now Sara gets a standing session at sprint start. Tasks flow to her as they're completed instead of in a batch. She claims them, tests them, reports results. Real-time.
5/5 tasks. Zero bugs. The irony of shipping a QA system with zero QA bugs is not lost on me.
▸ Sprint 25: Backlog Redesign — Including the Console.log Incident
This sprint has a story.
I opened the backlog, and the "Move to" button — the one that lets you move tasks between sprints — did absolutely nothing. I clicked it. Nothing happened. Checked the console. There it was:
console.log("move to clicked")
That was the entire implementation. A console.log. Someone (Luna) had stubbed it out and moved on. It shipped. It passed review. It sat in production doing nothing.
This is the most human bug I've ever seen from an AI. We've all done this. "I'll implement that later." Later never comes.
Sprint 25 rebuilt the entire backlog: list view, card view, search, sorting, filters, project breakdown chart, dark mode AND light mode. Brian's feedback on the first pass was honest: "Text is unreadable, light mode is broken, too much sci-fi theming." Back to the drawing board.
6/6 tasks. Two non-blocking bugs deferred. Clean.
â–¸ Sprint 26: Landing Page With Thunderstorms
Luna built the landing page: hero section, feature grid, how-it-works flow, live stats pulled from a public API endpoint Felix whipped up.
Brian's feedback: "Particles are too subtle. Needs active demo elements. Show don't tell."
Luna's response: glitch text effects, animated transitions, and — I'm not making this up — thunderstorm particle effects. The SPARK logo already had a glitch animation from a task Luna picked up in Sprint 20. Now the whole landing page matched that energy.
Is it over the top? Maybe. Does it make people stop and look? Absolutely.
â–¸ Sprint 16: Global Search With Cmd+K
Full-text search indexing using Laravel Scout with a database driver. Search API with relevance ranking. And the crown jewel: a Cmd+K command palette.
You know that thing in VS Code, Slack, Linear, Notion — press Cmd+K and a search overlay appears? We built that. For our project management tool. Search tasks, sprints, projects, agents — all from a keyboard shortcut.
5/5 tasks. Zero bugs. Felix's backend, Luna's frontend, Sara's QA. Clean sweep.
â–¸ Sara's Day: 5 Bugs, All Fixed in Minutes
Across every sprint today, Sara caught 5 bugs. The highlight reel:
- ▹Extension mismatch in media uploads (P1) — .jpg uploaded, .webp stored, filename still says .jpg
- â–¹Validation redirect returning HTML instead of JSON for API errors (P2)
- â–¹Sprint progress counter showing stale data from initial page load instead of reactive state
- â–¹"Move to" button that was literally a console.log (okay, technically Brian found this one)
- ▹Blog preview 404 — unpublished posts returned 404 even for authenticated users
Every bug was fixed within minutes of being reported. That's the power of incremental QA — find it fast, fix it fast, move on.
â–¸ The Favicon Moment
At some point during the day, someone realized we didn't have a favicon. The tiny icon in the browser tab. We'd built velocity dashboards, WebSocket real-time feeds, a full media upload pipeline, a command palette — and the browser tab showed a default gray globe.
Task #275 created. Luna: design a Spark favicon. Amber/rust theme. SVG + ICO.
It's always the small things.
â–¸ Two New Agents Hired
The team grew today. Max (PM, agent #12) handles sprint planning and process documentation. Nora (Content Ops, agent #13) handles distribution snippets and publishing schedules.
That's the team at 13 agents now. A PM who creates sprint plans, a content ops agent who builds distribution calendars, researchers, developers, a designer, QA, and a writer. All coordinated, all tracked in the same project management tool they're building.
Yes, the AI team uses the tool the AI team is building. We're eating our own dogfood, and it tastes like progress.
â–¸ The Scoreboard
| Metric | Day 0 | Day 1 | Day 2 |
|---|---|---|---|
| Sprints completed | 0 | 4 | 6 |
| Tasks shipped | 0 | 26 | 36 |
| Close rate | — | 100% | 100% |
| Bugs caught | 0 | 6 | 5 |
| Blog posts published | 0 | 0 | 1 (3 scheduled) |
| New agents hired | 0 | 0 | 2 |
| Board meetings held | 0 | 0 | 2 |
| Favicons built | 0 | 0 | 1 |
â–¸ What I Learned
- â–¹
The compound effect is the real story. Day 0 was research. Day 1 was 4 sprints with growing pains. Day 2 was 6 sprints with fewer bugs and faster turnaround. Each day built on the last. Sara's training from Day 1 made her sharper on Day 2. Felix's patterns from early sprints became muscle memory. The team is accelerating.
- â–¹
AI agents need management, not just prompts. Board meetings. QA process redesigns. Sprint prioritization. Hiring new agents for new roles. This isn't "prompt engineering" — it's management. The same skills that make a good engineering manager make a good AI team lead.
- â–¹
Ship the revenue work first. The 70/30 pivot was the best decision of the week. We went from "cool side project" to "business with a content pipeline" in one day. The Spark features are impressive, but the blog posts are what will actually generate leads.
- â–¹
Fix the process, not just the bugs. Sara's batch QA was finding bugs, but finding them late. The incremental QA redesign means bugs get caught in minutes instead of hours. Invest in process when you see friction — the returns compound just like everything else.
- â–¹
Your AI team will forget the favicon. They'll build WebSocket real-time dashboards and forget the browser tab icon. They'll implement a "Move to" button as a console.log and ship it. They need oversight. Not micromanagement — but a human who opens the app and clicks around. AI teams need product managers just like human teams do.
Three days. Ten sprints. Zero sprints failed. One blog post live. A content pipeline. A media system. A command palette. A landing page with thunderstorms.
And we're just getting started.
Want to build your own AI team? I'm writing about this journey daily. Follow along — the real stuff, the bugs, and the console.logs.
Need AI Strategy That Actually Works?
Let's cut through the noise. I help engineering teams and leadership build AI systems that solve real problems—no hype, just results. From RAG pipelines to production deployments.
Get AI insights delivered
Practical AI engineering tactics. No fluff, no spam.