← all repositories
miurla/morphic

Perplexity, but you can actually read the source code

An open-source AI search engine that renders answers as live, generative UI components instead of static text walls.

8.9k stars TypeScript RAG · SearchChat Assistants
morphic
Velocity · 7d
+11
★ / day
Trend
steady
star history

What it does

Morphic is a full-stack AI search engine built on Next.js. It takes a query, routes it through search providers like Tavily or SearXNG, then streams back an answer rendered as interactive UI components — not just a blob of markdown. Think of it as a Perplexity-style interface you can clone, modify, and self-host.

The interesting bit

The “generative UI” angle is the real hook: the LLM doesn’t just write text, it constructs React components on the fly via the Vercel AI SDK. The project also ships a Docker Compose stack that spins up PostgreSQL, Redis, SearXNG, and the app itself — no search API key required to get started.

Key highlights

  • Model-agnostic: supports OpenAI, Anthropic, Google, Ollama, and any OpenAI-compatible provider via a dynamic selector
  • Search backends: Tavily, SearXNG, Brave, or Exa — swap them in config
  • Chat history persists to PostgreSQL; share results via unique URLs
  • File upload support, Supabase auth, and a guest mode for anonymous use
  • One-command Docker deployment; Vercel one-click deploy for the cloud-curious

Caveats

  • The README is thin on how the generative UI actually works under the hood — you’ll need to read the code to understand the component generation pipeline
  • “Quick” and “Adaptive” search modes are mentioned but not defined; the distinction is unclear from the docs

Verdict

Worth a spin if you want a hackable Perplexity alternative or need to prototype an AI search interface with visible UI components. Skip it if you’re looking for a finished SaaS product or deep documentation on prompt engineering.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.