Bright ideas · Powerful experiences

LumenHarbor

A small studio on the edge of Walsall, building software that teaches by showing.

Most software wants your attention. Ours wants to give something back and then get out of the way. LumenHarbor Studio makes small educational applications for Android — the kind you open because there is something you do not yet understand, and close again once you do.

The lighthouse is not decoration. It is the whole brief: hold a light steady on one spot until whoever is looking can finally see the rocks.

We work on subjects that are usually taught badly. Not because the teachers are poor, but because the medium is wrong — a static diagram of a sorting algorithm is a photograph of a river. The thing worth understanding is the motion, and motion needs a screen that moves.

What we hold to

The device does the work. Every application we publish runs its computation on the phone in your hand. There is no server of ours in the loop, which means no outage, no breach of a database we should never have built, and no version of your progress sitting somewhere you cannot reach.

No account, ever, for anything that does not need one. A registration wall in front of a teaching tool is a toll booth on a footpath. If a feature genuinely requires identity it can wait until it does, and so far none has.

Show the real thing. Teaching software that simplifies its subject into something untrue teaches the untruth. When we display code, it is code that runs. When we display a data structure, it is the structure the code is actually operating on, changing in the same instant.

Every permission is borrowed, not taken. The manifest is read line by line before each release. Anything we cannot defend in a single plain sentence gets removed, along with whatever feature asked for it.

Under the lamp

Work in progress, without dates attached, because dates on a two-person studio are decoration. Graph traversal — breadth-first and depth-first walks with the frontier drawn as it grows — is written and being fitted into the existing player. A pathfinding module covering Dijkstra and A* exists as notes and one very ugly prototype. Beyond that we are looking at binary search trees, and beyond that we are not looking yet.

Roughly one release every few months. A quiet month means nothing broke and nothing was missing.

Occasionally something gets abandoned. A recursion visualiser took three weeks and never became clearer than a whiteboard, so it was deleted rather than shipped. That is a normal outcome and not a failure.

Sortwise

com.algobloom.sortwise

Watch it happen, line by line

step 0 compare 0 swap 0

Pick an algorithm and watch a row of bars sort itself, with the pair being compared lit up as it happens. Alongside the animation runs the real Python implementation, and the current line highlights in step with the bars, so you can see exactly which line causes which swap.

Step through move by move to study a tricky part, or let it run and watch the pattern emerge. Each algorithm carries a plain-language explanation of how it works and what it costs in time and space. Feed in your own array, or race two algorithms on identical data to see why one finishes while the other is still thinking. A short quiz asks you to predict the next step rather than recite a definition.

It runs entirely on the device. No account, no connection, no advertising.

BubbleSelectionInsertionMergeQuickHeap

Asked of us

Is the code on screen the code that is running?
Yes. The animation is driven by the implementation shown, so the highlighted line is genuinely the line producing the swap you are watching. It is not a recording played back beside a listing.
Does it need a connection?
No. Every algorithm, explanation and quiz question ships inside the application. It works in aeroplane mode and it works underground.
Why Python, when the app is written in Kotlin?
Because Python reads closest to pseudocode, and the point is the algorithm rather than the language. The behaviour you watch transfers to any language you later write it in.
Can I use my own data?
Type any array of numbers and every algorithm will chew through it. There are also generators for nearly-sorted, reversed and few-unique inputs, which is where the differences between algorithms become obvious.
Where does my quiz score live?
In the application's private storage on your own phone. It is not uploaded, so it also does not follow you to a new device.
Advertising or purchases?
Neither. Should that ever change, the privacy notice is rewritten before the release goes out rather than after it.
How do I report something broken?
Write to us with your device model, Android version and the algorithm involved. That trio usually removes a day from finding the cause.

Registered particulars

South Cannock Farm Secure Dog Walking Limited trading as LumenHarbor Studio
Registered in England and Wales
Director: Jade Dunkley

26 Jacobs Hall Lane
Walsall WS6 6AD
United Kingdom

harbor@southcannockfarm.today

Everything we know about what Sortwise does with your data is written out in the privacy notice. It is short, and it is worth the two minutes.