Trakter
A ground-up rebuild of the Trakter storefront into a modern, type-safe commerce platform: Go API + TanStack Start frontend, ERP-synced, in a Turborepo.
The problem
The original trakter.com is a PHP storefront that still trades every day. Functional, but expensive to change and slow to search. The brief was a ground-up rebuild into a platform that’s fast for shoppers, type-safe for the team, and cheap to evolve, without losing the catalogue or the trading history the business already depends on.
What I did
I own this rebuild top to bottom: the API, the storefront, the admin, the data layer and the build system. The original site stays live while the new platform is in customer review.
- Go API backend. A substantial Go service (~95K LOC) handling catalogue, cart, checkout and orders. I chose Go over staying on PHP for predictable performance and a type system that keeps a large domain refactorable as it grows.
- TanStack Start storefront, Vite + React admin. The customer-facing storefront is server-rendered with TanStack Start; the back-office admin is a Vite + React SPA. Both consume a generated, fully-typed API client, so the contract is enforced from the database to the button.
- ERP integration. Like efantasy.gr, Trakter runs against an ERP as the source of truth for stock, pricing and orders. I built the sync bridge from scratch, so the storefront never contradicts the back office.
- Search and data. PostgreSQL as the system of record, ValKey (Redis-compatible) for hot paths, and Meilisearch for instant, typo-tolerant product search across the catalogue.
- Monorepo + delivery. A Turborepo monorepo with a two-stage OpenAPI codegen pipeline (server spec → typed client). Everything is containerised and deployed on Docker Swarm, with local/prod parity, so a schema change flows to the frontend types in one command.
Impact
- A ground-up rebuild into a type-safe Go + TanStack Start platform the team can refactor with confidence, now in customer review alongside the live original.
- ERP-synced on the same authoritative-source model as efantasy.gr, with a bridge I built from scratch.
- Instant, typo-tolerant search across the catalogue via Meilisearch.
- An OpenAPI-driven contract across the whole stack: the frontend can’t drift from the API without the build catching it.
- Fast, reproducible builds and deploys: containerised and orchestrated on Docker Swarm through a Turborepo pipeline.