Client Work
Building Fire Truck Mall
· 2 min read

FireTruckMall.com is an online marketplace for used fire trucks. Since launching in June 2026, it has grown to 78,000 monthly unique visitors across thousands of vehicle listings. I was one of two developers who built it from an empty codebase, working with InterAutomate from November 2025 through launch.
The project
InterAutomate’s CEO, who also led the project, pitched the client a complete rebuild of their existing site on a modern stack, using concept designs made in v0. We built it with TanStack Start (server-side rendering and TanStack Query), PostgreSQL with Drizzle ORM, and Tailwind CSS with shadcn/ui. The full stack is laid out on InterAutomate’s overview page.
The lead divided feature work between the two developers. The senior developer set up the framework, and I built roughly 35% of the core application. I owned most of the user-facing interface, including the site’s forms, styling, and mobile layout.
Vehicle listing creation
My largest feature was the listing creation flow, which I built end to end. On the backend, I designed the database tables in Drizzle. On the frontend, I built a multi-step form that guides sellers through entering the VIN, the truck’s specifications and condition, and photos. Sellers can also choose to receive an offer from the client before their truck is listed publicly. Each step validates its required and optional fields before the seller moves on. Because the form asks for so much, a large part of the work was keeping sellers from abandoning it partway through. I also built the admin blog editor and the ability to favorite listings.
Keeping types in one place
Early on, we generated our Zod validation schemas directly from the Drizzle table definitions. This meant the database schema was the single source of truth, so we never maintained separate type definitions that could drift out of sync. That consistency paid off later when we adopted agentic workflows. Because the core patterns were already established, Claude could follow them reliably, which sped up development without adding inconsistent or bloated code.
Working on a team
This was my first project on a structured development team. We held daily standups and tracked work in monday.com. The project had a fixed launch date seven months out, which taught me to plan and scope work against a deadline. I also learned how to take feedback on designs and how to apply it without losing momentum.
If your website feels outdated, loads slowly, or isn’t bringing in the customers it should, send me the link. I’ll review it and tell you the three changes I’d make first, at no cost. You can reach me through my contact page.