Wheel

Home / Building / AI Lab & Failure Museum

The AI Lab.

Experiments in every state: shipped, half-built, abandoned, and still just ideas. Most AI pages show demos; this one shows process, because the abandoned ones taught me the most.

building

Giftonix: Multi-Tenant Rewards SaaS

The question: Can one codebase serve dozens of HR teams with per-client branding, milestone automation, booking windows, and role-based access without becoming a maintenance nightmare?

What happened: In progress. Three portals designed: landing page, admin portal, and client portals with per-client branding. Milestones trigger automated reminders and deals can be individually configured with booking windows. The architecture spec is 40 pages. The lesson so far: multi-tenant is easy to design and hard to maintain. Every client thinks their customization is the default. Building this taught me to ship one feature first and let users ask for more.

shipped

Portfolio Built with AI Coding Agents

The question: Can AI coding agents (Claude Code, Hermes delegation) architect and build a production portfolio site — Remix RR7 + Mantine + Sanity + MongoDB + Cloudinary — with a human steering design decisions and copy?

What happened: Shipped. This site is the result. I used Claude Code for most of the implementation work. Routes, components, Sanity schema, Vercel setup, and a lot of the repetitive stuff. I handled the direction: how the site should look, what it should say, how it should feel, and what actually belongs on it. AI made the build much faster, but I still had to make the decisions. It was great at taking an idea and turning it into working code. It wasn't great at deciding what the idea should be. That's probably the biggest thing I've learned from building with AI. The better you know what you want, the more useful AI becomes.

See it live →

shipped

NextEra AI: Enterprise UI at Scale

The question: Can one UI lead architect ship and maintain 10 production SaaS products simultaneously for the US energy market, each with different branding, state regulations, and user flows?

What happened: Answer is Yes. Shipped and running in production for EIQ Digital. Worked across multiple energy products, each with its own design system, enrollment flow, state-based pricing logic, and business rules. The challenge wasn't the code, it was the context switching. Multiple products, codebases, teams, and constantly evolving requirements. Built reusable component libraries and established UI standards across teams to keep the experience consistent while moving quickly. Also shipped Chrome extensions, cross-platform applications, and analytics dashboards as part of the broader product ecosystem.

shipped

Hermes: Autonomous Daily Briefing Agent

The question: Could an LLM agent run autonomously on cron, track my Mac activity, capture window titles and browser tabs, and deliver structured daily briefings without human intervention?

What happened: Shipped and running daily for months. 9AM check-in, 7PM briefing, 9PM health check, and a weekly review every Sunday. The agent SSHes into my Mac, reads activity logs, compares what I planned with what actually happened, and posts a daily briefing to Discord. But the interesting part was watching it get better over time. In the beginning, it needed a lot of tuning. It would sometimes overreact to small things, miss context, or try to find patterns that weren't really there. Over time, I kept refining the prompts, rules, and context it had access to. It started understanding what actually mattered to me and what didn't. The biggest improvement wasn't making it say more. It was making it more accurate about when to say something and when to leave it alone. An agent that knows when to stay quiet is a lot more useful than one that always has something to say.

shipped

DocPilot's AI Copilot

The question: Could an AI layer brief a doctor's morning, summarise any chart in seconds, and read practice analytics in plain language, without ever diagnosing or prescribing?

What happened: It shipped and it's live inside DocPilot. The hard part wasn't getting AI into the product. It was deciding where AI shouldn't be used. The core product works without AI. A doctor can still complete the workflow even if the AI fails, times out, or gets something wrong. AI is there to speed things up and add context, never to block the workflow. Every summary is still just a summary. It doesn't try to make decisions for the doctor. The goal was simple: make the boring parts faster without adding another thing for a doctor to worry about. For an Indian clinic, getting a prescription ready in around 30 seconds can be the difference between finishing on time and running late all day.

See it live →

Failure Museum

The Failure Museum.

Twenty-plus projects taught me one thing above all: the failures pay the best tuition. This museum keeps them on display, not as confession, but so the lessons don't fade. Success stories are on the building page; this section is for the rest.

The exhibits below are real stories from real projects. Some stung. Some taught me something I still use every day. All of them are here because the lessons were worth more than the wreckage.

Exhibit 01

TypeScript 6 Migration: The Hype vs The Reality

I migrated a mid-size project to the TypeScript 6 pre-release because of all the hype around the new Go-based compiler, faster builds, native binaries, and the promise of a new era for TypeScript. The migration worked, but it exposed years of tech debt: loose types, skipped strict checks, and any everywhere. The compiler wasn't the problem. My code was. The migration itself was relatively straightforward, but cleaning up everything it exposed took three times longer. The real lesson was simple: a better compiler doesn't fix bad code, it just gets better at finding it.

Exhibit 02

The Payroll App That Got Rebuilt

I built a payroll management platform with an agentic AI layer to automate parts of the workflow. The architecture was solid, the product worked, and I thought the technical complexity was the moat. Then the client built their own version using Claude. It wasn't as polished, scalable, or well engineered as mine, but it was good enough for what they needed. That was the part that hurt. It taught me that software is getting easier to build, even for people with no software background. Technical complexity alone isn't a moat anymore. If a customer can get 80% of what they need with an AI tool in a weekend, the other 20% has to be something they actually value.

The other room has the wins.

the lab and the museum. mind the unfinished ideas.