Writing

Field notes on
Nura's backend.

Notes on backend decisions in Nura, with the code and the config values behind them. Two so far.

The message that has to be noticed

A keyword scan let 21 of 69 test disclosures through to the classifier. Now every message in Nura is classified before anything is shown, by Jev first, with Haiku reading the uncertain middle.

The trade-off Every turn waits on the safety verdict, so the classifier’s latency is paid on every message. Jev answered in a median 720 ms against Haiku’s 1,679 ms, and never failed to answer.

Jev · Claude Haiku · OpenRouter zero retention

Why my app has no streaks

Nura’s weekly review watches six numbers, and the list is closed in the code. Session length, return rate and streaks are written down as things it never tracks, and a recovery sweep that would have nudged people every night was cut to six hours.

The trade-off There is no daily-active chart to show anyone who asks about retention. The real rhythm of use is still unknown, because nobody outside the team has used Nura yet.

Quality review · closed metric list · recovery sweeps


There is no schedule. I write one up when a decision took long enough to be worth recording.