Gergely Orosz builds publication search with Codex in under 30 minutes
Gergely Orosz reports building search with Codex and turbopuffer in under 30 minutes of hands-on work. Indexing 600 articles took under a minute, with Jev reranking full-text results.

TL;DR
- Gergely Orosz, author of The Pragmatic Engineer, built newsletter search in three hours elapsed and under 30 minutes of his own development work, according to his announcement and a follow-up.
- Indexing 600 long articles took under a minute, according to his timing breakdown.
- Jev receives the query and full-text results for categorization and reordering, as Orosz explained in a reply.
- Jev’s dashboard displayed $0.00 after more than a million tokens, according to his usage post.
The live search page offers prompts such as “The Kent Beck piece” and “Uber infrastructure.” turbopuffer’s full-text documentation specifies BM25 ranking, while Jev’s model list quotes prices per billion input tokens.
Three hours elapsed, under 30 minutes hands-on
Orosz had put the project off because he estimated it would have taken three or four standalone development days before AI coding tools. He asked Codex to build search on turbopuffer and brainstorm uses for Jev, then tweaked the result, a pleasingly mundane coding-agent win.
His reports distinguish three clocks:
- Elapsed build: three hours from deciding to build, mostly ideation and coding with Codex.
- His own development work: less than 30 minutes, he said in a later reply.
- Indexing: less than a minute for 600 long articles.
He already knew the architecture he wanted and did other things while agents ran, according to his account of the hands-on work.
Full-text retrieval, then Jev
Orosz described a three-step pipeline:
- Store the articles: he indexed the full article text in turbopuffer.
- Retrieve candidates: full-text search returns an ordered set of matches.
- Categorize the matches: Jev receives the query and results to test a different ordering.
The retrieval service’s architecture documentation describes object storage as the source of truth, with queried data cached on NVMe SSDs. Subsequent queries are routed back to the same node for cache locality.
Relevance and latency evals
Describing an article now found the pieces he wanted, Orosz reported after using the tool. He had put shadow evaluations in place to compare improvement and latency against native full-text search, with benchmarking planned once people started searching.
Jev’s displayed bill and published rate
Orosz estimated $3-5 in LLM charges for the token volume discussed in the pricing exchange.
TypeSafe’s published rate for Jev 1.13 and 1.14 is $42 per billion input tokens, equivalent to 4.2 cents per million. Output tokens are free.
Search and the rest of Substack
Orosz argued that most companies need to decide what to fix and build before investing in a “software factory.” He put a two-day ceiling on one engineer building better Substack search once the desired experience was defined.
Search was a tiny part of the platform, he added when discussing a Substack competitor. He listed the wider product’s responsibilities:
- Payments, taxes and invoices.
- Native apps and podcast hosting.
- Free and paid subscriber-list management.
- Customer support.
The Substack export backlog
The prototype used a two-month-old export. Getting newer articles into the index depended on a fresh Substack export, which dumps all the data.
Orosz initially estimated that export at roughly three hours. His later update put the wait beyond nine hours: