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.

Personal OS: days planned around anchors

Built with

  • Spring Boot
  • PostgreSQL
  • SSE
  • RxDB
  • React

Write-ups

  1. 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 →

  2. 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 →

  3. 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 →

  4. 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 →