How I built an Offline-First ERP that processed $30k in a market with spotty internet

How I built an Offline-First ERP that processed $30k in a market with spotty internet

Hi everyone, I wanted to share a journey of building a B2B product in a challenging environment.

I live in Egypt, where internet stability is a constant struggle for retail shops. Building a standard cloud-only SaaS for them was a recipe for failure. So, I spent the last few months engineering Manzoma ERP—a local-first system built with React 19, Electron, and Prisma/SQLite.

The Technical Challenge:
The biggest hurdle wasn't the UI; it was the Sync Engine. I had to ensure that if a shop owner makes 100 sales while offline, the system queues them perfectly and merges them with the cloud once the connection returns, without inventory conflicts across 3,000+ SKUs.

The Results:

  • Processed over $30,000 (1.5M EGP) in transaction volume for my first few clients.
  • Zero data integrity issues during offline-to-online transitions.
  • 100% functional desktop app that feels like a web app.

Why I’m sharing this:
I’m heading into mandatory military service soon, which is forcing me to step away from the project. I’m proud of what I built as a solo dev using AI-assisted coding (Vibe Coding) to speed up the architecture.

I’d love to hear your thoughts on Local-first vs Cloud-only for B2B. Also, if anyone has experience exiting a "pre-revenue" but "high-volume" project, I'd love to chat!

Check out the landing page here: https://manzoma.online

u/ThisisKebo — 3 days ago

Engineering an Offline-First Sync Engine for a Retail ERP with Electron, SQLite, and Prisma

Hi everyone, I wanted to share some architecture details from my recent project, Manzoma ERP. Since I'm targeting retail stores with spotty internet, a standard cloud-only SaaS wasn't an option.

The Architecture:
I used Electron as the shell, React 19 for the UI, and Prisma/SQLite for the local data layer.

The Sync Challenge:
The hardest part was handling the transition from offline to online without creating data conflicts in the inventory (3,000+ SKUs). I built a custom background sync worker that uses a version-based reconciliation logic.

It’s currently battle-tested and has processed over $30k in live volume. Happy to answer any questions about the Electron setup or the sync logic!

reddit.com
u/ThisisKebo — 3 days ago

How I built a production-ready Offline-First Retail ERP using React 19 & Electron (Processed $30k+ in live volume)

Hi everyone,

I wanted to share a showcase of my project, Manzoma ERP. It’s a desktop-based system built specifically for retail environments where internet stability is a major pain point.

The Tech Behind the "Offline-First" approach:
The biggest challenge was ensuring zero data loss during sync. I used React 19 for the UI and Electron for the native core. The data layer is handled by SQLite and Prisma ORM.

  • The Sync Logic: I built a custom background worker that monitors local changes and queues them for synchronization the moment a stable connection is detected. This allows cashiers to keep issuing invoices and managing stock with zero latency, even if the router is unplugged.

Real-world Stats:
This isn't just a portfolio piece. It’s currently battle-tested in a live retail environment:

  • $30,000+ (1.5M EGP) in transaction volume processed.
  • 3,000+ SKUs managed across different categories.
  • Features native WhatsApp automation for digital receipts, which significantly reduced paper costs for the client.

Why I'm sharing this:
I built this primarily through a "vibe-coding" approach, leveraging AI to accelerate the architecture while maintaining strict data integrity rules. I'm heading into mandatory military service soon, so I won't be able to scale this further myself, but I wanted to show the community what's possible with modern JS tools in the B2B space.

I’d love to answer any questions about the Electron/Prisma setup or the offline sync logic!

reddit.com
u/ThisisKebo — 3 days ago