Synaplan
Open-source AI platform for companies: self-hosted AI agents, GDPR-compliant chatbot widget, RAG knowledge base, WhatsApp and Outlook AI, MCP, multi-model routing. Docker, Kubernetes or hosted in Germ
翻訳待ち
Explore Y Combinator startups by sector and by the customer problems they solve. Next.js + pgvector + OpenRouter.
翻訳待ち
Loading the full README.
Read the full README ↗Explore Y Combinator startups by sector and by the customer problems they solve.
Pick a sector, ask questions in plain English, and watch the companies each answer relies on collect in a grid.
[!NOTE] Whatstir is an independent project. It is not affiliated with Y Combinator. Company data comes from yc-oss, an open-source mirror of the public YC directory. Read About the data before you run your own copy.
A three-and-a-half-minute tour, from the problem Whatstir solves to how it works: the sector map, filters, groups, asking questions, profiles, compare and notes.
https://github.com/user-attachments/assets/ffe0e2e5-434d-4f02-be8f-5d640ac7faa6
Music: "Inspired" by Kevin MacLeod (incompetech.com), licensed under CC BY 4.0.
/admin shows every run.The workspace: the company basket, the results grid (companies cited by the latest answer are ringed) and the chat.
A company profile, with its description, links and AI-generated problem card.
flowchart LR
yc[(yc-oss feed)] -->|daily cron / npm run refresh| ingest[Refresh + enrichment]
ingest -->|embeddings, problem cards, Jev group assignment| openrouter[OpenRouter]
ingest --> db[(Postgres + pgvector)]
user((You)) -->|password gate| app[Next.js app on Vercel]
app -->|retrieve candidates| db
app -->|grounded answer + citations| openrouter
refresh loads the yc-oss feed into Postgres. Each company is embedded (text-embedding-3-small by default) and given a short problem card written from its own description (gpt-6-luna by default). It's also placed in AI-suggested problem groups by Jev (jev-latest). Every AI call goes through OpenRouter, with one key.gpt-6.1-sol by default; any structured-output model through OpenRouter) must answer from those descriptions only and cite company ids. Citations are checked against the candidates, and the cited companies join the grid. If the model needs facts the dataset lacks, one web search through OpenRouter adds a separate, labelled part with source links./api/cron/refresh daily. Enrichment is keyed by content hashes, so unchanged companies cost nothing.There's more depth in docs/system-architecture-document.md and docs/flow.md.
This is the beginning of the README. Read the rest at the original. Read the full README ↗