Harfi - It does exactly what you said. Not what you meant.

by
Forty trials, each a spec an AI's answer has to hit exactly — three bullets, fifty words, valid JSON, no letter O. You never write the answer, only the instruction. A parser scores it, never an opinion. Fewest strokes wins.

Add a comment

Replies

Best
Maker
📌
Hey Product Hunt 👋 Harfi (حرفي) is Arabic for literal, word-for-word. It names the thing this is about: a language model obeys your letter, never your intent. Every trial hands you a specification the model's answer has to satisfy — exactly three bullets, under fifty words, valid JSON with no code fence, a paragraph about a sunset that never uses the letter O. You never write the answer. You write the instruction that makes the model produce it, and the fewest attempts wins. The decision the whole product rests on: no language model judges your work. Every other AI learning tool asks a model whether you did well — ask it twice and you get two answers. Here the referee is code. It counts the bullets, parses the JSON, scans for banned letters, diffs against known-correct output. The same attempt always scores the same, and when you fail you get words: 59 > 50 → FAIL, not "solid attempt, 86/100." Scoring is strokes against a par, like golf. Clear a par-4 in two and that's a birdie; clear it first try and that's an ace. Every one of the 40 trials was calibrated against the real model — two prompts, eight runs each: one a competent player would write (must clear), one that's just the topic (must not). A few things that came out of it and genuinely surprised me: Asking the model to count makes it worse. Told to count words per item, it writes the count into the answer and breaks the limit it was counting. Letter bans have a ceiling, and E is above it. Zero clears at forty words, still zero at twelve. O and A cost the model its favourite words without costing it the language. It won't compress below its natural length. It honours a word budget above what it would have written anyway and quietly ignores one below. It is not a random number generator. "Pick a number 1–100" → 42, 42, 42. The consistency trial is built on that. Set 1 is eight trials, free forever, no card. Plus is $7.99/mo or $59/yr for all five sets, 40 trials and 160 medals. Built solo with Next.js, Claude Haiku 4.5, Firebase and Stripe. Happy to go into the checker library, the calibration harness or the cost model — a full playthrough costs me about 13 cents in inference, which is the only reason the free tier can be free forever. What I most want from today: tell me which trial is unfair. I calibrated against my own prompts, which is the one blind spot the method has.