GET /xrpc/app.bsky.actor.searchActorsTypeahead typeahead.waow.tech
16
fork

Configure Feed

Select the types of activity you want to include in your feed.

1# typeahead 2 3community actor search for [atproto](https://atproto.com). aims to be a drop-in replacement for `app.bsky.actor.searchActorsTypeahead` — same endpoint path and query params, returns the full `profileViewBasic` surface minus `viewer` (`did`, `handle`, `displayName`, `avatar`, `associated`, `labels`, `createdAt`). 4 5**live:** https://typeahead.waow.tech 6 7```bash 8curl "https://typeahead.waow.tech/xrpc/app.bsky.actor.searchActorsTypeahead?q=nate&limit=10" 9``` 10 11## stack 12 13``` 14jetstream → ingester (zig, fly.io) → worker (cloudflare) 1516 Turso (libSQL/FTS5) 17``` 18 19- **ingester**: [zig](https://ziglang.org) on [fly.io](https://fly.io) — streams profiles, posts, likes, and follows via [jetstream](https://docs.bsky.app/blog/jetstream), batches to worker 20- **worker**: [cloudflare worker](https://workers.cloudflare.com) + [Turso](https://turso.tech) + KV + cache API — FTS5 prefix search, edge-cached (60s), rate-limited 21- **identity**: [slingshot](https://microcosm.blue) for on-demand handle resolution 22 23## dev 24 25```bash 26# worker 27npm install && npx wrangler dev 28 29# ingester 30cd ingester && zig build run 31``` 32 33requires `TYPEAHEAD_URL` and `TYPEAHEAD_SECRET` env vars for the ingester. 34 35## deploy 36 37```bash 38npx wrangler deploy # worker to cloudflare 39cd ingester && fly deploy # ingester to fly.io 40```