Skip to content
← Systems shipped
Retail

Desktop Retail Management System

High-Performance Point-of-Sale Client

Role
Full Stack Developer
Timeline
6 months
Team
3 engineers
Faster Sync
97%
Daily Transactions
500K+
Data Uptime
99.9%
Fewer Discrepancies
67%

Overview

As Full Stack Developer on a team of 3, I rebuilt a critical desktop application for a retail chain managing hundreds of stores. The legacy Electron-based POS client suffered from slow synchronization and high memory usage, directly impacting store operations and causing inventory discrepancies.

The Challenge

Legacy sync system taking 5+ minutes, causing operational delays for retail stores processing half a million daily transactions.

  • Legacy Electron app consumed 800MB+ RAM, causing crashes on older hardware
  • Full data sync took 5+ minutes, blocking store opening procedures
  • Inventory discrepancies between local and server data reached 15%
  • No offline capability meant network issues halted all operations

Technical Approach

  • Rebuilt using Tauri with Rust backend for an ~80% smaller binary and better performance
  • Implemented delta sync algorithm - only changed records transfer
  • Created local SQLite cache with conflict resolution for offline-first operation
  • Built background sync service that runs without blocking UI operations

Key Decisions

Tauri over Electron

80% smaller binary size and native Rust performance for data processing

SQLite for local storage

Battle-tested embedded database with excellent concurrent read performance

Operational Transform for conflicts

Predictable conflict resolution that preserves user intent

Results

  • Sync time reduced from 5+ minutes to under 10 seconds (97% improvement)
  • Memory usage dropped from 800MB to under 100MB
  • Inventory discrepancies reduced from 15% to under 5%
  • Stores can now operate fully offline for up to 24 hours

Lessons Learned

  1. Native code (Rust) makes a massive difference for data-intensive operations
  2. Delta sync requires careful versioning - timestamp-based approaches have edge cases
  3. Retail environments have unreliable networks - offline-first is not optional

Stack

  • React
  • TypeScript
  • Tauri
  • Rust
  • Node.js
  • AWS Lambda
  • Serverless
  • Hasura
  • PostgreSQL

Working on something like this?

Happy to compare notes on architecture, delivery and building teams — the details above are the short version.