496 karma · joined January 22, 2021
rafael@ottic.ai
Some languages like RUst you mentioned, have a clear tag that says "this is a test," but others do not, so the tool has to guess from file names and ends up missing some and skipping too much.
Also as I mentioned on the answer below, sometimes you actually do want to see the repeats inside tests, or normal code repeats on purpose too. So I am leaning toward letting users wave off one specific case by hand instead of skipping everything blindly.
What I use for: I use for identifying duplicated code. It is deterministic, doesn't use AI, offline, runs from CLI and is super fast (and free).
What I dislike: I won't say it I dislike, but it is not a tool that does all the jobs of a code review. For instance, it doesn't flag security issues. It is superfocused on code duplication (it performs better than Sonar for this use case) and is specifically useful for large codebases. Disclaimer: I am one of the collaborators, so take it with a grain of salt https://github.com/Rafaelpta/dupehound
Finding meaning becomes the core human task.
Our best tool might be the oldest one: basic ethics. Plato, Aristotle, the $5 paperbacks gathering dust.
- Scale gap: Google still processes ~14 billion searches / day; ChatGPT hovers around ~37 million. You’re looking at 1 LLM query for every 400 Google queries.
- Intent gap: Only ≈ 15 % of ChatGPT prompts are classic “informational search.” ≈ 75 % are generative tasks (code, drafts, summaries) that were never clicks in the first place.
- Traffic gap: When Google shows an AI-Overview, downstream organic CTR drops ≈ 70 %. Dedicated AI engines send ≈ 96 % less referral traffic than classic Google results.
Implication: Chasing LLM citations is fine as a branding bonus, but it’s not a growth lever for most sites. Spend effort proportionally.
A pragmatic playbook (what actually moved the needle in my own tests)
1) Question-first headings – treat every H2/H3 like a unit-test: Q in, 40-60 word A out, then elaborate.
2) Answer-first, expand-later – inverted-pyramid writing is a killer for snippet extraction.
3) Chunk + schema – short paragraphs, lists, FAQ/HowTo markup. The clearer the structure, the higher the chance an LLM copies you verbatim.
4) Keep it fresh & sourced – stats with a 2025 timestamp and a citation get surfaced more often (recency + trust signals).
5) /llms.txt – a zero-cost “robots.txt for LLMs” to spotlight the pages you actually want crawled.
It’s crazy how much time developers waste tweaking hardcoded prompts, writing endless test cases or constantly shift focus between building LLM features and verifying them. It’s usually the product person who should be handling this.
To scale a product, you need an extra set of eyes to double-check the engineers' work before it goes live.
Just want to give non-technical folks the power to test and improve LLM apps themselves!
This project is called https://ottic.ai/