The Problem

Sick of AI tools that shove your data onto some sketchy cloud server and call it a day? Yeah, me too. Whether you're tired of handing over your search history to Big Tech™ or just want an AI that respects your privacy and actually does useful things, there’s a gaping hole in the landscape of "answer engines" that actually work for you. Enter Perplexica.

What This Does

At its core, Perplexica is a self-hosted, privacy-first AI search assistant that doesn’t treat your data like its lunch. It combines local LLMs (via Ollama) and popular cloud APIs (OpenAI, Claude, etc.) with a web search layer powered by SearxNG. What really sets it apart? Cited sources, customizable search modes (src/lib/agents/search/index.ts), and smart widgets (just check out src/components/Widgets).

The src folder is the heart of this thing—125 files of TypeScript and TSX goodness. The src/lib/agents directory is where the magic happens. It features modular search "agents" like search/researcher/actions/webSearch.ts for scraping, and a clean widget system (src/lib/agents/search/widgets) that handles things like weather, stock prices, and basic calculations. The UI side is powered by React and Next.js (src/app) with all the modern DX you'd expect—layout.tsx is your app’s backbone, while MessageRenderer and ChatWindow drive the actual conversation.

Dockerize it, run it locally with docker-compose.yaml, and you're good. Oh, and there's GitHub Actions (.github/workflows/docker-build.yaml), so you can even automate deployments if you’re into that kind of thing.

Real-World Use

Say you’re a developer trying to troubleshoot a bug while planning a weekend hike. Fire up Perplexica, ask it to search for a solution to your error (leveraging OpenAI for deep tech answers), and then check the weather for your favorite trail using the built-in weather widget (src/components/WeatherWidget.tsx). Need to scan a PDF manual for a specific API? Just upload it—Perplexica gets it (src/lib/agents/search/researcher/actions/uploadsSearch.ts).

The Bottom Line

Perplexica is the perfect tool for devs, researchers, and anyone who hates being data-mined. It’s not small-project-friendly (unless you love over-engineering your life), and you’ll need some Docker chops to set it up. But if privacy and extensibility are top of mind, this is worth a serious look.