A complete SME information system, built single-handedly
13 interconnected apps: sales, workshop, rentals, invoicing and e-commerce
Key figures
- applications and services
- 13
- lines of code
- 250,000+
- automated tests
- 1,800+
- commits
- 1,600+
Context
A distribution and services SME was running on spreadsheets, e-mails and disconnected tools. Sales, workshop, rentals, invoicing, stock and online sales had to be unified.
My role
From design to operations, fully autonomously.
Solution
I designed and built 13 interconnected applications and services. At the core sit a single business API and an e-commerce platform connected to a custom ERP with an integrated point of sale.
Around them, six business applications cover the workshop, field operations, installation, rentals, bank reconciliation and robot sales. A shared SSO and a common design system unify access and interfaces. Everything runs on 2 monitored production servers.
Key features
One central business API
A single backend serves the internal applications, the showcase website and the online store.
E-commerce connected to the ERP
API, storefront and back-office, with the ERP as the single source of truth for the catalogue.
A custom ERP with a connected POS
Stock, inventory, e-invoicing and in-store payments.
One identity for 9 applications
SSO with MFA replaces shared accounts and centralises access revocation.
Engineering challenges
- 1
From monorepo to dedicated repositories
The initial monorepo was split, in a controlled way, into dedicated repositories.
- 2
Gradual migration to Next.js 16
Legacy Create React App frontends are moving to Next.js 16 and the published design system.
- 3
Consistent tooling
A single package manager, pnpm, across every repository.
- 4
Coordinated, reversible SSO cutover
The API and 7 frontends moved to SSO in a single cutover, designed so it could be rolled back.
Tech stack
- Frontend
- Next.js 15/16React 19TypeScriptTailwindshadcnnext-intl
- Backend
- Node.jsExpressMedusaJS 2PrismaZodPHP 8Dolibarr 22
- Data
- PostgreSQL 16Redis 7MeiliSearchIndexedDB
- Security
- ZitadelOIDC/PKCEBFF
- Infrastructure
- DockerGitHub ActionsGHCRNginxCloudflare TunnelTailscalePrometheusGrafanaLokiAlertmanagerBorg
- Integrations
- MollieResend
- Quality
- Vitest
Ecosystem overview
Public websites & business apps
- SEO showcase website
- Store & back office
- Workshop & field
- Equipment rental
- Sales & installation
- Bank reconciliation
- Shared design system
Application core
- Central business API
- E-commerce platform
ERP, identity & operations
- ERP & connected point of sale
- Catalog imports
- SSO & MFA
- Infrastructure & observability
A project of this scale?
Let's talk about your context: I'll tell you frankly what is feasible, and how long it takes.