2026
Personal OS: days planned around anchors
A PWA that plans each day around fixed anchors like morning, noon and evening. Data is offline-first in RxDB, syncs with a Spring Boot and PostgreSQL backend, and reaches other devices in real time over SSE and Redis Pub/Sub.
Built with
- Spring Boot
- PostgreSQL
- SSE
- RxDB
- React
Write-ups
Server-Sent Events in Spring Boot: Redis Pub/Sub and slow clients
Real-time sync with SseEmitter: cookie auth for EventSource, fan-out across instances, a bounded write pool that drops hints, and when to consider WebFlux.
Read →
Four bugs that silently broke RxDB sync, and how they were fixed
Rows stuck at version 0, a client-only column, a migration that never finished, and a resync loop: sync failures that never threw an error.
Read →
A large tree in IndexedDB with RxDB: indexes, trigram search and lazy loading
Why a nullable parent ID made a 61-node query take 19.6 s, and how a shadow index, diacritic-free trigrams and virtualization fixed it.
Read →
Vietnamese lunar calendar in JavaScript: why 5 test dates weren’t enough
Why a popular lunar library disagrees with the Vietnamese calendar on 3.48% of days (UTC+8 vs UTC+7), found by comparing 40,542 days instead of 5.
Read →