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.6.1.tar.gz (441.4 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.6.1-py3-none-any.whl (181.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: aideator-0.9.6.1.tar.gz
  • Upload date:
  • Size: 441.4 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.6.1.tar.gz
Algorithm Hash digest
SHA256 7ae45b0694433180f774e2c423e35cd00fd710f888fdb55bb108ba8eb9a9688e
MD5 1a245a693a6006cb17e9c7ac150e1fa6
BLAKE2b-256 d0ccefeca101a11f82b9147c08a5d8b05915252713351ff7fe5ffcc26f1482fc

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aideator-0.9.6.1-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.6.1-py3-none-any.whl
Algorithm Hash digest
SHA256 8c423bbdf3ae13f95664fe2c94ef8ab1e371b0600e37e4b3de0785139a3cb155
MD5 80437b427117add13bbb406085a2934f
BLAKE2b-256 c4f816c105c3a85d331bab355a06414ae5e6d825d616addf7c832cd7f53b945b

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