| Build Log 30 Days AI · Day 3

I Tried to Build an API.
I Built Contra Instead.

Day 3 of my AI challenge: the plan was a clean public REST API. What I found was a rabbit hole of OAuth flows, cloud services, and security landmines. So I shipped something completely different — and way more fun.

Dulce Lucero · Mar 2026 · 5 min read

The original plan

For Day 3 of my 30 Days AI Challenge, I wanted to build something practical: a small public REST API. Nothing fancy — maybe something that wraps a useful dataset or exposes a few Claude-powered endpoints that other people could actually call.

It sounded perfectly sized for a one-day build. I was wrong.

What I ran into

I started scoping it out and the list of "things I'd need to sort out first" grew faster than the actual feature list:

The honest realization: building a public API correctly — not just working, but secure and production-grade — is not a one-day project. It's a one-week project minimum, and rushing it is how you end up with a security incident.

The pivot

Rather than ship something half-baked and potentially risky, I decided to do something equally technical but fully self-contained: rebuild Contra Stage 1 as a playable browser game, entirely in a single HTML file.

No server. No auth. No cloud bill. No attack surface. Just a canvas, a game loop, and Claude Code helping me think through every system from scratch.

It turned out to be one of the most fun builds I've done. Here's what ended up inside that one file:

PM lesson I keep relearning: a scoped, shipped thing is always better than an ambitious, unfinished one. The API will happen — but not in a day, and not without doing it properly.

Go play it

The game is fully playable right here. Arrow keys to move, Z or Space to jump, X to shoot. Aim up with the Up arrow. If you make it to the 3rd boss — a flying skull fortress called Crimson Omega — you'll know.

🏆 Challenge

Beat the game. Win a month of Claude Code.

If you make it all the way to the end — defeat all three bosses including Crimson Omega in Stage 3 — I'll give away one free month of Claude Code Pro to the first person who reaches out and tells me they did it.

Screenshot your win screen, then send me a message on LinkedIn or drop me an email. First one in gets it. No tricks — the game is genuinely hard, especially Stage 3.

[ LIVES: 3 · STAGE: 1 · BOSSES REMAINING: 3 · GOOD LUCK ]

← All posts 30 Days Challenge →