Every app featkpr has read, and what it found in them.
Start from an app on the shelf, or go through the library another way: every feature featkpr named, every goal it keeps, every flow it drafted. Each one links to the others.
every count read from featkpr's records in production, 20 Oct 2026, 12:13 UTC, and checked again at each site ship · BookStack's screen: crawl 25 Sep 2026
code read438 routes and screens read from the codefeatkpr's records in production, read 20 Oct 2026
features named298 features in 13 modulesfeatkpr's records in production, read 20 Oct 2026
screens crawled265 screens (1,194 captures of 245 paths)featkpr's records in production, read 20 Oct 2026
flows drafted149 flows ending at 89 featuresthe Flows board, read 20 Oct 2026
tests run311 tests passed, 0 failedthe newest run, 20 Oct 2026, 03:18 UTC
wrong-user check276 proven by the wrong-user check, 35 uncheckedwrong-user run 20 Oct 2026, 03:29 UTC
GET /books/{slug}/permissions
GET /settings/roles
GET /books/{slug}/page/{slug}/revisions
BookStack as featkpr's crawl captured it, on the throwaway copy, 25 Sep 2026
server
PHP 8 · Laravel 12
client
vanilla TypeScript, Blade templates
licence
MIT
hosted
Codeberg, since April 2026
Why it is here
About the size of a real team's app, MIT, and it starts from one compose file. Its permission scenarios are written down in its own docs, and its release notes name each merge request, so a real change can be traced by hand.
Effects and OpenTelemetry on BookStack's runs · planned, not dated: effects recorded on BookStack's run of 28 Sep at its development tip, not shown here yet; OpenTelemetry measured on one capture run, not on every run yet
605 of 2,372 expected items missed when featkpr started again with no help (26 Sep 2026)
crawl at commit 0f5164ec, the head of pull request #6213 · latest run at 1633b3ab, BookStack's development branch, released as v26.09 the same day
code read335 routes and screens read from the codefeatkpr's records in production, read 20 Oct 2026
features named294 features in 43 modulesfeatkpr's records in production, read 20 Oct 2026
screens crawled161 screens (394 captures of 74 paths)featkpr's records in production, read 20 Oct 2026
flows drafted60 flows drafted from the crawlfeatkpr's records in production, read 20 Oct 2026
tests runno tests run yet
wrong-user checknot run yet
web42
Assets23
Authentication16
Albums12
People12
Server12
Users (admin)11
Search10
Maintenance (admin)9
Shared links9
and 33 more modules with 138 features
the features featkpr named for Immich, by module, read from production, 20 Oct 2026
server
Node · NestJS
client
SvelteKit
licence
AGPL-3.0
hosted
GitHub
Why it is here
The cleanest inputs in the survey: an OpenAPI spec checked in CI, file-based routes, API and web tests in one Playwright config, and the most active maintainers. Added through Add an app on 1 Oct.
Next
Its mechanics page says what each of its goals does. Tests and the wrong-user check are not run yet.
code read722 routes and screens read from the codefeatkpr's records in production, read 20 Oct 2026
features named240 features in 15 modulesfeatkpr's records in production, read 20 Oct 2026
screens crawledno crawl yet
flows draftednot run yet
tests runnot run yet
wrong-user checknot run yet
order40
frontend38
common29
plugin23
stock21
part19
build15
inventree11
users10
scim8
and 5 more modules with 26 features
the features featkpr named for InvenTree, by module, read from production, 20 Oct 2026
server
Python · Django REST framework
client
React · Mantine
licence
MIT
hosted
GitHub
Why it is here
670 API operations in its spec, a Playwright suite to compare with, and 117 on/off settings, each with a name and a description: a feature list its owners already wrote. Added through Add an app on 1 Oct.
Next
A crawl of a running copy, then flows and tests. Not dated.
code read295 routes and screens read from the codefeatkpr's records in production, read 20 Oct 2026
features named89 features in 3 modulesfeatkpr's records in production, read 20 Oct 2026
screens crawledno crawl yet
flows draftednot run yet
tests runnot run yet
wrong-user checknot run yet
web76
V3 Feedback Records8
responses5
the features featkpr named for Formbricks, by module, read from production, 20 Oct 2026
server
Next.js
client
Next.js
licence
AGPL-3.0, with an enterprise folder
hosted
GitHub
Why it is here
The Next.js app of the three, with 48 Playwright specs and screens that only a licence key opens: the paid-tier gate many teams have. Added through Add an app on 1 Oct.
Next
A crawl of a running copy, then flows and tests. Not dated.
code read290 routes, commands and screens readfeatkpr's records in production, read 20 Oct 2026
features named146 features in 4 modules · 45 goalsfeatkpr's records in production, read 20 Oct 2026
screens crawledno crawl of its own app yet
flows draftednot run yet
tests runnot run yet
wrong-user checknot run yet
featkpr's own Home screen, one of the screens it will read
server
Python · Starlette with FastAPI
client
React 19 · TypeScript · Vite
hosted
GitHub
Why it is here
Chosen on 27 Sep as the third app: a second stack (Python and React), and the one app where every feature featkpr names can be checked with the people who wrote it. Since 28 Sep it reviews its own pull requests.
Next
featkpr runs its own goals on a test copy of itself · shipped 30 Sep: A disposable featkpr on the homelab, seeded with made-up data, signed in as the owner and as nobody, with a script per goal rendered from its command. featkpr's own goals now get runs and wrong-user flips, away from production.
read from production 20 Oct 2026 · first verdict on its own pull request #798: Pass, 0 goals
no picture until featkpr has something real to show
server
not checked yet
client
not checked yet
licence
not checked yet
Why it is here
An app a person who does not write code already has opinions about, to test whether a product owner can read featkpr's map without help.
Next
Not scheduled. Nothing run yet.
picked for the product-owner view
The shelf holds the 5 library apps production holds, each at the furthest of the six steps production has a count for, and featkpr's own product. Nothing on it is typed: every site ship reads the numbers from production again and stops if a page claims more than production holds. Open an app for its six steps with their dates, why it is here and what comes next. The picture is BookStack itself, as featkpr's crawl captured it.
A feature is a named part of an app, and it groups the goals kept on its routes. A goal is one thing a person gets done. A flow is how a person moves through the app, screen by screen, to one or more goals. Each app, with what featkpr holds for it at each level; a cell opens that level, filtered to the app.
appFeatureswhat it does, namedGoalswhat a person gets doneFlowshow a person moves through
Immichflows drafted294features in 43 modulesproduction, 20 Oct 2026154goals from the code, none proven yetproduction, 20 Oct 2026 · not listed here yet60flows drafted from the crawlproduction, 20 Oct 2026 · not listed here yet
featkpr itselfnamed146features in 4 modulesproduction, 20 Oct 2026 · its records stay private45goals from its own codeproduction, 20 Oct 2026 · not published herenone yet: no crawl of featkpr's own app
The other 3
Uptime Kuma, Paperless-ngx and Actual Budget: weighed in our research, not read in production. Nothing in any dimension yet; open each on the shelf above for where it stands.
A real thread from BookStack's records: the app, one feature, the goals kept on its routes, and the flows that end there. The links are by route; every stop opens its own page.
“View the list of items I've marked as favourites.”
this flow · waiting on a person to keep or drop it
/
/settings
/settings/{category}
/settings/audit
“Starting from the homepage, navigate through settings to view the audit log.”
this flow · waiting on a person to keep or drop it
On the Flows board this feature is one goal of its flows; in the goal records it is part of 2. The two counts of goals differ for this reason, and both are true.
Five stops, the same for every app. Below each stop is what it produced for BookStack.
Screens of featkpr's app run on sample data, so the numbers inside them are examples, not BookStack's. The first stop's screens are the first design of 28 Sep; Add an app shipped on 30 Sep as one flow (see the roadmap). The run verdict is BookStack's own.
How to check it out, start it on a throwaway copy and seed one user per role. Since 30 Sep you add the app yourself, as one flow: paste the address, give one token from a page that opens already filled in, then First read, Answers and Go. The screens below are the first design of 28 Sep; the flow as released differs.
written for each app · a few files
The first design, 28 Sep: paste the address; featkpr names the platform with one anonymous call.
The first design, 28 Sep: one token, from a page that opens already filled in.
The first design, 28 Sep: the setup list beside the first map, BookStack at row 3 of 7.
Starting the app on a throwaway copy is not in the flow yet, so it is still a folder we write per app: targets/bookstack/ product.toml ae/checkout.sh ae/start.sh ae/routes.sh owners.toml glossary.toml
Shlink's folder has product.toml, owners and a glossary, and no start script yet: that is why its column stops at two steps.
A throwaway copy is walked, signed in as the admin today, its create forms are sent, and each goal gets the flow a person takes to it, screen by screen.
the same for every app · model calls only to draft the goals
a drafted flow: its real screens, left to right
167 screens as Admin (25 Sep 2026) · 149 flows ending at 89 features (20 Oct 2026).
Tests are written per route and role and run. Each is sent again as the wrong user, who should get the opposite answer, and must then fail. Then featkpr starts again with no help, and each step is compared with a key (for routes, the list the reader itself uses).
the same for every app · no model call for the run
Runs, in featkpr, for BookStack: the run of 26 Sep, 11:17 UTC, earlier the same day on the same commit
276 of 311 proven by the wrong-user check (20 Oct 2026, 03:29 UTC) · 605 of 2,372 items missed (26 Sep 2026).
The pipeline is the same for every app; the reader is not. Every reader featkpr has, from production's records: which app each one read and how many routes, the readers built but not run on a library app yet, and the common stacks with no reader.
stack
routes read
features named
crawled
tests run
what the reader reads, and where it stands
Read in production 10
Python · Djangoread on InvenTree (681 routes)
the URLconf from ROOT_URLCONF through every include, DRF views and routers
PHP · Laravelread on BookStack (438 routes)
the route table, the Blade templates, the language strings and the permission checks
Any stack · an OpenAPI specread on Immich (276 routes) and Formbricks (13 routes)
the app's own OpenAPI 3 or Swagger 2 files
TypeScript · Next.jsread on Formbricks (282 routes)
App Router and Pages Router file routes, the middleware matcher
TypeScript · TanStack Routerread on featkpr itself (127 routes)
the route files, their gates and the API calls each screen makes
Python · click CLIread on featkpr itself (91 routes)
the leaf commands
Python · FastAPI and Starletteread on Immich (3 routes) and featkpr itself (72 routes)
the routes and their declared gates
TypeScript · SvelteKitread on Immich (56 routes)
the src/routes tree: pages and server routes
TypeScript · React Routerread on InvenTree (41 routes)
route trees in JSX, router objects and v7 routes files
PHP · Mezzioread on Shlink (28 routes)
the action and config routes
Reader built, no app in production read with it yet 3
Any stack · the shipped frontend bundlein the code; no library app on this stack yet
Read from production 20 Oct 2026: which reader read each library app, and the routes and screens it read there at the app's newest commit. A cell is filled when an app read with that reader reached that step. A reader in the code that no library app was read with is listed as built, never as read. The stacks with no reader are the common ones our research met while counting apps (below); asking for one is how it gets a plan item.
Before any app was mapped, our research counted each candidate the same way (17 Sep): 8 were set aside and 2 kept as alternates. On 28 Sep we counted 43 more open-source apps on the same rules, the 6 still on the list among them, not to choose them but to see what holds at scale.
chosenkept as an alternateset asidecounted for scale, not chosenthe median, 24.6 spec files per 100 screens
our research on which apps to map first (report T2, counted 17 Sep 2026 from each repository's files and committed specs). The 43 counted for scale: tools/library_count.py, T2's protocol made mechanical; each repository shallow-cloned at its default branch on 28 Sep 2026. An app with no end-to-end suite sits on the floor, at 0; an app with no screen count is only in the table.
Of the 57 apps counted, 14 have no end-to-end suite in their repository, and 19 ship an API spec with their code. Of the 40 with both counts, 20 have fewer than one end-to-end spec file for every four screens (the median is 24.6 per 100 screens), and 8 have more spec files than screens. In 32 of those 40, the end-to-end suite has fewer spec files than the app has screens.
14 apps from research report T2, counted 17 Sep 2026; 43 counted 28 Sep 2026 by tools/library_count.py at each repository's default branch, the commit under each app in the table. These are files, not tests: one spec file can hold many tests.
A licence that lets us publishthe map and the tests are published; an open-source licence (or source-available) is the floor
Enough screensa first app about the size of a real team's; the next ones two to three times that, not six
An API spec in the repoa committed spec makes the count exact and gives the reader a second source
An end-to-end suitetests the maintainers wrote are the answer key our drafted tests are compared with
Named flags or settingsa list of switches with names is a feature list the owners already wrote
Maintainers who answerfindings go back to them, so a live tracker matters
Every app our research counted: 57, with its counts and the reason
app
licence
screens
API ops
e2e specs
named switches
the reason
The first app
BookStackwiki · PHP · Laravel
MIT
93
77
0
44 env flags, eighty-nine permissions
the first app: MIT, one compose file, written permission scenarios; 1,598 PHPUnit tests instead of an end-to-end suite
The next three
InvenTreeinventory · Django · React
MIT
87
670
26
117 named on/off settings
the biggest API of the three, a Playwright suite, and a settings list with names and descriptionsRecounted 28 Sep at c2b7f71f2: the same, 87 screens, 26 e2e specs
Immichphotos · NestJS · SvelteKit
AGPL-3.0
56
276
49
16 feature switches
a spec checked in CI, file routes, the most active maintainersRecounted 28 Sep at aa0233784: the same, 56 screens, 276 API ops, 49 e2e specs
Formbrickssurveys · Next.js
AGPL-3.0 + ee
76
72
48
licence-key gates
the Next.js app, with paid-tier screens behind a licence keyRecounted 28 Sep at 43db6ad83: 78 screens (T2: 76) · 49 e2e specs (T2: 48); 72 API ops the same
Kept as alternates
Documensodocument signing · React Router 7
AGPL-3.0 + ee
115
not counted
132
1 flag
kept as an alternate: 132 end-to-end specs to compare againstRecounted 28 Sep at a1d4bec14: 112 screens (T2: 115) · 135 e2e specs (T2: 132)
Chatwootcustomer support · Rails · Vue
MIT + enterprise
not counted
154
3
70 named flags
kept as an alternate: 70 flags with display names
Set aside
Cal.diyscheduling · Next.js
MIT
78
121
53
none
rarely maintained; its README says personal, non-production use
Medusacommerce · Node · React
MIT + ee
186
486
0
9 flag files
too big for the next step, and no end-to-end suite
TwentyCRM · NestJS · React
AGPL-3.0 + ee
186
not counted
9
15 flags
its API is generated per object in GraphQL, so it cannot be counted like the others
Planeproject tracking · Django · Next.js
AGPL-3.0
72
not counted
0
1 flag file
no end-to-end suite to compare with
Baserowno-code database · Django · Nuxt
MIT + premium
54
not counted
37
licence tiers
hosted on GitLab, and its tiers split the code
Zulipteam chat · Django · Tornado
Apache-2.0
not counted
not counted
20
9 flag files
few distinct screens
Syliuscommerce · PHP
MIT
not counted
not counted
0
none
no end-to-end suite, and PHP is already covered by BookStack
Firefly IIIpersonal finance · PHP
AGPL-3.0
not counted
not counted
0
none
no end-to-end suite, and PHP is already covered by BookStack
Counted for scale, not chosen: 43, by the stack of their serverCounted to see the pattern, not to choose: T2's rules, at the commit shown under each reason.
JavaScript and TypeScript 14
Directusdata platform · Node · Vue
MSCL-1.0 (source-available)
73
136
99
not counted
counted for scalegithub.com/directus/directus at 1694b1904 (25 Sep), counted 28 Sep
Ghostpublishing · Node · Ember/React
MIT
no count
no spec
101
not counted
no screen count: the admin is moving from an Ember router to React routersgithub.com/TryGhost/Ghost at 7c3067680 (28 Sep), counted 28 Sep
HoppscotchAPI client · Vue · NestJS
MIT
32
no spec
0
2 on/off keys in .env.example
counted for scalegithub.com/hoppscotch/hoppscotch at a9ffa29ce (23 Sep), counted 28 Sep
Linkwardenbookmarks · Next.js
AGPL-3.0
36
no spec
1
not counted
counted for scalegithub.com/linkwarden/linkwarden at 952ac4540 (9 Sep), counted 28 Sep
n8nworkflow automation · Node · Vue
Sustainable Use (fair-code) + ee
61
32
284
not counted
routes that render a view in the Vue routergithub.com/n8n-io/n8n at 41dbfd987 (28 Sep), counted 28 Sep
NocoDBno-code database · Node · Nuxt
Sustainable Use (fair-code)
66
278
0
not counted
counted for scalegithub.com/nocodb/nocodb at 8cfa45dcb (28 Sep), counted 28 Sep
Outlineteam wiki · Node · React
BSL-1.1
32
no spec
0
6 on/off keys in .env.sample
on the list since 17 Sepgithub.com/outline/outline at 179d7dd7b (27 Sep), counted 28 Sep
Rocket.Chatteam chat · Meteor · React
MIT + ee
no count
no spec
280
not counted
no screen count: routes are registered across the client codegithub.com/RocketChat/Rocket.Chat at b149e10ee (28 Sep), counted 28 Sep
no screen count: routes are built from URL helpers in codegithub.com/saleor/saleor-dashboard at 8d678ea21 (28 Sep), counted 28 Sep
Strapiheadless CMS · Node · React
MIT + ee
no count
no spec
100
not counted
no screen count: the admin routes are declared across each packagegithub.com/strapi/strapi at bba9685b9 (28 Sep), counted 28 Sep
Supabase Studiodatabase dashboard · Next.js
Apache-2.0
190
170
29
not counted
counted for scalegithub.com/supabase/supabase at 8e2071247 (28 Sep), counted 28 Sep
Umamiweb analytics · Next.js
MIT
59
no spec
8
not counted
counted for scalegithub.com/umami-software/umami at ec0ff5038 (16 Sep), counted 28 Sep
Uptime Kumauptime monitor · Node · Vue
MIT
15
no spec
7
not counted
already on the plan (Node and Django readers)github.com/louislam/uptime-kuma at b6adc19d0 (23 Sep), counted 28 Sep
Wiki.jswiki · Node · Vue
AGPL-3.0
no count
no spec
1
not counted
no screen count: pages are server templates plus Vue apps, not one rulegithub.com/requarks/wiki at 712a3a5bb (22 Sep), counted 28 Sep
Python 8
ERPNextERP · Frappe (Python)
GPL-3.0
no count
no spec
0
not counted
no screen count: screens are generated from DocType recordsgithub.com/frappe/erpnext at 89f490f72 (28 Sep), counted 28 Sep
Mealierecipes · FastAPI · Nuxt
AGPL-3.0
66
no spec
2
not counted
counted for scalegithub.com/mealie-recipes/mealie at 86aec702a (28 Sep), counted 28 Sep
Odoobusiness suite · Python · OWL
LGPL-3.0
no count
no spec
525
not counted
no screen count: screens are XML view records, not page filesgithub.com/odoo/odoo at a240a91eb (28 Sep), counted 28 Sep
Paperless-ngxdocuments · Django · Angular
GPL-3.0
21
no spec
5
not counted
already on the plan (Node and Django readers)github.com/paperless-ngx/paperless-ngx at 88000aab4 (28 Sep), counted 28 Sep
PostHogproduct analytics · Django · React
MIT + ee
169
no spec
43
3 on/off keys in .env.example
the scene routesgithub.com/PostHog/posthog at cb4522375 (28 Sep), counted 28 Sep
Taigaagile boards · Django · AngularJS
AGPL-3.0 front · MPL-2.0 back
72
no spec
47
not counted
on the list since 17 Sepgithub.com/taigaio/taiga-front at d2da06116 (4 Sep), counted 28 Sep
WagtailCMS · Django
BSD
165
no spec
8
not counted
counted for scalegithub.com/wagtail/wagtail at e57ccdbc0 (25 Sep), counted 28 Sep
Weblatetranslation · Django
GPL-3.0
120
202
1
not counted
on the list since 17 Sepgithub.com/WeblateOrg/weblate at 6ff77533c (27 Sep), counted 28 Sep
PHP 7
Akauntingaccounting · Laravel
BSL-1.1
121
no spec
0
4 on/off keys in .env.example
counted for scalegithub.com/akaunting/akaunting at 0c7792b2e (27 Sep), counted 28 Sep
FreshRSSfeed reader · PHP
AGPL-3.0
63
no spec
0
not counted
counted for scalegithub.com/FreshRSS/FreshRSS at a8e5e6300 (28 Sep), counted 28 Sep
GLPIIT service desk · PHP · Twig
GPL-3.0
315
no spec
107
not counted
one PHP file per page in front/github.com/glpi-project/glpi at af37be7a7 (28 Sep), counted 28 Sep
Kanboardkanban · PHP
MIT
102
no spec
0
not counted
counted for scalegithub.com/kanboard/kanboard at cf53b5459 (11 Sep), counted 28 Sep
Kimaitime tracking · Symfony · Twig
AGPL-3.0
48
no spec
0
not counted
counted for scalegithub.com/kimai/kimai at 8528bb174 (27 Sep), counted 28 Sep
Nextcloud serverfile sync and share · PHP · Vue
AGPL-3.0
no count
301
102
not counted
no screen count: pages are PHP templates and Vue views in each bundled app, with no one rule for bothgithub.com/nextcloud/server at c41a9138d (28 Sep), counted 28 Sep
Snipe-ITasset management · Laravel
AGPL-3.0
154
no spec
0
29 on/off keys in .env.example
counted for scalegithub.com/grokability/snipe-it at d5bf95c02 (26 Sep), counted 28 Sep
Ruby on Rails 5
Discourseforum · Rails · Ember
GPL-2.0
166
no spec
295
not counted
on the list since 17 Sep; Ember route files of the core app; the bundled plugins are not countedgithub.com/discourse/discourse at 3b6713ef7 (28 Sep), counted 28 Sep
Mastodonsocial network · Rails · React
AGPL-3.0
214
no spec
107
2 on/off keys in .env.production.sample
on the list since 17 Sepgithub.com/mastodon/mastodon at 35c345010 (28 Sep), counted 28 Sep
OpenProjectproject management · Rails · Angular
GPL-3.0
406
331
787
not counted
on the list since 17 Sep; server-rendered pages only; the Angular screens are not countedgithub.com/opf/openproject at c0146dbdd (28 Sep), counted 28 Sep
Redmineproject tracking · Rails
GPL-2.0+
223
no spec
28
not counted
counted for scalegithub.com/redmine/redmine at c9008f4ce (28 Sep), counted 28 Sep
Zammadhelpdesk · Rails · Vue
AGPL-3.0
no count
no spec
286
not counted
no screen count: two front ends (CoffeeScript and Vue) with different routersgithub.com/zammad/zammad at 619ef87bb (28 Sep), counted 28 Sep
Go 4
Giteacode hosting · Go templates
MIT
111
537
30
not counted
counted for scalegithub.com/go-gitea/gitea at fba8d7eac (28 Sep), counted 28 Sep
Grafanadashboards · Go · React
AGPL-3.0
90
314
213
not counted
counted for scalegithub.com/grafana/grafana at 5f4490098 (28 Sep), counted 28 Sep
Mattermostteam chat · Go · React
Apache-2.0 + ee
no count
605
996
not counted
no screen count: routes are declared across the React code, not one router filegithub.com/mattermost/mattermost at 05553d083 (28 Sep), counted 28 Sep
Vikunjatasks · Go · Vue
AGPL-3.0
59
172
72
not counted
counted for scalegithub.com/go-vikunja/vikunja at 18f3572ed (28 Sep), counted 28 Sep
Java 2
Appsmithinternal-tool builder · Java · React
Apache-2.0
21
no spec
667
1 on/off keys in .env.example
counted for scalegithub.com/appsmithorg/appsmith at c7e65f8f8 (28 Sep), counted 28 Sep
Keycloakidentity and access · Java · React
Apache-2.0
94
no spec
81
not counted
the admin consolegithub.com/keycloak/keycloak at 9f8eb2d23 (28 Sep), counted 28 Sep
Clojure 3
Metabaseanalytics · Clojure · React
AGPL-3.0 + ee
no count
637
427
3 on/off keys in .env.example
no screen count: routes are spread over more than 30 route files, with redirects and modalsgithub.com/metabase/metabase at 1a0ff4340 (28 Sep), counted 28 Sep
Penpotdesign tool · Clojure
MPL-2.0
no count
no spec
65
not counted
no screen count: routes are data in ClojureScript, not page filesgithub.com/penpot/penpot at f9b8f1ba7 (28 Sep), counted 28 Sep
Plausibleweb analytics · Elixir · React
AGPL-3.0
no count
no spec
12
not counted
no screen count: the Phoenix router mixes pages, API, dev and test routesgithub.com/plausible/analytics at ee3a27bb3 (28 Sep), counted 28 Sep
No screen count, so only in the table (17): Chatwoot · Zulip · Sylius · Firefly III · Mattermost · Rocket.Chat · Nextcloud server · Odoo · ERPNext · Saleor dashboard · Ghost · Strapi · Metabase · Penpot · Wiki.js · Plausible · Zammad. Their pages are declared in code or generated from records, so there is no page file to count; T2's rule was the same for Chatwoot and Zulip.
featkpr runs its own goals on a test copy of itselfshipped 30 Sep: A disposable featkpr on the homelab, seeded with made-up data, signed in as the owner and as nobody, with a script per goal rendered from its command. featkpr's own goals now get runs and wrong-user flips, away from production.
Featkpr's own features named in production: 146, with 45 goalsshipped 30 Sep: part of "featkpr maps its own code: its parts, and the goals a change can alter"
Node and Django readerslater, no week yet: Django, Hono, React Router and Next.js readers shipped on 30 Sep and 1 Oct; Uptime Kuma and Paperless-ngx are not read yet
May we count your visit with Google Analytics and PostHog? They set cookies; Google receives the pages you view, and PostHog, which we run ourselves, receives the pages you view and whether you play the film or ask for a demo. Nothing is set until you allow it.
We count visits with Google Analytics and PostHog, which set cookies. Google receives the pages you view; PostHog, which we run ourselves, receives the pages you view and whether you play the film or ask for a demo. You can turn both off.