← all repositories
developersdigest/llm-answer-engine

An answer engine that shows its work

A transparent, hackable rebuild of Perplexity that exposes how search results become cited LLM answers.

5k stars TypeScript RAG · SearchLLMOps · Eval
llm-answer-engine
Not currently ranked — collecting fresh signals.
star history

What it does

This project is a full-stack answer engine built in TypeScript. It accepts a user query, searches the web via Brave Search and Serper, scrapes resulting pages with Cheerio, splits and embeds the text using OpenAI and Langchain.JS, and generates a streaming answer through Groq’s Mixtral model. The Next.js frontend returns sources, a synthesized answer, images, videos, and follow-up questions. An Express backend variant lives in the express-api directory if you want the API without the UI.

The interesting bit

Rather than treating “Perplexity-inspired” as a skin, the project exposes the entire pipeline—search, chunking, embeddings, inference, caching—in a single app/config.tsx file. It also experiments with beta function calling that conditionally renders UI components for maps, shopping, TradingView stocks, and Spotify based on the query. Optional Ollama support lets you run inference locally, though the README warns this drags out time-to-first-token.

Key highlights

  • Dual packaging: Next.js streaming UI plus a standalone Node/Express API
  • Optional local inference and embeddings via Ollama (with acknowledged latency trade-offs)
  • Beta function calling for dynamic widgets: maps, shopping, TradingView, Spotify
  • Optional Upstash Redis for semantic caching and rate limiting
  • Completed additions include an AI Gateway via Portkey and diffusion-model image generation via Fal.AI SD3 triggered by @ mentions

Caveats

  • Ollama support is explicitly partial: streaming answers work, but follow-up question generation is skipped, and local embeddings plus local inference make the first token noticeably slow
  • Function calling and conditional streaming UI are marked as beta
  • The project requires four external API keys to function fully; the README notes you can enter a random string for the OpenAI key if you are using Groq instead, which suggests the dependency wiring is not fully decoupled

Verdict

Worth a look for developers studying RAG architecture or building a prototype search-to-LLM product. Not ready for anyone who needs a fully local, offline answer engine or a zero-config deployment.

Frequently asked

What is developersdigest/llm-answer-engine?
A transparent, hackable rebuild of Perplexity that exposes how search results become cited LLM answers.
Is llm-answer-engine open source?
Yes — developersdigest/llm-answer-engine is open source, released under the MIT license.
What language is llm-answer-engine written in?
developersdigest/llm-answer-engine is primarily written in TypeScript.
How popular is llm-answer-engine?
developersdigest/llm-answer-engine has 5k stars on GitHub.
Where can I find llm-answer-engine?
developersdigest/llm-answer-engine is on GitHub at https://github.com/developersdigest/llm-answer-engine.

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