15 July 2023 · 3 min read
Launch: Shoffr Android App
Why we shipped Android first, why the app is a webview wrapper, and why the package name says com.shoffrDriverApp.
15 July 2023 · 3 min read
Why we shipped Android first, why the app is a webview wrapper, and why the package name says com.shoffrDriverApp.
11 July 2023 · 4 min read
How we built live vehicle tracking on OpenStreetMap and Leaflet without burning a hole in our pocket — plus the telematics push pipeline and caching layer behind it.
20 May 2023 · 3 min read
Your Use Toll checkbox now remembers your preference. The story of how a small personalisation feature became a general-purpose profile platform by applying the Golden Rule of Platforms.
9 May 2023 · 5 min read
The trip is the fundamental construct at Shoffr. Here is its full state machine — from PAYMENT_PENDING through the confirmation engine, the allocation engine, and out to COMPLETED.
9 March 2023 · 4 min read
Behold the Shoffr monolith. Why one well-modularised service beat distributed systems, what we build versus buy, and how workflows keep domain services decoupled.
15 February 2023 · 2 min read
Seven insane days: a full website redesign, trip edit, downloadable invoices, fixed pricing for cusp locations, and payment-method capture in the driver app.
1 February 2023 · 2 min read
Logged-in guests now see their upcoming ride first thing on the home page. A small step towards a website that knows who you are and where you are in your journey.
25 January 2023 · 4 min read
Guests can now book onward and return trips in one go. The hard parts weren't the checkbox — they were taming the booking form and rewriting order management to allow multiple trips per order.
17 January 2023 · 3 min read
The principles we set down at Bob's Bar for how we would build the technology that powers Shoffr — buy over build, boring stacks, and hiring extremely reluctantly.