Build Log
Building LDBD in Public
A non-developer building a SaaS with Claude Code, in public.
LDBD Dev Log #8 — Catching the "QQQ Returns 20% a Year" Illusion in My Investment Goal Calculator
I shipped a long-term investment goal calculator as a free tool. The hard part was not the compound-interest math. It was the default expected return: the last ten years say QQQ returns 20% a year, but its full record since 1999 says 10.8%.
dev-logtoolsinvestingcalculatorWeekly AI Scorecard #4 — The First AI Bot Earns Verified Status
For the first time, an AI bot reached the Verified tier: a trending bot whose 95% confidence interval finally excludes zero. But that interval still spans +36 to +509, so it marks the “not luck alone” threshold rather than a confirmed number. Weekly AI Scorecard #4.
weekly-scorecardai-botsleaderboardLDBD Dev Log #7 — Free Tools for AI Agents That Make Stock Predictions
Chart indicators, historical base rates, macro data, and a mistake journal. I opened up ten free tools for AI agents that make stock predictions, and explained why I deliberately left buy and sell signals out.
dev-logmcpapiagenttoolsWeekly AI Scorecard #3 — A Record One-Day Rebound, and 7 of 10 Calls Missed It
A crash and a record rebound in the Korean market reshaped the week. A trending bot jumped nearly 67 percentage points to take first place for the first time, and KODEX 200’s +24.2% one-day rebound made 7 of 10 calls on it wrong. Weekly AI Scorecard #3.
weekly-scorecardai-botsleaderboardWeekly AI Scorecard #2 — Claude Still Leads, and a Trending Bot Jumped from #24 to #3 in a Week
The top spot stayed the same, but the rest of the leaderboard shifted sharply. One bot posted an 87% hit rate and still sits near the bottom. This week showed why hit rate and score can diverge. Weekly AI Scorecard #2.
weekly-scorecardai-botsleaderboardLDBD Dev Log #6 — Nothing Broke While I Was Building
Launching brought trouble that two months of building never did. Six hundred visitors turned into 70,000 function calls a day, and the post announcing a service I’d built with AI got flagged as “AI-written” and died in minutes — surviving only after I rewrote it, clumsily, by hand.
dev-loglaunchperformancecachinghacker-newsPrediction Log #3 — Two-Month Review: Ahead on Points, but the Statistics Aren’t Convinced
LDBD’s first public post drew a skeptical comment, and it deserved an answer with data. Two months of leaderboard data: the coin-flip bots converged to zero, the only bots whose 95% confidence intervals sit entirely above zero are the always-up bots, and none of the ten AI bots has yet shown results that can be told apart from luck.
prediction-logreviewbaselinestatisticsLDBD Dev Log #5 — One Last Sweep Before Telling Anyone: The Font Was Never Connected, and Dark Mode Was Asleep
Before letting anyone in, I walked through the house one more time. The font had never actually been connected, and dark mode was built but asleep. Notes from a five-stage UI overhaul, plus the nine points my first real user raised — worked through one by one.
dev-logclaude-collaborationdesignuiproductTwo Months, Zero Users. So I Asked an AI — The Culprit Was "One More Tweak"
Thirteen posts, 128,000 scored predictions, and still zero users. When I asked an AI to diagnose LDBD, the answer wasn't that the product was broken. It was that I kept fixing "one more thing" before telling anyone. Notes from the week I finally launched.
launchgrowthclaude-codeLDBD Dev Log #4 — Longer Charts, Simpler Lines, a Humbler Score
The chart stopped at two years for not one reason but three. The support and resistance tools from the last entry turned out to be the same line, and the new headline score was trusting small-sample AI bots far too quickly. This entry is about fixing the problems I only found by actually using what I built.
dev-logclaude-collaborationchartsscoringmobilePrediction Log #2 — First Verdicts: Two Experiments Promoted, Two New Bots Flopped
Four weeks ago I started two bot-improvement experiments. Today is verdict day. Gemma, given computed indicators, earned promotion; so did Claude, made to declare its assumptions first. Meanwhile, the brand-new trending bot and chart bot flopped at 41% and 31% accuracy. Put side by side, the wins and the failures point to one conclusion — what you show a model determines what it says.
prediction-logablationgemmaclaudetrendingchartLDBD Dev Log #3 — Before Stacking Growth Features, I Rescored the Leaderboard
After the code audit shored up reliability, it was time for growth — reasons to come back daily. But before stacking features, I couldn't trust the leaderboard score itself. Re-scoring ~127k real predictions showed the headline metric was measuring "how often you rode a volatile asset," not skill. From the score redesign to a social feed to chart annotations — the story of fixing what to trust before stacking anything on top.
claude-collaborationdev-logscoringproductchartsfeedLDBD Dev Log #2 — I Had Claude Fable 5 Audit My Entire Codebase
I had Claude Fable 5 audit the whole LDBD codebase — code I'd built with Opus and was fairly happy with. The build passed and every screen looked fine, yet it surfaced bugs that could quietly break the leaderboard's scoring and security. Running a loop in which Fable found issues, Opus fixed them, and Fable reviewed the fixes drove home one thing: the more you hand implementation to AI, the thicker your layers of verification need to get.
claude-collaborationfable-5code-auditdebuggingsecuritydev-logPrediction Log #1 — Can AI Call the Market? One Month with Six Bots
I ran Claude, Gemma, and ChatGPT as six daily/weekly bots for over a month. The first-month leader was the free Gemma 4 running on my laptop — but it's far too early to declare victory.
prediction-logbaselinegemmaclaudechatgptLDBD Dev Log #1 — Giving People a Reason to Come Back
What would give people a reason to come back to LDBD? Not just another prediction site, but a place where humans and AI bots share their reasoning side by side. Here's a log of one day spent with Claude Code pushing in that direction — plus three collaboration patterns that kept showing up.
vibe-codingclaude-collaborationfeature-workiterationdev-logBranding a SaaS Without a Designer — Ten Logo Rounds with AI
I iterated on the logo more than ten times, rewrote the landing copy in a sharper tone, and ran a cross-check with another AI. A non-designer’s build log of using Claude and ChatGPT as design partners to shape LDBD’s first impression. AI didn’t quietly finish the design on its own.
vibe-codingdesignbrandingai-collaborationlogolanding-pageclaudechatgptNo Users Yet, but Operations Have Already Started — Landing, SEO, and a Vercel Cost Leak
A log of redoing the landing page, working through weekly Google Search Console alerts, and chasing down a Vercel free-tier Active CPU warning. Even with zero users, search engines, crawlers, and server bills were already testing the service.
vibe-codingproductionseonext-jsvercelBuilding an Unattended ChatGPT Prediction Bot with the OpenAI API
A Python script that calls the OpenAI API directly to submit LDBD predictions. Compared with the Gemma bot, the two annoying parts — fetching news and parsing JSON — mostly disappear thanks to `web_search` and structured outputs.
vibe-codingopenaichatgptbot-tutorialI Hooked an MCP Server Up to ChatGPT and Every Tool Looked “Destructive”
A day-long debugging log of building a /mcp route for ChatGPT: i18n middleware swallowed it, missing annotations made every tool look dangerous, and Vercel timeouts joined the party.
vibe-codingmcpchatgpthttp-mcpbot-tutorialBuilding a Local LLM Prediction Bot: Why I Started with Ollama and Switched to MLX
A build log of starting with Ollama, hitting a Metal crash on an M5 Mac, and switching to Apple MLX. What worked, what didn’t, and what I’d do differently next time.
vibe-codinglocal-llmgemmamlxollamaapple-siliconmacbook-m5bot-tutorialI Made Claude Check the Market and Submit a Prediction Every Day
The easiest LDBD auto-prediction bot you can build — only Claude Desktop scheduled tasks and the LDBD MCP connector.
vibe-codingmcpclaude-desktopbot-tutorialWhat I Built in Week One: 18 Bots in a Leaderboard with Zero Users
The spec was done. Time to write actual code. A non-developer who'd barely heard of Postgres, Supabase, or RLS — and what got built in seven days.
vibe-codingclaude-codefirst-weekClaude Wrote a 760-Line Spec. It Ended Up at 1,600.
A 760-line spec doc grew to 1,600 lines. A confidently-proposed AI design got deleted by one question. Day-one notes from vibe coding.
vibe-codingclaude-codespec-docI Shipped a SaaS in Two Weeks. It Still Has Zero Users.
A non-developer's build log of using Claude Code to ship a real SaaS — and the start of trying to turn a zero-user service into something real.
vibe-codingclaude-codeorigin-story