IC.
GITHUBGH LINKEDININ
SYSTEM 001 · SALARY TRANSPARENCY · PUBLIC + LIVE

Beton Kemon.

Bangladesh's anonymous salary and pay-day reference. No login, no PII stored - privacy is the architecture. Built by directing Claude Code; v1 was live in 2 days.

betonkemon.com
Beton Kemon - a company page: pay day, delays, benefits, role bands. Live site.
01 · THE PROBLEMWHAT WAS BROKEN

There was no public reference for what jobs in Bangladesh actually pay - or whether a company pays on time. Glassdoor skips the country. People ask a senior bhaiya and hope.

02 · THE SYSTEMWHAT SHIPPED · WHO USES IT

An anonymous salary and pay-practice reference anyone in Bangladesh can read - and add to in under a minute. No login, no name, no email, no PII columns in the database at all. 1,844 companies and 8,957 salaries and counting.

What changed: pay conversations in Bangladesh now have a public reference point - 160,885 people used it in its first nine weeks.

160,885visitors
1,787,592page views
2 daysidea to live v1

SOURCE: Vercel Analytics · lifetime, May 4 - Jul 10 2026

The national Product Manager page - 48 salaries pooled across companiesThe salary benchmark verdict screen with distribution histogramContribute wizard step 5 of 8 - which day do you usually get paid

REAL SCREENS · NATIONAL ROLE PAGE · SALARY BENCHMARK · CONTRIBUTE WIZARD (5/8)

03 · UNDER THE HOODWHAT ACTUALLY HAPPENS

Pick a moment. This is what the system does with it - every step a deliberate call, none of it visible from the outside.

01
An eight-step form that forgives. The draft saves itself on every change, so a refresh loses nothing. No login, no name, no email - ever.
draft lives in the browser
02
Three cheap gates fire before anyone looks at the data: a daily submission cap, an invisible bot-check, and a sanity floor - below Bangladesh's lowest plausible salary, it is rejected as spam on the spot.
floor = 4,000 BDT/mo
03
The company name resolves to one canonical page. "HSBC", "hsbc bangladesh" and the typo all land together instead of spawning three phantom companies.
match by name, then slug
04
Then the trust test: if the role already has 3+ salaries and the new one sits within 30% of their median, it approves itself - and writes a log of that decision so its own precision can be audited later. Anything unusual waits for a human.
median +/-30% band, logged
05
THE CLEVER BITthe reply is always "pending", even when the entry just auto-approved. Nobody outside can probe which numbers the system trusts, so nobody can tune fake salaries into the trusted band.
no oracle, by design
06
It becomes public math only once the company clears five approved entries. One person's number is never a public statistic.
hardgate = 5

The database has no IP column, no device fingerprint, no PII columns at all - anonymity is enforced by what the schema cannot store, not by a policy page.

04 · WHY NOT ONE PROMPTWHAT A ONE-SHOT WOULD HAVE GOT WRONG

You could ask AI for "a salary site for Bangladesh" and get one in an afternoon. Here is what that site would have got wrong.

  1. It ships the wrong product. The model's own day-one flagship idea was a company rating score. One prompt takes that suggestion; the fork below is what happened instead.
  2. Its thresholds are guesses. The live site runs three different minimum-sample gates - 2 entries to list a role, 5 to trust a company, 5 answered to show benefits - each tuned to a real failure watched in production: dead-end pages, one-person "statistics", old entries poisoning percentages.
  3. It collapses under its own traffic. At one point fuzzy search was nearly half the database's CPU. The fix was measured against real telemetry and shipped with a written rollback plan. A one-shot never meets its own success.
  4. It freezes at v1. The schema changed 30 times in six weeks - benefits, structured reports, SEO pooling, a security lockdown triggered by a real advisory email. The system kept absorbing reality; a one-shot cannot.
05 · THE DIRECTIONWHERE THE HUMAN WAS
THE FORK · WHAT THE AI PITCHED VS WHAT I SENT

Day one. The model pitches its flagship recommendation: a "Reality Score" - a computed reliability rating for every company. Pitched as the moat, "the Glassdoor differentiator". Fundamentally a different product: a site that judges companies instead of one that answers a question.

THE MODEL'S OWN WORDS, CONCEDING · SAME TURN

Good call. The Reality Score was my framing and you just spotted the problem - it's editorial, it implies precision the data can't support, and it makes the product about *judging companies* instead of *answering "what's the salary."*

MY THREE LINES · AS PRESERVED IN THE BUILDER'S PLAYBOOK

So let's not do a reliability score - the website remains true to its name - it's about what is the salary. However, we can show that - the company usually disburses salary on X day of the month. Salary delays - users can say Yes/no - and that's it.

The rejected score left zero residue - no score column exists anywhere in the shipped schema. The substitute named in that message, a pay-day plus delay signal, is exactly what renders on every company page today.

PRESERVED VERBATIM IN THE BUILDER'S PLAYBOOK · THE ORIGINAL DAY-ZERO SESSION PREDATES THE SURVIVING LOGS

The most valuable direction of the whole build was a no.

14 hard rules25 custom skills11 enforcement hooks39 session transcriptsHOW IT WAS RUN, NOT HOW IT WORKS