Skip to content

ishwarsoni/nexora

Repository files navigation

Nexora

Pressure-test your ideas with AI.

Nexora is an AI-powered decision analysis platform that simulates a multi-agent debate between expert personas to evaluate, compare, and evolve business ideas and personal decisions. Instead of a single generic AI response, Nexora runs a structured reasoning pipeline — Planner → Research → 6-Agent Debate → Judge — to produce a scored verdict with actionable insights.

Screenshots

Analyze Evolution Compare
Analyze Mode Evolution Mode Compare Mode
Debate Thread Verdict & Scores History
Debate Thread Verdict History

Features

  • Multi-Agent Idea Analysis — Six AI expert personas (Founder, Investor, Market Analyst, Technical Expert, Product Strategist, Judge) debate your idea from opposing viewpoints before delivering a final verdict.
  • Idea Evolution — Generate three improved variations of your concept, then let the agents pick the strongest one. Supports iterative evolution loops with score tracking across rounds.
  • Idea Comparison — Submit two ideas for a side-by-side debate with per-idea scoring on difficulty, market potential, and risk level.
  • Structured Reasoning Pipeline — Every analysis follows: Planner (classify & scope) → Research (competitors & trends) → Debate (6 agents) → Judge (verdict + scores).
  • Granular Scoring — Difficulty, Market Potential, and Risk Level scored 1–10 with animated bar visualizations.
  • Full Transparency — The complete agent debate is visible with progressive message reveal and animated transitions.
  • History & Persistence — All analyses are auto-saved to a database and can be replayed, viewed, or deleted from the History page.
  • Export — Copy results to clipboard or export as PDF.
  • Dual Mode Detection — Automatically detects whether the input is a business idea or personal decision and adapts agent personas accordingly.

Tech Stack

Layer Technology
Frontend React 18, TypeScript, Vite (SWC)
Routing React Router v6
State TanStack React Query
UI Components shadcn/ui + Radix UI primitives
Styling Tailwind CSS (custom dark "arena" theme)
Backend Supabase (PostgreSQL + Deno Edge Functions)
AI Model Google Gemini 3 Flash
Testing Vitest + Testing Library

Project Structure

src/
├── components/         # React components
│   ├── ui/             # shadcn/ui primitives
│   ├── AnalysisPipeline.tsx    # Animated 4-stage loader
│   ├── CompareInputForm.tsx    # Side-by-side idea input
│   ├── ComparisonPanel.tsx     # Comparison results display
│   ├── DebatePanel.tsx         # Main debate results display
│   ├── ErrorBoundary.tsx       # Top-level error boundary
│   ├── EvolutionLoopPanel.tsx  # Iterative evolution UI
│   ├── EvolutionPanel.tsx      # Evolution results display
│   ├── IdeaDebateLogo.tsx      # Logo component
│   ├── IdeaInputForm.tsx       # Main idea input form
│   └── NavLink.tsx             # Navigation link component
├── hooks/              # Custom React hooks
│   ├── useComparison.ts        # Compare two ideas
│   ├── useDebate.ts            # Analyze a single idea
│   ├── useEvolution.ts         # Evolve an idea (standalone)
│   ├── useEvolutionLoop.ts     # Iterative evolution loop
│   └── useHistory.ts           # Fetch/manage saved analyses
├── integrations/
│   └── supabase/       # Supabase client & generated types
├── pages/              # Route-level components
│   ├── Index.tsx               # Main app (3 modes)
│   ├── HistoryPage.tsx         # Past analyses
│   └── NotFound.tsx            # 404 page
├── types/              # TypeScript type definitions
│   ├── comparison.ts
│   ├── evolution.ts
│   └── ideadebate.ts
└── lib/
    └── utils.ts        # Utility functions (cn)

supabase/
├── config.toml         # Supabase project config
├── functions/          # Deno Edge Functions
│   ├── analyze-decision/   # Main analysis pipeline
│   ├── compare-ideas/      # Side-by-side comparison
│   └── evolve-idea/        # Idea evolution
└── migrations/         # PostgreSQL migration files

Getting Started

Prerequisites

  • Node.js 18+ and npm (or Bun)
  • A Supabase project with Edge Functions enabled
  • A Google Gemini API key (or Lovable AI gateway key)

Installation

git clone https://github.com/ishwarsoni/nexora.git
cd nexora
npm install

Environment Variables

Create a .env.local file in the project root:

VITE_SUPABASE_URL=https://your-project.supabase.co
VITE_SUPABASE_PUBLISHABLE_KEY=your-anon-key

For the Supabase Edge Functions, set the API key as a secret:

supabase secrets set LOVABLE_API_KEY=your-api-key

Development

npm run dev

The app will be available at http://localhost:8080.

Build

npm run build
npm run preview

Testing

npm test            # Run tests once
npm run test:watch  # Watch mode

Deploying Edge Functions

supabase functions deploy analyze-decision
supabase functions deploy compare-ideas
supabase functions deploy evolve-idea

How It Works

User submits idea
       ↓
┌─────────────┐
│   Planner   │  Classify: business idea or personal decision
└──────┬──────┘  Extract: industry, problem, target users
       ↓
┌─────────────┐
│  Research    │  Identify: competitors, trends, risks
└──────┬──────┘  Find: market gap / opportunity
       ↓
┌─────────────┐
│   Debate    │  6 expert agents argue for/against the idea
└──────┬──────┘  Each references prior arguments
       ↓
┌─────────────┐
│   Judge     │  Final verdict: GOOD IDEA / NEEDS IMPROVEMENT / NOT RECOMMENDED
└─────────────┘  Scores: difficulty, market potential, risk (1-10)

Agent Personas (Business Mode)

Agent Role
🚀 Optimist Founder Champions scale and potential
💰 Investor Skeptic Probes financial risks and flaws
📊 Market Analyst Evaluates market size and timing
⚙️ Technical Expert Assesses feasibility and dev challenges
🎯 Product Strategist Examines UX, retention, and positioning
⚖️ Judge Delivers the objective final verdict

Verdicts

Verdict Meaning
GOOD IDEA Strong concept with clear potential
NEEDS IMPROVEMENT Promising but has significant gaps
NOT RECOMMENDED High risk with limited upside

Database Schema

Single table idea_evaluations storing:

Column Type Description
id UUID Primary key
idea_title TEXT First 100 chars (display)
idea_description TEXT Full idea text
domain TEXT personal, business, evolution, evolution-loop
judge_verdict TEXT Final verdict string
confidence_score INTEGER 1–10 confidence
full_result JSONB Complete analysis payload
created_at TIMESTAMP Auto-generated

API Endpoints

All endpoints are Supabase Edge Functions (no JWT required):

Endpoint Method Body Returns
/functions/v1/analyze-decision POST { idea } Full debate result with verdict
/functions/v1/evolve-idea POST { idea } 3 evolved ideas + winning pick
/functions/v1/compare-ideas POST { ideaA, ideaB } Side-by-side scores + recommendation

License

MIT — Copyright (c) 2025 Ishwar Soni

About

AI-powered idea analysis platform where multiple AI agents debate, evaluate, and improve startup ideas.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages