Benjamin Yamoah
← Back to Portfolio

Development

BLOS Desktop

Year: 2025Technology: Electron, SQLite3, Node.js, Vanilla JS, Bcrypt.js
BLOS Desktop

Offline-first Electron desktop client with local SQLite storage and a bidirectional sync engine for ministry outreach in low-connectivity field environments.

SQLite

Local-first

30s

Sync interval

Electron

Cross-platform

Overview

BLOS Desktop is a production-grade Electron application that solves unreliable internet connectivity during field outreach. It uses a local-first SQLite architecture for zero-latency operations and a bidirectional sync engine that silently reconciles data with remote servers when connectivity returns.

Bidirectional Sync Engine

  • Automatic push of dirty records upon internet detection
  • Scheduled pull updates every 30 seconds
  • Last-write-wins conflict resolution with timestamp-based synchronization
  • Secure /push.php and /pull.php API integration

Offline-First Architecture

  • Full functionality without internet via better-sqlite3 local storage
  • JSON serialization for complex record structures
  • Buffered sync queues for high-volume batch data entry
  • Data persistence across app restarts

Security & Distribution

  • 64-character hex SYNC_API_KEY authorization and bcryptjs encryption
  • Unique Machine ID per instance for multi-PC synchronization
  • Electron-builder native installers for Windows, Mac, and Linux

Conclusion

BLOS Desktop extends the web-based outreach system into a native, offline-capable field tool — ensuring no registration is lost regardless of connectivity conditions.

Related Projects