Skip to content
← Back to projects

Ashco Direct: Vehicle Marketplace Platform

A mobile-first vehicle marketplace for the Kenyan market, built as a .NET modular monolith with a server-rendered React front end so every advert is indexable and shares cleanly on WhatsApp.

.NETASP.NET CoreC#PostgreSQLEntity FrameworkReactTypeScriptDocker
Ashco Direct: Vehicle Marketplace Platform

Ashco Direct is a vehicle marketplace for the Kenyan market, covering cars, vans, bikes and trucks. Private sellers and dealerships list stock, buyers search and filter by category, save what they like and message the seller, and an admin layer handles moderation, subscription packages and the taxonomy behind it all.

It runs as a .NET 10 modular monolith with a TanStack Start front end, one bounded context per milestone so the platform extends rather than gets rewritten. Public pages are server-rendered, which is what makes an advert indexable and makes it look right when somebody pastes the link into WhatsApp.

Case Study

The Problem

The client arrived with a 34-page specification and a full desktop design, and needed all of it built: accounts for private sellers and dealerships, listings across four vehicle categories, search and browse, buyer tools, reviews, a seller back office, and an admin layer with subscription packages and a moderation queue. Most traffic would arrive on phones over patchy connections, and the design had no mobile frames at all, so the responsive adaptation was mine to own. Adverts also had to survive being pasted into WhatsApp, which is how vehicles actually change hands in Kenya.

The Approach

I built it as a modular monolith on .NET 10 with Clean Architecture, one bounded context per milestone, so each release plugged into the last instead of forcing a refactor. Listings use a hybrid schema: a typed core for the fields every vehicle shares, JSONB and an attribute catalogue for the ones that differ by category, which keeps adding a category a data change rather than a migration. EF Core 10 on Postgres with full-text search behind a port, ASP.NET Identity with OTP and JWT, and provider ports for mail, SMS, maps and object storage with no-op implementations, so the build never needed the client's credentials to run. The front end is TanStack Start on Bun. Public routes are server-rendered for search engines and share cards, app routes are client-side, and the TypeScript client is generated from the OpenAPI document so the contract between the two cannot quietly drift.

The Outcome

Delivered across eight milestones and handed over at the end of August, at the agreed price with no scope cut. Public pages arrive server-rendered with real meta tags, checked by a 65-assertion suite that reads the site through its own front door rather than through a browser, because every SEO fault on the project had been invisible in a browser. The client left a five-star review and a Phase 2 roadmap is drawn.

“It has been an absolute pleasure working with Helgi. From our initial discussions to the completed website, he has been exceptional. This was a highly challenging project with many complex requirements, yet Helgi embraced every challenge and consistently delivered beyond our expectations. His professionalism, dedication, and attention to detail are outstanding.”

Heran