Hakkan
A research and writing assistant that turns what people are saying about a topic into a cited report, then helps you write from it in your own voice.
Hakkan (発刊, “to publish”) collects online discussion about a topic into a cited report, then helps you write from it in your own voice.

Why it exists
Since late 2024, more new articles have been written by AI than by people (Graphite, 2025), and much of it has no real sources. Hakkan starts from real discussions, and the AI model is never used as a source.
How it works
Enter a topic and it builds a visual report of themes and sentiment, with every quote cited. You then write from the report in a voice learned from your own writing.
Where it listens
Searching every source for every question is slow and expensive and returns mostly noise, so Hakkan picks sources for each question.
- Per question
- Source selectionEach question is split into sub-queries, and only relevant sources are kept.
- Then deeper
- Specialist sourcesIt adds sources the main search misses, such as review sites for travel and Hacker News for developers.
- Yours
- Adjustable depthThe user sets how wide and how far back each search goes.
Improving the evidence filter
The first evidence filter removed too many real comments: long articles scored high, while a short reply like “Why need a nanny if I won’t have a job” was marked off-topic. The fix was to judge each comment against the post it replies to.
Human sources in citations
The target was for 40% of citations to come from real people rather than publications. It took four attempts.
| Stage | Voice ratio | What changed |
|---|---|---|
| First measure | 12% | Invalidated: a test flag was replaying cached data instead of searching live. |
| Live streaming | 29% | Live runs. Better, but the filter still removed real comments. |
| Facts added | 19% | More article sources lowered the share of human comments. The filter was the bottleneck. |
| Filter rewritten | 57% | Comments judged in context. Well above the target. |
Measured on live runs against a 40% target set before the work started.
Quality rules
Quality rules are enforced in code. Three are built into the product:
- 3-way
- Labelled numbersEvery number is marked as sourced, from your writing, or model-derived. Model-derived numbers are flagged.
- 0
- No virality predictionsWithout outcome data it won't predict virality. It shows what has already performed well instead.
- Scoped
- Sample sizes statedClaims say “60% of the voices in this report”, never “60% of people”.
A fixed cost limit per run is also enforced in code to keep the service affordable to run.
The screens
Built with
- Next.js 16
- React 19
- TypeScript
- Tailwind v4
- Supabase
- Vercel AI SDK
- Claude + Grok
- Paddle
- Recharts
- Sentry
- Claude Code


