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.

typeahead#

community actor search for atproto. aims to be a drop-in replacement for app.bsky.actor.searchActorsTypeahead — same endpoint path and query params, but returns only core fields (did, handle, displayName, avatar), not the full profileViewBasic surface (no moderation labels, viewer state, etc).

live: https://typeahead.waow.tech

curl "https://typeahead.waow.tech/xrpc/app.bsky.actor.searchActorsTypeahead?q=nate&limit=10"

stack#

jetstream → ingester (zig, fly.io) → worker (cloudflare)
                                        ↓
                                   D1 (sqlite/FTS5)
  • ingester: zig on fly.io — streams identity + profile events via jetstream, batches to worker
  • worker: cloudflare worker + D1 + KV + cache API — FTS5 prefix search, edge-cached (60s), rate-limited
  • identity: slingshot for on-demand handle resolution

dev#

# worker
npm install && npx wrangler dev

# ingester
cd ingester && zig build run

requires TYPEAHEAD_URL and TYPEAHEAD_SECRET env vars for the ingester.

deploy#

npx wrangler deploy              # worker to cloudflare
cd ingester && fly deploy        # ingester to fly.io