Local-first FastAPI service for idea validation and markdown reports
Project description
AIdeator
AI-powered idea validation engine with pluggable LLM and search providers
Validate product ideas with configurable privacy modes, search-backed signals, and benchmark scoring — all from a single local-first FastAPI service.
Architecture · Configuration · Quick Start · Security & Privacy · Issues
What is AIdeator?
AIdeator is a local-first idea validation engine that turns raw product ideas into structured validation reports with demand, competition, and risk scoring. It combines:
- LLM-powered analysis via Ollama (local), OpenAI, Anthropic, or Mistral
- Search-backed signals via built-in web fetch, Tavily, or Exa
- Benchmark scoring with 0–100 scores and percentile comparisons
- Privacy modes that control what data leaves your machine
Think of it as your AI research analyst for product ideas — run it locally with zero external calls, or connect cloud providers for deeper insights.
Key Features
| Feature | Description |
|---|---|
| 🔒 Privacy modes | local-only, hybrid, cloud-enabled — you control data egress |
| 🤖 LLM providers | Ollama (local), OpenAI-compatible, Anthropic, Mistral |
| 🔍 Search providers | Built-in (free), Tavily (AI search), Exa (semantic search) |
| 📊 0–100 scoring | Demand, competition, risk with high/medium/low bands |
| 📈 Benchmarks | Compare scores against 12 reference SaaS products |
| 📄 HTML + PDF reports | Print-optimized shareable reports with one click |
| 🎯 Idea templates | Quick-start templates for common SaaS categories |
| 🖥️ Web dashboard | Server-rendered UI with status badges, polling, and onboarding |
| ⚙️ Config wizard | aideator config init for interactive setup |
Quick Start
# Clone and install
git clone https://github.com/ARCHITECTURA-AI/AIdeator
cd AIdeator
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -e .
# Configure (interactive wizard)
aideator config init
# Start the server
aideator serve
Default URL: http://localhost:8000
Architecture
aideator/ # Core package: CLI, paths, LLM & search providers
├── llm/ # LLM provider abstraction (Ollama, OpenAI, Anthropic, Mistral)
├── search/ # Search providers (DuckDuckGo, SearXNG, Tavily, Exa, Builtin)
api/ # FastAPI app, routes, config, middleware
engine/ # Run orchestrator, card synthesizer, benchmark
db/ # In-memory repositories (ideas, runs, reports)
models/ # Data classes (Idea, Run, Report)
templates/ # Jinja2 HTML templates (dashboard, reports, settings)
docs/ # Generated markdown reports & project documentation
Detailed overview: docs/architecture.md
Search Providers
AIdeator supports a fully-tiered search abstraction, bringing context to the LLM's idea validation:
| Tier | Provider | Cost | Setup Needed | Best For |
|---|---|---|---|---|
| 🟢 Free | duckduckgo |
$0 | None | General testing, personal use |
| 🟡 Mid | tavily |
Paid | API Key | AI-optimized context gathering |
| 🔵 High | exa |
Paid | API Key | Deep semantic research |
| ⚙️ Self-hosted | searxng |
$0 (your infra) | SearXNG Instance | Power users, maximum privacy |
| ⬜ Offline | builtin |
$0 | None | URL extraction only (no search) |
Configure via aideator config init or set SEARCH_PROVIDER env var.
LLM Providers
| Provider | Local? | API Key? | Notes |
|---|---|---|---|
| Ollama | ✅ | No | Default, runs any GGUF model |
| OpenAI-compatible | ❌ | Yes | GPT-4o, Groq, etc. |
| Anthropic-compatible | ❌ | Yes | Claude models |
| Mistral-compatible | ❌ | Yes | Mistral models |
Scoring System
Every validation run produces cards with 0–100 scores and automatic bands:
| Score Range | Band | Meaning |
|---|---|---|
| 70–100 | 🟢 High | Strong signal |
| 40–69 | 🟡 Medium | Moderate signal, needs investigation |
| 0–39 | 🔴 Low | Weak signal, high risk area |
Scores are compared against an internal benchmark corpus of 12 known SaaS products to provide percentile rankings.
Privacy Modes
| Mode | External calls | Use case |
|---|---|---|
local-only |
None | Fully offline, maximum privacy |
hybrid |
Keyword-only queries (10 words max) | Balanced privacy + signals |
cloud-enabled |
Full idea context | Maximum insight quality |
Set via APP_DEFAULT_MODE=local|hybrid|cloud environment variable.
Docker
# Build and run
docker build -t your-org/aideator:latest .
docker run --rm -p 8000:8000 --env-file .env your-org/aideator:latest
# Or with compose
docker compose up
CLI Commands
| Command | Description |
|---|---|
aideator serve |
Start the web server |
aideator config init |
Interactive configuration wizard |
aideator config show |
Display current configuration |
aideator rebuild-docs |
Rebuild markdown report artifacts |
Flags: --host, --port, --reload, --db, --docs
Development
pip install -e ".[dev]"
make lint # Ruff linting
make test # Pytest suite
make dev # Dev server with reload
Seed test data:
python scripts/seed_example.py
Configuration
- Config file:
aideator.toml(auto-created byconfig init) - Environment variables: override config file values
- CLI flags: override everything
Key variables:
| Variable | Default | Description |
|---|---|---|
APP_DEFAULT_MODE |
local |
Privacy mode |
LLM_PROVIDER |
ollama |
LLM backend |
LLM_MODEL |
mistral:7b |
Model name |
SEARCH_PROVIDER |
builtin |
Search backend |
TAVILY_API_KEY |
— | Tavily API key |
EXA_API_KEY |
— | Exa API key |
LLM_API_KEY |
— | LLM API key |
Full reference: docs/config.md
Security
Local-only mode blocks all outbound HTTP by run-mode guardrails. See docs/security-privacy.md for:
- Data residency guarantees per mode
- API key handling and rotation guidance
- Container hardening recommendations
Version History
| Version | Phase |
|---|---|
1.0.0 |
V1 — Full validation engine |
0.4.0 |
PH-D — Plugin & eval |
0.3.0 |
PH-C — Runtime & migration |
0.2.0 |
PH-B — Web UI |
0.1.0 |
PH-A — Foundation |
License
MIT. See LICENSE.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file aideator-0.9.4.tar.gz.
File metadata
- Download URL: aideator-0.9.4.tar.gz
- Upload date:
- Size: 338.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
25eec4839f5ed5fd7159951cff91f4887ed01784ab3b45a5baf40c549110232d
|
|
| MD5 |
d757a5fbe5a6b38da3c29e5ec92890b9
|
|
| BLAKE2b-256 |
8b69ec7ca216f13c7548055fc882caa6b3b9d0ee3518285c78511c8e900211e7
|
File details
Details for the file aideator-0.9.4-py3-none-any.whl.
File metadata
- Download URL: aideator-0.9.4-py3-none-any.whl
- Upload date:
- Size: 169.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6436e836e3ae2105834f47e1120a2be8c443714da091ce04f64ee91a746ec2f9
|
|
| MD5 |
87aeeafe99d48e7be81478a702bfd021
|
|
| BLAKE2b-256 |
e7000ba0416fbe5a8754bd23d9ed89a3e900331f9352f11a72f2e161bd3de0b0
|