Skip to main content

Local-first FastAPI service for idea validation and markdown reports

Project description

AIdeator logo

AIdeator

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.


Setup time License Python FastAPI Docker compose HTML+PDF reports

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 by config 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aideator-0.9.5.tar.gz (352.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

aideator-0.9.5-py3-none-any.whl (181.8 kB view details)

Uploaded Python 3

File details

Details for the file aideator-0.9.5.tar.gz.

File metadata

  • Download URL: aideator-0.9.5.tar.gz
  • Upload date:
  • Size: 352.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.13

File hashes

Hashes for aideator-0.9.5.tar.gz
Algorithm Hash digest
SHA256 d56e7fd672e55fc01bb1b38ec90d35ab68b53a4197c1af62965b688bad047729
MD5 cfc756d31c4d6cfed581e0ba97fe1ed8
BLAKE2b-256 e3cdf3d091f9aa2cce0e6b975c56c8682dcb3bf12d20fd4e8bb65a8113abc389

See more details on using hashes here.

File details

Details for the file aideator-0.9.5-py3-none-any.whl.

File metadata

  • Download URL: aideator-0.9.5-py3-none-any.whl
  • Upload date:
  • Size: 181.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.13

File hashes

Hashes for aideator-0.9.5-py3-none-any.whl
Algorithm Hash digest
SHA256 f0eaca26d551c5410e3998838827eb927b5e8ea7406695088e0a6f043070c70c
MD5 005468c7c8a6c7740c4e89beee5e7b23
BLAKE2b-256 c5fe13f3e426a46ef684bd273f7caf28f2db78e3c4d9caed6d335470759e1142

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page