
LocalTowing.us
A full-stack SaaS directory platform connecting US vehicle owners with verified local towing businesses — built end-to-end with a public SEO directory, business owner dashboard, and a comprehensive admin panel.

The problem
The towing industry had no home on the internet.
Drivers in an emergency turn to Google Maps or call the first number they see — with no reliable way to compare services, check if a provider is licensed, or filter by availability. Meanwhile, small towing businesses have no dedicated platform to manage their online presence or capture inbound leads from organic search.
The goal was to build both sides of that marketplace from scratch: a public directory optimized for organic discovery at the city and state level, and a complete set of tools for business owners to manage listings, capture leads, and grow — with an admin panel capable of managing hundreds of businesses at scale.
"Every architectural decision — from URL structure to DB schema — had to serve both the driver who finds a tow truck and the operator who runs the business."
No white-label template, no vendor CMS, no hosted SaaS. A production-grade Node.js monorepo, built from the ground up, deployed to a single server, and running live traffic.
The challenge
SEO directory, SaaS infrastructure, shared hosting.
Three fundamentally different engineering problems had to be solved inside one product — and most of them pull against each other.
- ✓Directory URL architecture. A directory spanning 50 states, thousands of cities, and multiple service types can generate tens of thousands of indexable pages. Every level needed unique metadata, correct canonicals, and an internal linking strategy that doesn't produce duplicate content at scale.
- ✓Monorepo on shared hosting. The platform is a Next.js frontend and Express API in a single Node.js monorepo — a setup Hostinger's deployment model doesn't natively support. A custom server.js and build pipeline were required to boot both from one process.
- ✓Admin panel without a framework. Fourteen management modules with RBAC, audit logging, and real-time Slack events is too large for ad-hoc pages, but plugging in Retool or AdminJS would have broken the shared auth and component model. The admin had to be a first-class Next.js feature module.
And the SEO content engine — Q&A, blog, cost guide, service pages — had to be server-rendered and maintainable without a headless CMS adding another deployment dependency.
The approach
Schema first, then routes, then the UI.
The data model drives everything in a directory platform. Designing the 22-model schema and URL hierarchy before any UI work meant the frontend and API could evolve together without structural rewrites.
- 01
Problem & schema design
Mapped the multi-sided marketplace: 22 PostgreSQL models covering businesses, users, leads, billing, content, analytics, chat, and outreach — before any UI work.
- 02
Public directory build
Multi-level directory with state, city, ZIP, name search, and company profile routes — each server-rendered with unique metadata, JSON-LD structured data, and canonical tags.
- 03
Business owner dashboard
Self-serve listing creation with approval-gated public visibility, lead inbox, real-time availability toggle, and plan upgrade flow.
- 04
Content & SEO engine
Q&A, blog, towing cost guide, and six service landing pages — typed content models, fully server-rendered, and internally linked for long-tail discovery.
- 05
Admin panel
Fourteen management modules — businesses, users, leads, billing, reviews, analytics, blog, CRM, and outreach — all in a custom Next.js feature module with RBAC and audit logging.
- 06
Production deployment
Custom server.js and hostinger-build.mjs to run the Next.js build and Express API as a single Node.js process on Hostinger's single-process deployment model.
Selected screens
Inside the platform.








Public directory, business owner dashboard, and admin panel — three distinct products sharing one codebase and one design language.
The results
What shipped.
PostgreSQL schema covering a complete multi-sided marketplace: businesses, users, reviews, leads, billing, chat, analytics, and outreach.
State, city, ZIP, company profiles, services, blog, Q&A, jobs, and vendor listings — all server-rendered and indexed.
Businesses, users, leads, invoices, reviews, analytics, blog, chat, CRM, and agency outreach — all custom-built, no framework.
A documented Node.js monorepo: no per-seat SaaS fees, no vendor lock-in, full source control from day one.
Tech stack
The right tool for each layer.
A Node.js monorepo with two workspaces — Next.js App Router for the frontend and Express + Prisma for the API — unified into a single production process. No per-seat SaaS fees, no vendor dependencies beyond the infrastructure it runs on.
"Building the SEO directory a driver finds on Google and the dashboard an operator checks every morning in one codebase teaches you more about product architecture than any single-concern project can."
More work
Related projects.


OFEP Cybersecurity

Ethos
Ready to start?
Have a platform in mind? Let us build it.
Tell us what you are building and we will reply within 24 hours with honest, practical next steps.