featkpr writes down what your app does, for your team to keep.
featkpr builds a feature inventory of your web app: features, how they connect and the user flows to each goal, from code and screens, for your team to approve.
See it on your app: half an hour with Tim on the live app, your questions first.See it on your app, on a call with Tim.
Read the film: what is said, and what is on screen
- 0:00
Nobody knows everything your app does.
On screen: A keeper with a lantern walks along a dark building of many windows (your app) and raises the lantern; one window high up lights.
- 0:03
featkpr keeps a living map of what your app does, so docs, tests and reviews are always correct.
On screen: The building fades to an outline, and a route climbs through it, lighting one point at a time.
- 0:11
Take BookStack, a wiki we don't own.
On screen: The outline becomes BookStack's map, its modules labelled (Entities, Settings, Users, Exports, Permissions and more), under the line: an open-source wiki we don't own.
- 0:14
One thing it does: restore an old version of a page.
On screen: BookStack's own Page Revisions screen (a crawl capture); the pointer reaches Restore on an old revision.
- 0:17
featkpr finds it in the code, and on a running copy.
On screen: Beside it, the code: PageRepo.php:259, restoreRevision, joined by a line to the same screen on a running copy.
- 0:21
It writes down the feature, and the goal behind it.
On screen: featkpr's record of one feature, read 2 Oct 2026: the feature Restore a previous page revision (BookStack, Entities, seen in the code and on a running copy), and under it the goal Restore the page.
- 0:24
Then it tests that goal in pairs: delete a revision, then restore it.
On screen: The revisions screen again, with a note that the test sends requests and does not click: step 1, delete the revision, answers 200. The keeper walks up to a closed door.
- 0:28
Stop, stop, stop.
On screen: No words: a slide whistle falls. The keeper throws up a hand at the door, which glows red.
- 0:31
A person reproduced it by hand: a real BookStack bug, now reported.
On screen: A red chip: 500 instead of 404, should say "not found", crashed instead. He pins a note to the door (BookStack, 500 not 404, by hand, 29 Sep); a line reads: reported to BookStack, #6233, open, milestoned for v26.09.2, read 4 Oct 2026.
- 0:36
That was one feature.
On screen: The picture flashes red, then pulls back to BookStack's whole map, the one feature marked on it.
- 0:39
featkpr wrote down 312.
On screen: Every feature on the map lights up.
- 0:42
Every test also runs as the wrong user, and must fail.
On screen: Beside the map, featkpr's Runs screen for BookStack, the run of 28 Sep: 311 of 311 tests pass; 276 also fail as the wrong user, proven; 35 not proven; 0 failed. The map's squares take the run's colours.
- 0:46
Five more apps came in through Add an app.
On screen: The camera pulls back to a street of buildings, each an app with its count: Formbricks 89 features, Immich 294, countbean (read, none named yet), BookStack 312, InvenTree 240, Shlink 25, and featkpr itself, 146 features and 45 goals.
- 0:49
Yours comes in the same way: paste its repository, and the map starts.
On screen: An empty lot labelled your app (a placeholder): the Add an app screen takes a repository's address, and the lot starts to fill with squares.
- 0:53
Your team keeps each piece, or marks it not needed.
On screen: The keeper stamps a card: Restore a previous page revision, BookStack, Entities, kept by your team, beside the buttons Keep and Not needed. A line reads: a sketch of your review, not real verdicts.
- 0:57
What lived in a few people's heads is now written down, and agreed.
On screen: BookStack's map, people beside it with thought bubbles holding pieces of it; the legend reads kept, not needed, waiting, and the map gets an outline: written down, agreed by your team.
- 1:01
Anyone who asks gets the same answer.
On screen: People labelled product, QA, support and new hire each ask a question, and each gets the same map.
- 1:04
Now your whole team knows what your app does.
On screen: The building from the opening, every window lit, the team standing in front of it; an inset shows 0:00, the same building.
- 1:07
Half of developers lose ten hours a week, and finding information is the top cause.
On screen: 50% of developers lose 10+ hours a week; #1 cause: finding information. Survey: Atlassian, State of Developer Experience 2025, 3,500 developers and managers.
- 1:12
featkpr is built to give that time back.
On screen: The lit building and a clock: built to give that time back, marked featkpr's aim, not a measured result.
- 1:16
We map open-source apps in the open: features, flows, tests.
On screen: The street of apps again, marked public on featkpr.com/library, mapped by featkpr, not by the apps' makers. Three chips: features, 5 open-source apps; flows, BookStack; tests, BookStack, run daily.
- 1:21
Next: user guides, updated with every release.
On screen: A dashed card: user guide, written from the map, marked NEXT; a line reads: next, planned, not in featkpr yet.
- 1:25
See it on your app: ask for a private demo.
On screen: The featkpr mark rises over the street, then the end card: the featkpr mark and name, A shared understanding of what your app does, featkpr.com/demo, and Voice: synthetic (ElevenLabs) · Script: Tim.
Voice: a synthetic voice (ElevenLabs, "Jon"). Script: Tim. The feat-keeper, the building, the doors and the people are drawn, as a story; the map, the feature, the goal, the Runs screen and the BookStack screens inside the film are featkpr's own records of BookStack, and the Add an app screen is shown on a placeholder repository.
312 features: featkpr's records of BookStack, exported 30 Sep 2026 · the bug: BookStack issue #6233, reproduced by hand on v26.09.1

It walks your app room by room, and draws the map #
Every route and screen becomes a feature. Each feature groups the goals people reach there, and a flow is the path a person takes to one of them.

Your team keeps or drops each piece #
One question at a time, over the real screen it is about. Until someone answers, a default holds, so nothing stalls.
The app screens on this page run on sample data, so the numbers inside them are examples. BookStack's own numbers are in the lines under the headings, each with where it was read.

It says what it found, and what it missed #
The bug in the film, told as it happened: a run could not prove one pair, and a person looked.
- 28 pairs of goals, run on BookStack Each pair asks whether one goal depends on another. 27 were proven. the pair run of 29 Sep 2026
- One pair ended in a server error Restoring a deleted revision should be refused as not found. BookStack crashed instead, so the pair stays unproven, never refuted.
- A person reproduced it by hand, and reported it BookStack issue #6233, still open. The whole story, on the blog
after a deletes revision id, b sends
PUT /books/{book}/page/{page}/revisions/{id}/restore must answer
404 Not Found
as showing, comparing or deleting that revision already do
answered
500 Server Error
BookStack v26.09.1, reproduced by hand
The receipts #
- 298 features of BookStack, in 13 modules: drafted from its code and a running copy. BookStack is an open-source wiki we don't own.featkpr's records, exported 20 Oct 2026 Explore them
- 149 flows ending at 89 features: each waiting on a person's keep or drop; BookStack isn't ours, so they wait for a reviewer.the Flows board, read 20 Oct 2026 The Flows board
- 276 of 311 tests proven to check something: each is sent again as a user who should get the opposite answer, and it must then fail.the run of 20 Oct 2026, 03:29 UTC The report
- 605 of 2,372 things featkpr missed, counted: against an answer key built from BookStack's own route list, templates and seed.the audit of 26 Sep 2026 Every step's misses
See BookStack's map on a call, then yours #
Half an hour with Tim on the live app and BookStack's real records. Bring the questions you would ask about your own app.
Ask for a private demo- You askOne email is enough. Tim reads each one and writes back.
- A live half hour on BookStackTim shows you the real app and the map of BookStack, your questions first.
- Your app nextToday we set up each app ourselves, from your repository and a throwaway copy. We take a few teams at a time.
- A private read-only demo, for your teamFor people you invite, behind a one-time code, once the proof is worth showing; until then, the call is the demo: decided 27 Sep, not built yet.



