All posts
Engineering5 min readFoxl Team

Why We Migrated foxl.ai from React SPA to Next.js SSG

SharePost
SharePost

Read next

Engineering

Your Meeting Was Transcribed Twice. Deleting Code Fixed It.

A user's transcript showed the same sentence twice, attributed to two speakers - and the copies didn't quite match. The duplicate came from running two transcription pipelines (mic + system audio) where the mic re-heard the speakers. We tried a text-similarity filter first; the real fix was mixing both captures into one stream so duplication became structurally impossible. The commit removed more lines than it added.

6 min read
Engineering

Two Stores, One Conversation, Three Quiet Leaks

The worst chat bug: the user can scroll up and see their message, but the model answers from a history where it doesn't exist. Our conversation lived in two stores - the SQLite tables the UI renders and the snapshot the agent restores - each written by locally-correct code, drifting in three places. The fix wasn't synchronizing the writers. It was demoting one store to a cache and deciding who wins: never against the person holding the receipt.

6 min read
Engineering

The Checksum Byte That Ate Your Long Answers

Foxl replies were truncating mid-sentence on long answers. The cause was a single byte. Our relay decoded Amazon Bedrock’s binary event-stream as if it were text and brace-scanned for JSON - so a CRC32 checksum byte equal to 0x22 (a double-quote) flipped the parser into string mode and silently swallowed the rest of the stream. A captured 32 KB stream dropped 70 of 119 events. Here is the binary-framing parser that fixed it, and the fixture test that keeps it fixed.

7 min read