Case file 03 · Ops
TRANSMERALDA × COTRANSMEQ
One transport platform adapted to two operators without losing operational identity.
- SvelteKit
- TypeScript
- Fastify
- Prisma
- PostgreSQL
- Expo
The challenge
Two transport operators shared the same hard problems—fleet, drivers, services, attendance, payroll support and regulatory evidence—but each one carried its own brand, users and operating rules. Copying features between separate products would quickly create drift.

Case file 03 · Ops
Driver app screens
Transmeralda driver app






Cotransmeq driver app






The approach
I evolved a shared SvelteKit and Fastify architecture, separating reusable domain workflows from operator configuration and deployment. PostgreSQL and Prisma anchor the model, while an Expo and React Native driver app uses SQLite caches and a synchronization outbox so services, forms and worked days remain usable on the road.
Key decisions
- Share the operational core while keeping branding, deployment and operator-specific rules isolated.
- Move the driver journey into an Expo app with SQLite caches and an outbox built for intermittent connectivity.
- Generate spreadsheets and regulated documents from structured data instead of manual templates.
Technical architecture
Full-stack architecture designed and built end to end by me.
- 01 Field and office SvelteKit · Expo · React Native
Administrative workspace plus a native driver app for routes, forms and evidence.
- 02 Operational API Fastify
Shared transport rules isolated from each operator identity.
- 03 Transport model Prisma · PostgreSQL
Services, fleet, people, safety and compliance records.
- 04 Operational tools SQLite · Mapbox · Socket.IO · Univer · PDF
Offline outbox, maps, live updates, spreadsheets and regulated documents.
Modules
What the product is made of, as its own screens divide it.
- 01 Fleet & drivers
Vehicles, drivers, documents and their expiry.
- 02 Services & settlements
Trips, third-party and service settlements, statements.
- 03 Payroll & surcharges
Payroll with surcharges computed from the operation itself.
- 04 Road safety (PESV)
The road-safety plan: checks, forms and evidence.
- 05 Compliance
SARLAFT, corrective actions and non-conformity exits.
- 06 Forms & attendance
Custom forms, evidence and token-based attendance in office and field.
- 07 Driver mobile apps
Two branded Expo apps for services, forms, pay slips and worked days, backed by SQLite and a retryable sync outbox.
- 08 Two operators, one base
The same codebase branded and deployed for each company.
Before → after
- Before
Two products evolving through manual copies.
AfterOne shared core with isolated operator identity.
- Before
Road evidence arriving after the operation.
AfterNative offline capture with a durable synchronization outbox.
- Before
Manual spreadsheets and document templates.
AfterDocuments generated from structured operational data.
Technologies
- SvelteKit
- TypeScript
- Fastify
- Prisma
- PostgreSQL
- Expo
- React Native
- SQLite
- Mapbox
The wider toolkit
- Zod
- Pino
- Swagger
- JSON Web Tokens
- Puppeteer
- Univer
- Chart.js
- ExcelJS
- pdfmake
- Anthropic
- Azure Blob
- Amazon S3
- Resend
- Expo Router
- SecureStore
- Expo Notifications
- Expo Location
- Expo Camera
- Expo Image Picker
- Expo File System
- Expo Sharing
- NetInfo
- Reanimated
- Gesture Handler
Brand marks from Simple Icons; concepts without one are drawn in-house.
Project log
Oct 2025 → Oct 2026 · 13 active months
- transmeralda · app app · 616 commits Oct 2025 → Oct 2026
- transmeralda · api API · 288 commits May 2026 → Oct 2026
- cotransmeq · app app · 369 commits Feb 2026 → Oct 2026
- cotransmeq · api API · 253 commits Feb 2026 → Oct 2026
- transmeralda · mobile native · 38 commits Sep 2026 → Oct 2026
- cotransmeq · mobile native · 39 commits Sep 2026 → Oct 2026
In the tree
- 166 routes
- 108 API controllers
- 302 data models
- 135 migrations
- 163 test files
- 152 native source files
- 3370 tracked files
Read from the local Git history on Oct 6, 2026. Aggregates only.
The outcome
The product family expresses one operational model through two web deployments and two branded driver apps. The project log now follows six web, API and mobile codebases; both apps cover services, forms, pay slips and worked days with offline storage and synchronization.
Private codebase — this file shares the thinking, not the source.
