a love letter to tangled (android, iOS, and a search API)
1---
2title: "Twister — Task Index"
3updated: 2026-03-22
4---
5
6# Twister Tasks
7
8Assumes Go, Tap (deployed on Railway), Turso/libSQL, and Railway for deployment.
9
10## Delivery Strategy
11
12Build in four phases:
13
141. **MVP** — ingestion, graph backfill, keyword search, deployment, operational tooling
152. **Semantic Search** — embeddings, vector retrieval
163. **Hybrid Search** — weighted merge of keyword + semantic
174. **Quality Polish** — ranking refinement, advanced filters, analytics
18
19Ship keyword search before embeddings. That gives a testable, inspectable baseline before introducing model behavior.
20Within MVP, run graph backfill before calling the environment search-ready for users.
21
22## Phases
23
24| Phase | Title | Document | Status |
25| ----- | --------------- | ------------------------------------------ | --------------------------------------------------------------------- |
26| 1 | MVP | [phase-1-mvp.md](phase-1-mvp.md) | In progress (M0–M2 complete; backfill scheduled before public launch) |
27| 2 | Semantic Search | [phase-2-semantic.md](phase-2-semantic.md) | Not started |
28| 3 | Hybrid Search | [phase-3-hybrid.md](phase-3-hybrid.md) | Not started |
29| 4 | Quality Polish | [phase-4-quality.md](phase-4-quality.md) | Not started |
30
31## MVP Complete When
32
33- Tap ingests tracked `sh.tangled.*` records
34- Documents normalize into a stable store
35- Keyword search works publicly
36- Index-backed profile summaries can fill public API gaps such as followers
37- API and indexer are deployed on Railway
38- Restart does not lose sync position
39- Reindex exists for repair
40- Graph backfill populates initial content from seed users