Blog

Engineering write-ups from the Crystl Labs workbench: what we measured, what it cost, and what we changed because of it. 8 posts.

Directive 2026-10-29 / 3 min

Three Numbers on Every Game: How CrystlQuant Works

Every game on CrystlQuant carries three numbers: the market's price, our forecast, and a blind model that never sees the price. All three are published before the game and graded after it, misses included. Here is how to read them, using this Sunday's NFL games.

Read on ->
Directive 2026-10-19 / 7 min

Piping Production Logs Into Cyberpunk 2077

A live SSH session on a phone, bridged over a WebSocket, rasterised into a render target and bound at runtime into REDengine's material system. Not an overlay. The billboard itself, respecting depth and occlusion like any other object in the scene.

Read on ->
Directive 2026-09-30 / 6 min

The 80MB "Hello World": Why Your Framework Is a Liability

A fresh React Native "Hello, World" ships 50-80MB of native libraries and boots an entire second runtime before it draws a pixel; the same app in native Kotlin lands under 500KB. Binary size and boot latency aren't implementation details, they're user-facing costs paid on every install and every cold start.

Read on ->
Directive 2026-09-11 / 6 min

Triangulating My Cat Using Custom Sonar

Three broken smartphones, a 2kHz-to-18kHz chirp and GCC-PHAT cross-correlation at 192kHz gave 2cm positional accuracy on a calibration speaker. Then the cat refused to cooperate, and the fix was to stop transmitting entirely.

Read on ->
Directive 2026-08-27 / 6 min

I Spent 40 Hours Fixing a 12ms Spike

No stack trace, no error message, just a stutter QA described with their hands. Forty hours of systrace and heap diffs traced it to a single Rect allocated inside onDraw(). The fix was three lines. The ratio is the entire genre.

Read on ->
Directive 2026-08-06 / 6 min

Programming Against the Laws of Physics

Every `for` loop is a physical event. Code compiles down to charge moved across gates, charge dissipates as heat, and heat has to go somewhere before the chip throttles or the battery drains. The mental model of "code as text" stops the story at step one.

Read on ->
Directive 2026-07-23 / 6 min

The "Bus Factor" of One: Engineering for the Solo Dev

"Bus factor of one" isn't a risk you mitigate with more headcount when there is no headcount to add. You mitigate it with architecture. The design constraint: if I stop touching the stack tomorrow, it keeps running for five years.

Read on ->
Directive 2026-07-07 / 6 min

Why I Keep My Data in Text Files (And You Should Too)

A managed cluster is a single point of failure sitting behind an API you don't own. A SQLite file has exactly one failure mode: the disk fails. You can test that one, back up against it in a line of shell, and never wait on someone else's incident response team.

Read on ->