← All case studies Algolia → Typesense

A media publisher moved about 50 million monthly searches off Algolia

Ksolves says an unnamed publisher cut search cost by 80% with self-hosted Typesense on AWS. The page is a consultancy case study, and the cluster is not Typesense Cloud.

Ksolves published a case study about a media publisher leaving Algolia for Typesense. The publisher is unnamed. I could not find a matching write-up on a publisher’s own site, so the figures below are Ksolves’s.

The site handles around 50 million reader searches a month. People use search to find new stories, the archive, and topics. The Algolia bill grew with traffic and with every new article, because the price was usage-based. The index, the synonyms, and the ranking rules lived on Algolia’s infrastructure.

Ksolves moved search onto Typesense running in the publisher’s own AWS account. Typesense is packaged with Docker on EC2. Three nodes use Typesense’s Raft replication, so search keeps answering if one node fails. Prometheus and Grafana cover latency, node health, and resource use.

They copied indexes, synonym sets, and ranking rules into Typesense collections. Pipelines push new and updated articles, so the index stays close to publishing.

Ksolves says search cost fell by 80%. They say p95 latency stays under 40 ms. They say the whole workload, those ~50 million monthly searches, now runs on infrastructure the publisher owns.

The page gives no dollar amount for the old bill, no timeline, and no list of relevance bugs. The results heading on the page is spelled “Imapact”. There is no first-party confirmation of the 80% or the latency number.

The cluster runs on the publisher’s EC2

The Algolia → Typesense Cloud playbook is the hosted route. This job was EC2 in the publisher’s account. You pay for the instances, the disks, and the people who answer the pager. Typesense Cloud bills RAM and CPU as a flat hourly fee. Those are different costs, even when the engine is the same.

Typesense’s own migration guide is the generic path, and it is written by Typesense. They say a typical move takes about two to three weeks. One outlier finished in three hours. A few teams took one to one and a half months, ramping traffic behind a feature flag. If the UI is already Algolia InstantSearch, their adapter can keep the widgets. The APIs are not wire-compatible on purpose.

Algolia queues writes and you poll. Typesense writes return after a majority of nodes have the document. A large import can answer HTTP 503 until you retry. They put feature parity with Algolia at about 85%. They also say Cloud customers have seen search bills drop anywhere from 50% to 95%. That range is Typesense’s, across Cloud accounts. It does not measure this publisher, and this publisher did not move to Cloud.

What I would copy

Ask for the before-and-after invoice and the latency dashboard before you repeat “80%” or “under 40 ms”. Ksolves states both. The page does not show the query or the bill.

Move synonyms and ranking rules before you send readers at the new cluster. The case study treats that tuning as the thing people would notice on day one.

Plan monitoring yourself. Prometheus and Grafana are part of the outcome because a managed search bill used to include the on-call view.

If you want Typesense Cloud, follow the playbook and Typesense’s guide. The EC2 layout is a different migration, with a different failure mode when a node dies.