NameCount is a small web app that estimates how many people someone knows based on recognized names. It mixes real notable names with fake test names, then computes an estimate and a truthfulness score.
A demo is available at https://namecount.meowc.at!
- Random quiz generation from mixed real + fake names
- Server-side scoring and validation using per-quiz sessions
- Server-side submission storage in JSON
- Name lists loaded from processed files in
names/data/processed
At startup, the server loads:
names/data/processed/disambiguated_names.txt(real/disambiguated names)names/data/processed/fake_names.txt(fake names)
If loading fails, the app falls back to built-in placeholders.
- Node.js 18+ (tested with Node 22)
npm startThen open:
http://localhost:3000
GET /api/lists- Returns a randomized mixed list of names plus a
sessionId.
- Returns a randomized mixed list of names plus a
POST /api/estimate- Body:
{ "sessionId": string, "selectedPeople": string[] } - Returns estimate and scoring details.
- Body:
GET /api/submissions- Returns stored submissions.
- Submissions are stored at
userdata/submissions.json.
server.js- HTTP server, quiz generation, scoring, persistencepublic/- static frontend (index.html,app.js,styles.css)names/- names data subproject and processing scriptsuserdata/- runtime submission storage
- Quiz sessions are kept in memory with expiration.
- The random subset sizes are configured in
server.js(QUIZ_NOTABLE_COUNT,QUIZ_FAKE_COUNT).