Personal project · PWA
Drawer Count
An installable cash-drawer calculator with saved profiles, daily history, and offline support.
My role: Developer
The welcome walkthrough explains profiles, daily counts, and saved history. Open Help for a guide to the controls.
The problem
Closing a cash drawer requires totaling bills, coins, card slips, and checks, then comparing the result with sales records. Repeating those calculations and keeping daily records by hand adds work to every close.
The solution
Drawer Count calculates totals as amounts are entered and shows the balance against expected cash. Saved drawer profiles and daily history support repeat counts, and the installed app can be used offline after its first load.
My contributions
- Built the cash-counting interface with Custom Elements, including a drawer-count element that uses Shadow DOM and emits custom events.
- Added saved drawer profiles and daily history for repeat counts.
- Added an installable PWA experience with service-worker caching and local persistence.
Behind the project
A personal project built around the routine of closing a cash drawer. I used native Web Components to give the counting controls their own markup, styles, and events, with JavaScript modules connecting the rest of the application.
Engineering decisions
Counting needs to work when the network is unavailable. I stored counts and profiles on the device and used a service worker to cache the app after its first load. Local records remain tied to that browser unless exported or synced.
- Repository
- mnichols08/drawer-count-app
- Repository updated