research

Across writing, notes, and work.

2026

AI image detector, one-class

A one-class detector trained only on real images, scoring how atypical an image is in feature space. The hypothesis was that it would generalise to unseen generators better than a discriminative classifier. It did not: the baseline won, including on the held-out generator. A negative result cleanly obtained, with a distributional explanation.

Work

2026

Intent and code

An empirical series on whether an author's why can be recovered from what the code does. You cannot read a purpose off code when several purposes fit it equally well. Checking a declared purpose beats guessing, but dies when the honest declaration already justifies the behaviour.

Work

2026

Does an injected date shift an LLM's preferences?

A pre-registered study of whether putting today's date in a system prompt shifts a model's answers on questions the date is irrelevant to. 39,200 generations. Mixed: irrelevant questions reach significance with tiny effects, and the bigger lever is date versus no date.

Work

2026

Pain point survey

A multi-page survey built around the group most surveys discard: the people who leave halfway. Every completed step upserts into Supabase against a session ID, and the final submit clears a partial flag, so an abandoned response is still a response. Turnstile and rate limiting are both optional.

Work

2026

Skimmilk

A reading tool for dense academic papers. It clarifies jargon in place, contextualises citations so a reference is a claim you can weigh rather than a bracketed number, and reorganises the text for comprehension while keeping full access to the original.

Work

2026

Tension

An operator that deliberates across several cheap passes, stays silent while unsure, and decides for itself when to answer. Adaptive compute worked but is essentially PonderNet. The orthogonal-synthesis geometry is the one result both new and better, extrapolating well outside its training range.

Work