featkpr

Half an hour with featkpr, on a real product

Tim walks you through the app on BookStack, an open-source wiki we don't own: what featkpr found in its code, the flows it drafted, the tests it wrote and the wrong-user check. Your questions go first.

Tell us where to write #

A work address helps Tim prepare; any address works.

What best describes you? (optional)

Tim Derzhavets reads it and replies by hand, usually within two working days, with times for a 30-minute call. Toronto, Eastern time.

One email confirms we have it; nothing else arrives unless you tick the box. What we keep. Prefer email? hello@featkpr.com

  • 30 minutes, liveon a call, on the real app, with Tim at the keyboard
  • On BookStackfeatkpr's own screens on an open-source product, no slides
  • A reply by handtwo or three time slots to choose from, usually within two working days

What the half hour coversWhat happens when you press send

What the half hour covers #

The usual order. Your questions can reorder it, and the call stops where you want to look closer.

  1. 0–5 minpart 1 of 6

    Your product first #

    What you build, who uses it, and what worries you when it changes. The rest of the call follows that.

    BookStack development code · MIT licence · crawl of 25 Sep 2026

    the product on the call: BookStack's home, a crawl capturea crawl capture of BookStack
  2. 5–11 minpart 2 of 6

    What featkpr found in the code #

    BookStack's routes, handlers and permission checks, named as features in modules. You see a module open to its features, and what featkpr missed when it started again with no help.

    312 features in 13 modules, featkpr's records exported 28 Sep 2026 · the missed-items check missed 605 of 2,372

    Features: one module, each feature by how far it gotfeatkpr's app
  3. 11–17 minpart 3 of 6

    The flows it drafted #

    Goals written in words and the flows people take to reach them, screen by screen, drafted from the crawl. Each one waits for a person to keep or drop it.

    149 flows to 88 goals · read from the Flows board on 28 Sep 2026

    Flows: goals by module, each flow waiting on a verdictfeatkpr's app
  4. 17–23 minpart 4 of 6

    Tests, and the wrong-user check #

    The tests featkpr wrote, what each one sent and what came back. Then the same test sent again as the wrong user, someone who should get the opposite answer: the test must then fail.

    the latest run, 28 Sep 2026, 06:06 UTC, on BookStack v26.09's code: 311 tests passed; 276 proven by the wrong-user check (28 Sep 2026, 06:33 UTC); 35 unchecked

    Runs, for BookStack: a run of 26 Sep, 11:17 UTC; the counts beside it are the latest run'sfeatkpr, on BookStack's own run
  5. 23–27 minpart 5 of 6

    What a pull request reaches #

    For one change: the files it touches, the gated routes behind them, the scenarios pinned to those routes and the tests to check again.

    the screen is sample data · The merge-request verdict, posted with the change's own code run: this week, the pull request's own code ran on BookStack #6213 on 28 Sep (0 broke, 19 held, 5 not proven); next, it posts on every push and fills the Goal sheets page

    Request: one change traced from files to testsfeatkpr's app
  6. 27–30 minpart 6 of 6

    Your product, and what it takes #

    Whether featkpr reads your stack today, what we would need from you, and where your code would go.

    PHP (Laravel, Mezzio), Python (FastAPI, click) and React today · Node next

    What it takes, today
    No screen for this part.You talk, Tim answers: the stack you run, the roles your users have, and the parts of the product that break most when they change.

What it takes, today #

Works withPHP (Laravel, Mezzio), Python (FastAPI, click) and React today: Laravel routes, permission checks and templates (16 of 359 routes missed on BookStack), Mezzio routes read on Shlink, and featkpr's own API, commands and React screens read on its own code since 28 Sep. Node comes next.
We needRead access through one token from a prefilled page: it reads the code and the pull requests and posts one verdict comment; never commit statuses, webhooks or admin rights. And a test copy of the app we can start and seed with one user per role. Never your production. Today we set up each app ourselves.
Being builtAdding an app yourself, decided 28 Sep: paste its address, give that one token, and follow a setup list of seven rows beside the first map. Its design, below, was approved on 28 Sep; until it ships, we set your app up with you.
Your code goesTo featkpr's own servers, and, for naming features and drafting flows, in excerpts to hosted AI models through OpenRouter. We name each model before we start.
You getThe map of your app, the flows to keep or drop, and pytest tests that call your app's routes directly (Playwright's request API, no browser yet), each with what it sent and what came back.
PriceNot set yet. The first teams work with Tim directly.
Being built: the setup list beside the map, BookStack at row 3 of 7design, not built yet

What happens when you press send #

Every step below exists today, except the last.

  1. at onceThe form turns into a note

    “Request received. Tim will write to you, usually within two working days.” It names the address, so a typo can be fixed with Edit.

  2. a minute laterOne email saying we have it

    Sent by featkpr, drawn like the app: your request, what happens next, and nothing else. Its words are quoted beside, and it links the BookStack report to read while you wait.

  3. the same minuteTim hears of it

    A message with your role, the product you named, the page and your email's domain. Your full address and your question stay in our own records.

  4. usually within two working daysTim's reply, by hand

    Two or three time slots for the call; Tim is in Toronto, on Eastern time. Reply to pick one.

  5. the day you pickThe walkthrough

    Half an hour on BookStack, in the order above.

  6. not builtRead-only access

    A read-only invite you can share with your team, decided 27 Sep, not built. Until then, the call is the demo: Tim drives, you say where to look.

fromfeatkpr · a DevClusterAI project

Waiting on Tim.

Your request for a private demo is recorded. Tim reads every request himself and writes back to this address by hand, with two or three times for a live walkthrough, usually within two working days. Nothing here waits on you.

  1. Your demo request recorded: the address, the role you picked, and whether you named a product
  2. Tim replies next: Tim reads it and writes back to this address, by hand

Anything else: never. Demo requests sit in a private list that is never mailed: no newsletter, no reminder, not this note again.

the acknowledgement email's own words ·

Ticked the news box? You get a separate email asking you to confirm. Nothing else arrives until you press it.

Who you'll talk to, and where your details go #

Tim Derzhavets #

Tim builds featkpr and runs every call himself. He reads each request and writes each reply by hand.

Where
Toronto, Eastern time
Company
DevClusterAI Ltd, Toronto, Canada
Started
featkpr began on 8 Sep 2026
Write
hello@featkpr.com
More about who makes featkpr, and why

Where what you type goes #

  1. This formemail, product, your question, role, the news box
  2. Cloudflarethis site's host keeps a copy of the request, your question included
  3. Our listlistmonk, which we run, with its database hosted by Fly.io in Toronto. Demo requests go to a private list we never mail; news goes only to people who tick the box and confirm.
  4. Tima message with your role, the product you named and your email's domain

Deleted 12 months after our last message about it, or sooner if you ask.

What we keep, word for word

Ask for a private demo

Open original

↑ ↓ to move, Enter to open, Esc to close