Back to products

Hakkan

A content tool built to fight AI slop. The content always comes from solid research, it writes in your voice, and it tells you when a number came from the model rather than the research.

Own product · Solo: product, design, code, copy · Jul 2026 – present

  • Product build
  • AI engineering
  • UX
  • Research

Hakkan (発刊, “to publish”) reads the real conversation — Reddit, TikTok, X, YouTube, the open web — and hands you a report with receipts. Then it helps you build content from it. Yours to do what you like with.

A Hakkan report: 965 items cited and 903 real voices across seven platforms, with the sentiment split beneath.

The problem: content stopped knowing anything

Twelve years in marketing, watching the medium fill with AI slop: fluent text that reads fine and knows nothing. The tools caused it. Every AI writer starts from a blank page and asks the model to fill it.

Hakkan starts from thousands of real articles, posts and conversations matched to your question, and treats those as the source of truth. The model never is.

Hakkan (発刊) is Japanese for “to publish”, and aloud it echoes “harken” — to listen closely. Listen first, then publish.

How it works: research → report → your voice

Give it a topic. It fans out across social and the open web, filters for relevance, and builds a visual report: themes categorised, sentiment weighed, angles ranked, every quote cited to whoever said it. Export the research, or write from it in a voice trained on your own.

Automation does the reaching and consolidating. The taste and the opinions stay human — that is the part of content that connects.

What one report is actually made of

A real shipped report, on 2026 World Cup commercialisation: 965 items cited, 903 of them real voices — comments, posts and transcripts from people, not publications.

Items cited by source
SourceItems citedWhat changed
Open web900Articles and pages, reached through search APIs.
Google News30The press layer, kept separate from opinion.
Reddit21Where the arguments actually happen.
YouTube5Transcripts, so video voices are quotable.
Perplexity4Synthesis, weighted low on purpose.
Instagram4
Pinterest1

The mix is chosen per question, not fixed: a travel question reaches TripAdvisor, a developer question reaches Hacker News, without a code change. Depth is a user choice, not a limit the tool invents.

The hard part: teaching the filter to value people

The promise is “what people actually said”, and the first evidence filter quietly betrayed it. A verbose article restates the topic in its headline, so it scored high. A real reply — “Why need a nanny if I won’t have a job” — is short and oblique, so it died as off-topic. The filter was killing the material the product sells.

The fix was a rubric that judges a comment as a comment: replies answer the thing they reply to, not your search query, so relevance is scored in context, and only spam, bots and meta-chatter score zero. Rewritten on principle, then measured once — not tuned to the target.

Human voice in the evidence, measured at every stage

The bar was set at 40% of cited items being real human utterances. Getting there took four attempts — including catching our own test harness lying to us.

Voice ratio by stage
StageVoice ratioWhat changed
First measure12%Later invalidated: a test flag was replaying cached data instead of searching live. Caught, documented, runs deleted.
Live streaming29%Real runs, streamed comments arriving. Better — and still losing voices in the filter.
Facts added19%More article evidence diluted the voices. The filter was the bottleneck, now provable.
Filter rewritten57%Comments judged as comments: 81 real voices cited in the acceptance run, against the 40% bar.

The 12% row stays in this chart deliberately. The measurement was taken on replayed fixture data a flag had switched on, and the moment that was discovered it was written down and the affected runs were deleted. A tool that sells honesty has to be built by a process that practises it.

Honest by construction

“No slop” is enforced in code, not tone of voice. The product refuses whole categories of fabrication that competing tools happily ship:

3-way
Every number is classifiedGrounded in the research, drawn from your own writing, or derived by the model — and only the third is flagged for you to judge. Flagged, never blocked: only the author knows which figures they stand behind.
0
Virality predictionsRefused outright. With no outcome data to train on, a prediction is a made-up number beside real citations. Hakkan shows what did break out, measured against each platform's median.
“of the N voices here”
Every claim is scoped60% of the voices in a report being frustrated is measured and true; “60% of people” is neither. The copy states the scope, never an apology.

Same rule inside the business: the tool was built against a hard cost-per-run ceiling enforced in code, so the research depth users get is sustainable for them and for us — priced to be worth it on both sides, without a single invented limit.

The screens

What I'd do differently

Read the reference images, not a summary of them. Built from a written description, the first report page came out a 7,600-pixel essay — thirteen sections, ten screens — when every actual reference was a card grid with a metric band. A day lost to that.

Batch the evidence filter from day one. Scoring every item in one model call worked until streaming delivered what we were paying for, and the call outgrew its timeout — killing runs that had already spent money. Small batches and bounded parallelism were always the right shape.

Worth naming what solo meant here: product, design, code and copy are mine, with AI-assisted engineering doing the accelerating and a set of third-party research APIs doing the reaching. The judgement calls — and the mistakes above — are all mine.