Skip to content
Back to projects

Selected work

acadPOS

From the checkout interaction to the information that supports running the business.

DjangoMySQLAlpine.jsSaaSPOS / ERP
Preview of acadPOS

Project overview

My own SaaS product for small businesses, connecting sales, inventory, cash management, credit and reports. I created and develop both the checkout experience and commercial administration, organizing operations by company, point of sale, role and shift. Each sale is linked to its payments and stock movements, keeping checkout and inventory records consistent. The platform also supports credit tracking, commercial reports and saving cart drafts, bringing daily sales tasks and business information together. acadPOS is implemented at points of sale operated by self-employed businesses and SMEs.

My contribution

  • Taking ownership of the product's workflow and interface design as well as full-stack implementation.
  • Connecting checkout interactions with inventory, cash management, credit and commercial reports.
  • Organizing tasks by company, point of sale, role and shift, with cart draft persistence.
  • Implementing atomic transactions and online retry idempotency to keep sales, payments and stock consistent.

Technical notes

Application

Python and Django with MySQL on the server, server-rendered templates, HTML, CSS and JavaScript. The current POS frontend uses Alpine.js; legacy modules use jQuery.

Transactional consistency

UUID identities, idempotent online retries and atomic transactions connect sales, payments and inventory movements. Current inventory costing uses weighted average cost.

Cart persistence and connectivity

Dexie.js and IndexedDB preserve only the cart draft, isolated by point of sale. Confirming sales, opening or closing shifts, collecting payments and viewing reports require a connection. Each point of sale has a PWA manifest.

Mobile work

The product also includes related React Native mobile application work.

Have something in mind?

Let’s talk