01 · Context
The problem was not another screen. It was making the whole workflow hold together.
HowToPay POS is an existing company product used for day-to-day selling and store operations across multiple device types. I joined after the initial application had already been built, so the case study is about contribution inside a production system rather than sole product ownership.
My work concentrated on the failures that become expensive in a live POS environment: bidirectional sync, concurrent scheduled orders, operational tasks that happen every day, and staff screens that slow down when real data volume arrives.
04 · Engineering decisions
The choices that made the product dependable.
01Treat sync as state reconciliation
The reliability work focused on preserving coherent order and operational state as connectivity changes rather than treating offline/online as a simple boolean UI mode. Sync paths need to agree on what happened, what is pending, and what can safely be applied.
02Fix concurrency at the queue boundary
Scheduled-order issues were approached as race conditions around queued work and state transitions. The goal was to remove timing-sensitive behavior instead of masking inconsistent results later in the UI.
03Automate predictable operational cleanup
Automatic cash-shift close at midnight moves a repetitive daily responsibility out of staff memory and into deterministic product behavior, reducing one source of store-side inconsistency.
04Profile high-data workflows before polishing UI
Slow floor-plan and existing-order experiences were treated as performance and memory problems first. The work targeted loading, frozen states, and data-heavy rendering rather than only changing visual feedback around the delay.