← All posts

Heads-down: debugging, polish, and storage that holds

No new headline feature this stretch — on purpose. The breadth is there now; the job is making each piece hold up. Storage that survives the awkward cases, and a long tail of debugging and polish.

Heads-down: debugging, polish, and storage that holds

If the last two months were about going wide — files, chat, media, calls, an agent, and last week a flat mesh LAN — this stretch was about going deep. There's no shiny new headline feature to point at, and that's deliberate. The breadth is there; now each piece has to actually hold up. So this was debugging, hardening, and the kind of polish nobody notices until it's missing.

Storage that survives the awkward cases

The one genuinely new capability this week is for when the simple story breaks down. Two pieces:

  • Capacity pooling. A node that's full no longer just fails the write — it spills whole files to peers that still have room, guided by free-space gossip and a stable placement rule.
  • Sharding. A file too large for any single node splits across several holders, with per-shard repair when one drops offline, over-quota handoff when a holder fills up, and eviction that's careful not to delete a shard something else still needs.

Both are adaptive: the mesh only reaches for them when nothing simpler fits. Most of the week went into the unglamorous edges — the repair, the handoff, the dedup-safe eviction — because that's where a storage system earns or loses your trust.

A long tail of polish

The rest was exactly the work the title promises. Among many small fixes: masking the brief reconnect flash on Android after the app resumes, so it no longer flashes an error before settling; making the Windows tray reliably raise its window to the foreground instead of hiding behind other apps; and tuning replication so over-replicated shards are evicted cleanly in two phases. None of it is a headline. All of it is the difference between a demo and something you'd leave running.

What's next

The honest goal from here is a first public release: stop adding, start stabilizing, finish the docs, and pick the moment to cut a version I can hand to someone without a paragraph of caveats. Going wide was the fun part. Going deep is the part that ships.


Since the mesh LAN

  • Storage: capacity pooling (full nodes spill whole files to peers with room) and sharding (oversized files split across holders, with per-shard repair, over-quota handoff, and dedup-safe eviction)
  • Polish & fixes: Android post-resume reconnect overlay (no more error flash), reliable Windows tray window raising, two-phase eviction of over-replicated shards, and a long tail of smaller bug fixes across the board