Nine Anthropic certifications sit in a folder on this site. Twenty-one public repos sit on GitHub, spanning Yii, Laravel, React, Django, Ruby on Rails, a handful of API scrapers, five separate Claude API applications, TypeScript, Hono, Fastify, Elixir, and Phoenix. Sixteen merged pull requests on Playful Programming, a real 501(c)(3) open source nonprofit, meaning sixteen times another maintainer looked at code I wrote, asked questions, and approved it into a codebase that isn’t mine alone. Twenty thousand job listings, read cover to cover over the last two and a half years, trying to understand, genuinely, what this market is actually asking for. Two thousand applications sent into it.
This post isn’t a complaint about that number. It’s an honest look at it, and an honest ask that follows from it.
What’s actually behind the numbers
Seven years at CalPERS, building internal workflow tools for a public pension system, the kind of engineering where correctness isn’t optional because real people’s retirements are on the other end of the code. PHP, JavaScript, MySQL, no framework doing the thinking for you, which turned out to matter later in ways I didn’t expect.
Since then: Django, Rails, Laravel, React, largely self-taught, well before any of this became something you could lean on an AI assistant to shortcut. More recently, and much faster, Elixir and Phoenix, a language with no loops, no mutation, and an entirely different mental model from anything in seven years of PHP, learned well enough in about four days to build a fault-tolerant order fulfillment pipeline with real crash recovery, tested by actually killing a live process and watching it come back. TypeScript, Hono, Drizzle, Zod, a full checkout system with real authentication, role-based permissions, a message queue running as an honest second process, not a fake one bolted onto the API.
Threaded through several of these: Claude’s API, not as a party trick, but as real infrastructure, streaming responses, structured output, tool use, understood well enough that I’ve caught its mistakes directly, more than once, in public, on this blog.
None of this lives on borrowed infrastructure, either. This site runs on my own Lightsail instance. The job application tracker I use to manage all two thousand of those applications runs on its own EC2 instance, backed by its own AWS database. DNS runs through Route 53, configured by hand, not clicked through a wizard. It’s a small footprint, but it’s mine, end to end, and it’s stayed up the whole time.
Why I’m saying this plainly instead of dressing it up
Every post in this campaign for the last three months has led with a story, a bug, a joke, something to pull you in before getting to the point. This one doesn’t have that kind of story to tell. It has a straightforward set of facts: the skills are real, they’re demonstrated, they’re public, sixteen of them are reviewed and merged by someone other than me, and the usual advice, keep applying, keep building, it’ll click eventually, has been true for two and a half years without yet being enough on its own.
So, plainly: if your team is hiring a full-stack engineer who can genuinely pick up an unfamiliar stack in days, not months, who treats AI tools as something to understand and verify rather than blindly trust, and who has the actual shipped, reviewed, deployed work to back all of that up, I’d like you to think of me. If you don’t have an opening but know someone who does, a short introduction is worth more right now than it might seem from where you’re sitting.
Thank you for reading this far, genuinely. The rest of the portfolio’s linked below if the receipts are worth a look.