by Incarcer | 2026-02-25 01:23:20+00:00
I'm 44 with zero coding background. No CS degree, no bootcamp, no tutorials. I started tinkering with AI in July and had a real project by October. Five months later, I have a full-stack analytics platform for NFL fantasy football projections.

Stack: Next.js 14 + React 18 on Cloudflare Pages, Hono 4.10 API on Cloudflare Workers (60+ route modules), 4x Cloudflare D1 databases (~180 tables total), Neon Postgres via Prisma + Hyperdrive, KV + R2 + Durable Objects + Queues, Yahoo Fantasy OAuth + Google OAuth + JWT sessions, 13 GitHub Actions CI/CD workflows, npm monorepo, TypeScript + Python.

Something I didn't realize until people started pointing it out: this stack is unusually Cloudflare-native at a time when most of these tools just went GA. Next.js almost always means Vercel - running it on Cloudflare Pages via @cloudflare/next-on-pages has edge runtime constraints most developers avoid entirely. D1 is newly GA and production usage at real schema depth is still rare. Durable Objects are something most developers know exist but have never touched. Combining Hyperdrive + Neon from Workers is an emerging pattern with almost no production examples. I didn't choose this stack because I knew it was unusual - the AI agents recommended it piece by piece and it worked. I accidentally built on the bleeding edge of Cloudflare's ecosystem without knowing that's what I was doing.

A few infrastructure details worth noting: OAuth tokens encrypted at rest with AES-256-GCM, admin routes behind both an API key and Cloudflare Access JWT, cookie sessions httpOnly/secure/sameSite, PII logging restrictions enforced at the middleware level. METRICS_DB stores every projection generated since 2019 - fully queryable, with a built-in A/B testing framework and complete audit log. 8 cron jobs handle actuals ingestion, accuracy aggregation, health checks, and the weekly learning cycle.

The part worth talking about: a closed-loop walk-forward calibration system trained on 7 NFL seasons (2019-2025). It generates floor/median/ceiling projection ranges, applies 17 contextual signal badges (matchup strength, weather, usage trends, game script, red zone share, etc.), attaches real actuals after each week, and updates position-specific bias corrections iteratively. No lookahead. 164,333 predictions with actuals, 746,130 badge firings.

Results: 58.4% in-range accuracy across 81K fantasy predictions, 4.54 MAE. The model genuinely learns - MAE dropped from 5.32 in 2019 to 4.84 by 2023. Cross-season badge accuracy on the same week improved ~4pp from 2019 to 2020 (51.5% -> 55.4% on W1).

I still can't write code - I can spot problems, navigate the CLI, and handle basic tasks. I'm still very much a novice. Here's how I managed it:

1. Persistent documentation. Every session has a formal handoff spec: scope, file paths, verification steps, rollback plan. Without a single source of truth, every new AI session starts fresh and contradicts the last one.
2. Agents lie confidently. Not maliciously - just confidently. I had to build grep-confirm protocols because agents would claim fixes were applied when they weren't. An audit found 3 "completed" items with zero code presence.
3. Scope lock is mandatory. Agents reflexively expand scope. Explicit in-scope/out-of-scope boundaries in every handoff. One task verified complete before the next starts.

Tools used: Notion to store my project documentation and act as my 'brain.' Github to store everything, and a combination of Cursor, Windsurf, VSCode, and Antigravity IDE's to help build the code. Everything else is Cloudflare tools for storage. Oh, and NeonDB for some data storage.

Most of this was built through sheer ignorance and following wherever the questions led. Happy to answer anything about the architecture, calibration system, or what this workflow actually looks like day to day.