blinkneuron

After hours

I build things to find out whether I can.

In the evenings I build my own ideas, accelerated by AI — but the responsibility for the result stays with me. Every project here has a real user: my kids, people I work with, or me. So none of them is allowed to almost work.

See the projects Write to me

The Ulam spiral. One cell per number, primes lit. Nobody fully knows why they fall onto diagonals — and a child rediscovers that alone, by solving tasks in Ulam.

First app on Google Play

Ulam — maths as a puzzle, not a drill

An app for practising maths in grades 1–4, built for my eight-year-old son. The tasks follow Alfik Matematyczny, a Polish contest where wit and putting facts together count for more than knowing the school rules. The child types a number instead of picking one of five answers — a typed number cannot be guessed. Every solved task lights the next cell in the Ulam spiral.

  • 1038 contest tasks, 2015–2025, with the answer keys
  • 13 question generators; every question replays from (id, seed)
  • 57 tests; one of them runs 400 seeds through every generator
  • Fully offline. No account, no ads, no data collected.

Status: ready for its first release on the Google Play internal testing track. There is no store link yet — it appears here when the app gets through.

Privacy policy Google Play — soon

What else I built

The rest of the workshop

Three statuses, no spin. Cyan — it runs and you can open it. Violet — still being built. Empty ring — private, because it holds my family's data.

Live · public

Kvasir

One page, one answer: which AI agent to start for this task, today. It merges three public sources — CursorBench (cost and steps per real task), AI Stupid Level (whether a model is quietly getting worse) and GitHub Copilot pricing — and never shows a number without the effort level it was measured at.

Python · FastAPI · SQLite

In progress

Minerals

An asteroid-mining game for a phone. Pick a rock off the sector chart, fly there, drill through its cross-section with a finger, haul the ore home, sell, upgrade the ship. The economy is integer-only and both the sector and every mining grid are pure functions of their seeds, so a save never breaks between versions.

React · TypeScript · Canvas 2D · PWA

In progress · public deck

talented-hr

A system that answers one question: who fits this role, on this project, in this team — and why. It returns no verdict and no bare score. Every result carries its hard mismatches, the contribution of each term and a written justification. That is the only way such a system may stand under the GDPR and the AI Act.

Python · FastAPI · SQLite

Private · family

Harpa

It takes a real song and turns it into a key sequence a child can actually play on a keyboard, in tempo. It exists so that a kid wants to sit down at the instrument. Importing a song from a URL is automatic; the only human part left is the ear test.

Python · FastAPI · PWA

Private · family

DadQuest

Exploring the real world with my kids, gamified. Mountains are the first quest line; castles, caves and bike routes wait as sibling modules. A new feature here is a module, never a patch to the core.

Node · SQLite · React

How this gets built

AI acceleration is not an excuse from engineering

  1. 01

    First I check whether it already exists.

    Before anything gets built I look for the owner of the subject — in my own ecosystem and in the world. Reinventing a wheel that already turns somewhere is a defect, not a neutral decision.

  2. 02

    Every project has one thing that must never break.

    In Ulam: a question carries the answer it will accept, and that answer is right — a wrong answer in a child's maths app is worse than no app. In Minerals: the economy is integer-only and generation is deterministic. That one property has a named test, and the test has to stay green.

  3. 03

    I think out loud, and not in a straight line.

    I have ADHD. Threads interleave and a digression arrives in the middle of a sentence. Instead of fighting that, I built a pipeline for it: I speak the thought, a local Whisper writes it down, and a tool folds it into an ordered prompt. Chaos goes in, structure comes out.

  4. 04

    The rules are written down, because AI writes faster than I read.

    Every project shares one constitution: the language rule, how a change may be made, the deploy doctrine, where the signing keys live. An agent gets it at the start of a session, so it never has to guess how the work is done here.

Where this comes from

Five things I do without trying

From CliftonStrengths 34 (12 December 2020). They are here not as decoration, but because you can see them in the code.

  1. 1

    Analytical

    Before I believe it, I look for the proof. That is why no number on Kvasir appears without the effort level it was measured at.

  2. 2

    Responsibility

    Taken on means finished. An app for my own child cannot break in his hands, and it has to work when the home server is asleep.

  3. 3

    Restorative

    My favourite moment is the one where something is broken and it is clear it can be taken apart. Most of these projects start exactly there.

  4. 4

    Harmony

    I look for the version everyone can live with. In the code that shows up as one constitution for all the projects, instead of separate habits in each of them.

  5. 5

    Input

    I gather the material before I build. Ulam started as a corpus of 1038 contest tasks from ten years, and only then got its first screen.

Leading domain: Executing.

What that is like from the inside

A questionnaire cannot see inside anybody, and this one told me nothing I had not already suspected about myself. It did something else: it put names on things I had noticed in pieces, and it settled what until then I only assumed. That is about as much as an instrument like this can honestly do.

What it does explain is how those five behave in a head with ADHD, where attention is not a dial I turn: it is either spread across nine threads or nailed to one thing for six hours. Analytical and Input aim that spotlight — at how a thing really works, and at the material I want in hand before I start building. Restorative is what pulls it: something broken, with a lid I can get off. Good engine, poor steering. Responsibility is the brake that finishes the thing after the hyperfocus has left the room — and the rules are written down because I cannot count on remembering what I decided yesterday.

It is also where the homelab comes from. A server in my own house is a thing I am allowed to open. Everything on this page runs on hardware I can put a hand on, so when it breaks I get to work out why — and the working out is the part I am here for. The question is always what is over the next hill. Right now the hill is Google Play: can I take something I wrote myself and get it onto my son's tablet through the front door, the way any other app arrives.