Problem
Small Philippine businesses need a point-of-sale system that handles sales, stock, and refunds reliably, but most options are either too expensive or too complex for a single shop. Tracking inventory by hand leaves gaps that only show up at the end of the day.
Approach
I built SwiftSync Ledger as a lightweight single-stack app (Node.js, Express, MongoDB, and a vanilla JS SPA) to keep delivery fast and operations simple. It covers the full register workflow: a sell screen, inventory with audit trails, sales history with refunds, a reporting dashboard, role-based access, and store settings. For hosting multiple clients, one codebase runs as isolated PM2 processes, each with its own database and JWT secret, routed by subdomain through Nginx and backed up nightly with mongodump.
Result
SwiftSync Ledger is feature-complete and running live at swiftsync.mark-dev.net, self-hosted on a Raspberry Pi behind Cloudflare Tunnel. The multi-client setup lets a new business be onboarded without duplicating code, keeping each client's data fully separate.
