The Self-Evolving Ideation Engine — AI-powered product ideation that transforms a vague app concept into a full professional product specification through an 8-phase guided journey.
Users are guided through 8 phases from raw idea to downloadable product spec:
| Phase | Name | AI Action | Output |
|---|---|---|---|
| 0 | Scope | — | Session created (AppType + Complexity) |
| 1 | Spark | GPT-4o: 20 ideas with DnaKeywords | Tinder-swipe → Top 3-5 ideas |
| 2 | Mutation | GPT-4o: 9 evolved mutations (Crossover/Repurposing) | Rated mutations |
| 3 | Feature Expansion | GPT-4o: 50 features with MoSCoW priorities | Feature variation rankings |
| 4 | Synthesis | GPT-4o: Merge 1-10 selected ideas | Unified concept + ThematicBridge |
| 5-6 | Refinement | GPT-4o: 5-10 PM + 5-10 Architect questions | RefinementAnswer records |
| 7 | Visual | DALL-E 3: 4 style mockups | Selected visual PNG |
| 8 | Artifacts | GPT-4o: PRD + TechSpec + ZIP | Downloadable artifact pack |
┌─────────────────────────────────────────────────────────┐
│ Azure App Service │
│ ┌─────────────────┐ ┌────────────────────────────┐ │
│ │ Blazor Server │←──→│ Minimal API (VSA, 11 │ │
│ │ .NET 10 │ │ feature slices) │ │
│ │ 14 Razor Pages │ │ FluentValidation │ │
│ │ Radzen 5.4 UI │ │ RequireAuthenticatedUser │ │
│ └─────────────────┘ └────────────┬───────────────┘ │
│ ↕ SignalR SwipeHub │ │
│ Real-time progress streaming │ │
└──────────────────────────────────────┼───────────────────┘
│
┌──────────────┬───────────────┼──────────────────┐
▼ ▼ ▼ ▼
Azure OpenAI Table Storage Blob Storage Key Vault
GPT-4o + 10 entity PNGs, PDFs, OAuth secrets,
DALL-E 3 tables ZIPs (~3MB/ AI keys
via Semantic (Azurite session)
Kernel in dev)
| Layer | Technology |
|---|---|
| Frontend | Blazor Server (.NET 10) + Radzen 5.4 |
| Backend | .NET 10 Minimal APIs — Vertical Slice Architecture |
| AI | Semantic Kernel + Azure OpenAI (GPT-4o + DALL-E 3) |
| Storage | Azure Table Storage + Azure Blob Storage |
| Auth | OAuth 2.0 — Google, GitHub, Microsoft |
| Real-time | SignalR SwipeHub — swipe progress + AI streaming |
| Observability | Serilog + OpenTelemetry → Application Insights |
| Secrets | Azure Key Vault (Managed Identity) |
| IaC | Azure Bicep (infra/main.bicep) |
| Testing | xUnit (unit + integration) + Playwright (E2E, TypeScript) |
# 1. Start Azurite (Azure Storage emulator)
docker compose -f docker-compose.azurite.yml up -d
# 2. Set user secrets
cd src/PoAppIdea.Web
dotnet user-secrets set "AzureStorage:ConnectionString" "UseDevelopmentStorage=true"
# ... see docs/LocalSetup.md for full secret list
# 3. Enable MockAI (optional — skips real OpenAI calls)
# Set "UseMockAI": true in appsettings.Development.json
# 4. Run
dotnet run --project src/PoAppIdea.Web/PoAppIdea.Web.csprojApp available at: https://localhost:5001
API docs (Scalar): https://localhost:5001/scalar/v1
See docs/LocalSetup.md for full setup instructions.
| Group | Base Path | Description |
|---|---|---|
| Auth | /api/auth |
OAuth login / callback / logout |
| Sessions | /api/sessions |
Session CRUD + resume |
| Spark | /api/sessions/{id}/ideas + /swipes + /top-ideas |
Idea generation + swipe |
| Mutation | /api/sessions/{id}/mutations |
AI mutation + rating |
| Feature Expansion | /api/sessions/{id}/features |
50 features + MoSCoW |
| Synthesis | /api/sessions/{id}/synthesis + /selections |
Idea merging |
| Refinement | /api/sessions/{id}/questions + /refinement |
PM + Architect Q&A |
| Visual | /api/sessions/{id}/visuals |
DALL-E 3 mockup generation |
| Artifacts | /api/sessions/{id}/artifacts |
PRD + TechSpec + ZIP download |
| Personality | /api/personality |
Bias profile get/update |
| Gallery | /api/gallery |
Public browse + publish + import |
| Health | /health |
Composite health check (public) |
Full contract: docs/ApiContract.md
| File | Type | Description |
|---|---|---|
| Architecture_MASTER.mmd | C4 L1+L2 | Full system — Edge/Compute/Data/AI/SecOps boundaries |
| Architecture_MASTER_SIMPLE.mmd | C4 | Stakeholder overview |
| DataLifecycle_MASTER.mmd | Flowchart | All 8 phases + cross-cutting concerns (cache, personality) |
| DataLifecycle_MASTER_SIMPLE.mmd | Flowchart | High-level pipeline |
| DataModel.mmd | ERD | All 11 entities with fields + relationships |
| DataModel_SIMPLE.mmd | ERD | Relationship map only |
| SystemFlow_MASTER.mmd | Sequence | Auth + all 8 phases end-to-end |
| SystemFlow_MASTER_SIMPLE.mmd | Sequence | High-level phase steps |
| MultiplayerFlow.mmd | Sequence | SignalR SwipeHub — real-time events + reconnect |
| MultiplayerFlow_SIMPLE.mmd | Sequence | SignalR overview |
| Role | Start Here |
|---|---|
| Developer | docs/LocalSetup.md → docs/Architecture.md → docs/ApiContract.md |
| Product | docs/ProductSpec.md → docs/AppFlow.md |
| Architect | docs/Architecture.md → docs/DataModel.md |
| DevOps | docs/DevOps.md |
Visual screenshots stored in docs/screenshots/.
# Unit tests
dotnet test tests/PoAppIdea.UnitTests/
# Integration tests (requires Azurite running)
dotnet test tests/PoAppIdea.IntegrationTests/
# E2E tests (requires app on localhost:5001)
cd tests/PoAppIdea.E2E && npx playwright test# Deploy infrastructure
az deployment group create \
--resource-group poappidea-rg \
--template-file infra/main.bicep \
--parameters infra/main.bicepparam
# Deploy app
az webapp up --name poappidea-web --resource-group poappidea-rg| Azure Service | Purpose |
|---|---|
| App Service (P1v3 Linux) | Blazor Server + Minimal API host |
| Table Storage | 10 entity tables (~3MB/session) |
| Blob Storage | PNGs, PDFs, ZIPs |
| Azure OpenAI | GPT-4o (text) + DALL-E 3 (images) |
| Key Vault | OAuth secrets, AI keys |
| Application Insights | Logs, metrics, traces |
See docs/DevOps.md for full deployment guide.