← back to home

In My Town

A hyper-local service marketplace for the small, family-owned businesses national platforms keep leaving behind - and for neighbors who'd rather hire someone they could run into at the grocery store. I designed and built it end-to-end as the solo developer, working directly with the founder.

RoleSolo designer + developer
DatesJanuary 2026 – Present (Phase 1 MVP shipped April 2026)
In My Town - hero

The problem

The local economy is being squeezed. Small and family-owned businesses are losing ground to national chains and platform giants, and the consumers who'd prefer to hire locally don't have an easy way to find them. The trust that used to come from word-of-mouth doesn't scale - and the platforms that scaled it, Thumbtack and TaskRabbit and Angi, flatten everything into anonymous lead generation.

The community-first platforms aren't doing the job either. Nextdoor and Facebook groups put neighbors in the same room but can't safely process a transaction. Marketplaces process transactions but have no idea who's a neighbor.

In My Town is the platform that does both: hyper-local discovery, escrow-protected transactions, and feature surfaces that treat community as a first-class part of the product, not a marketing word.

The process

Trust as infrastructure

Hiring a stranger to come into your home isn't a UX problem you can solve with a five-star rating. The platforms I'd used as a customer all had the same failure mode: pay upfront and the provider ghosts, or do the work and the customer disappears. So before designing the discovery flow or the messaging UI or anything visible, I had to design the money.

I built escrow with Stripe Connect. The customer's payment is held the moment they book. The local pro can see the money is real before they show up. If the work isn't done, the customer gets it back; if it is, the pro gets paid out. The mechanic isn't novel - what's novel is making it the default for hyper-local marketplaces, where the perceived risk on both sides is highest. Trust isn't a badge on a profile. It's a contract the platform enforces.

Community as a product surface

The easiest version of this product is a Thumbtack clone with a "Local" filter. That product doesn't do what Kym actually wants the platform to do, which is help people care about who's in their neighborhood.

Two decisions came out of this. First, bilingual from day one - English and French live at launch, Spanish next. Communities in Canada and the U.S. aren't monolingual, and "we'll add languages later" is a polite way of saying "this neighborhood isn't really our user." If communication is the substrate of community, language access can't be a v2.

Second, the inspiration board. Most marketplaces hide what's happening in your area until you go looking for a service. The inspiration board surfaces it: see the kitchen renovation a few blocks over, the new garden two streets down, the pro who built each one. It turns the marketplace into a feed about your own community - the moment "find a service" becomes "find a neighbor."

Build pragmatism over build theater

The temptation on a project this size is to over-engineer the obvious things. Native iOS and Android apps. A bespoke design system. Server-side rendering for SEO points no one will see for six months.

I built the mobile experience with Capacitor - the same React app, wrapped - because the interaction patterns don't need native gestures or hardware APIs to work well. A native shell was a multi-month detour for a feature parity gain users wouldn't notice. Every decision in this project ran through the same filter: does this get a real product to real users faster, without compromising the parts that have to be solid - payments, auth, data integrity? When the answer was no, the decision was easy.

The outcome

Phase 1 shipped in April 2026. Auth, profiles, listings, search, messaging, end-to-end booking with Stripe Connect escrow, the inspiration board, and EN/FR localization are all live. Mobile builds via Capacitor are deployed. The founder is now driving acquisition; the platform is ready for users.

What I'd do differently: the visual design. Building this project is also where I got serious about CSS, motion, and the small details that turn a working product into one that feels alive. The current site works and Kym is happy with it, but I can already see the second pass - more character, more texture, more of the small interactions that signal a real place rather than a generic marketplace. That second pass is its own project.

  • Phase 1 MVP delivered solo in 4 months
  • 2 locales live at launch (EN / FR); Spanish in pipeline
  • Full transaction loop functional: signup → discovery → booking → escrow → release
  • Bi-weekly feedback cadence with founder across the build
  • Native mobile builds via Capacitor on iOS and Android

Built with

React 19TypeScriptViteSupabaseStripe ConnectCapacitori18next