Repository Structure:
- Move files from cluttered root directory into organized structure
- Create archive/ for archived data and scraper results
- Create bugulma/ for the complete application (frontend + backend)
- Create data/ for sample datasets and reference materials
- Create docs/ for comprehensive documentation structure
- Create scripts/ for utility scripts and API tools
Backend Implementation:
- Implement 3 missing backend endpoints identified in gap analysis:
* GET /api/v1/organizations/{id}/matching/direct - Direct symbiosis matches
* GET /api/v1/users/me/organizations - User organizations
* POST /api/v1/proposals/{id}/status - Update proposal status
- Add complete proposal domain model, repository, and service layers
- Create database migration for proposals table
- Fix CLI server command registration issue
API Documentation:
- Add comprehensive proposals.md API documentation
- Update README.md with Users and Proposals API sections
- Document all request/response formats, error codes, and business rules
Code Quality:
- Follow existing Go backend architecture patterns
- Add proper error handling and validation
- Match frontend expected response schemas
- Maintain clean separation of concerns (handler -> service -> repository)
24 KiB
28. Detailed Project Roadmap & Milestones
For strategic prototype roadmap with high-level phases, see 24_prototype_roadmap.md
Executive Summary
18-month roadmap from concept to market validation with €2.5M seed funding. Focus on de-risking core assumptions while building scalable platform based on Go 1.25 stack, graph-based matching engine, and progressive value delivery through resource matching + service marketplace.
Financial Projections (Revised): Initial projections were overly optimistic. Revised targets align with industry benchmarks for seed-stage B2B SaaS:
- Month 6: €8k-€12k MRR (vs. optimistic €25k)
- Month 12: €25k-€40k MRR (vs. optimistic €150k)
- Month 18: €50k-€80k MRR (€600k-€960k ARR) for Series A readiness
- Conversion Rate: 5-8% free-to-paid (industry average: 2-5%, exceptional: 10-15%)
- Target: Series A readiness (€3M+ ARR typically required) vs. IPO-readiness in original projections
Phase 1: Foundation & MVP (Months 1-3) - €400k Budget
Goal: Validate core assumptions, build heat-matching MVP with manual entry
Month 1: Core Setup & Technical Foundation
Deliverables:
- Team assembly (8 engineers: 4 backend, 2 frontend, 1 DevOps, 1 data; 2 domain experts, 1 BD)
- Development environment setup (Docker Compose, local Neo4j/PostgreSQL)
- Infrastructure provisioning (AWS EKS/GCP GKE, managed Neo4j/PostgreSQL)
- Legal entity formation and seed documents
- ADR Framework: Architecture Decision Records setup and initial decisions
- Go 1.25 Stack Setup: Gin/Fiber selection, Neo4j driver, PostgreSQL/PostGIS with pgx
- Open Standards Foundation: NGSI-LD API integration (2-3 weeks) for smart city interoperability
- Message Queue: NATS or Redis Streams selection (not Kafka for MVP)
- Security Foundation: JWT, OAuth2, RBAC implementation
- Basic CI/CD pipeline (GitHub Actions)
Technical Decisions (ADRs):
- Graph database: Neo4j (migration path to TigerGraph if >10B nodes)
- HTTP framework: Gin (consider Fiber if low latency critical)
- Message queue (MVP): NATS or Redis Streams
- Go 1.25 experimental features: Build with feature flags, fallback to Go 1.23 if not production-ready
Success Metrics:
- Team fully onboarded and productive
- All core infrastructure deployed
- Basic CI/CD pipeline operational
- Development environment documented and replicable
Risks: Team hiring delays, infrastructure complexity, Go 1.25 experimental feature availability Mitigation: Pre-hire key technical roles, use managed services, feature flags for experimental features
Month 2: Data Architecture & Matching Engine Core
Deliverables:
- Graph Database Setup: Neo4j cluster with APOC library
- Spatial Database Setup: PostgreSQL + PostGIS for geospatial queries
- Hybrid Architecture: Neo4j (relationships) + PostGIS (spatial queries) synchronization
- Data Ingestion Pipelines: Manual entry API, CSV upload, basic validation
- Seed Data Collection: Berlin industrial park data (public registries, building footprints)
- Matching Engine Prototype:
- Spatial pre-filtering (PostGIS 5km radius)
- Quality matching (temperature compatibility)
- Temporal overlap calculation
- Economic scoring (basic cost-benefit)
- Resource Plugin Architecture: Heat exchange plugin (MVP resource type)
- Caching Layer: Redis for match results (15-minute TTL)
Success Metrics:
- 50 businesses with resource flow data (seed data + manual entry)
- Basic matching engine finds 10+ viable heat matches
- Data ingestion reliability >95%
- Matching query latency <2s (p95)
Technical Milestones:
- Graph database schemas deployed (Business, Site, ResourceFlow nodes)
- Spatial indexes created and tested
- Basic REST API endpoints functional
- Seed data quality validation completed
Month 3: MVP Core Features & Pilot Launch
Deliverables:
- Heat Flow Matching: Manual entry only, heat resource type focus
- Map Visualization: React + Mapbox GL, resource flows as colored dots, match connections
- Business Registration: Simple onboarding flow (15 minutes to complete)
- Match Notification System: Basic email notifications (WebSocket in Phase 2)
- Service Marketplace Foundation: Basic structure for future expansion
- Privacy-First Design: Public/network-only/private data tiers
- Free Tier: See + Match functionality (drive network effects)
Success Metrics:
- 20 businesses registered in pilot (Berlin industrial + hospitality)
- 15 heat matches identified and contacted
- 3 expressions of interest for implementation
- ≥60% data completion rate
- ≥5 actionable matches per business
User Testing:
- Pilot user feedback sessions (10-15 businesses)
- UI/UX validation with target users
- Feature prioritization based on user input
- Cold start problem validation
Pilot Selection:
- Vertical focus: "Heat reuse in Berlin industrial + hospitality sector"
- "Cheap-to-act" resources focus: Low-capex matches (shared services, waste pickup)
- Manual data seeding from public sources
Phase 2: MVP Expansion & Revenue (Months 4-6) - €500k Budget
Goal: Expand to multi-resource, automated ingestion, service marketplace, initial revenue
Month 4: Multi-Resource Support & Service Marketplace
Deliverables:
- Water Resource Plugin: Wastewater reuse, water quality matching
- Waste Resource Plugin: Material exchange, by-product reuse
- Economic Calculation Engine:
- NPV, IRR, payback period calculations
- Sensitivity analysis
- Scenario modeling
- Enhanced Matching Algorithms:
- Multi-criteria scoring (quality, temporal, economic, distance, trust)
- Ranking engine with diversity consideration
- Fallback matching (relaxed constraints)
- Service Marketplace MVP:
- Maintenance services matching
- Shared service opportunities
- Group buying foundation
- Privacy-Preserving Matching: Anonymized discovery, network-only visibility
Success Metrics:
- 3 resource types fully supported (heat, water, waste)
- Economic calculations accurate to ±10%
- 50% increase in match quality
- Service marketplace: 5-10 service providers registered
Technical Milestones:
- Resource plugin architecture proven (3 plugins working)
- Economic calculator validated against manual calculations
- Matching algorithm performance maintained (<2s p95 latency)
Month 5: Automated Data Ingestion & Event-Driven Architecture
Deliverables:
- Event-Driven Architecture:
- NATS/Redis Streams for event processing
- Event handlers for ResourceFlow changes
- Incremental matching (only affected subgraphs)
- ERP/SCADA API Integrations:
- SAP, Oracle basic integration (REST API)
- OPC UA protocol support
- IoT Device Connectivity:
- Modbus RTU/TCP support
- MQTT broker integration
- OGC SensorThings API (Phase 2 priority from prototype roadmap)
- Data Quality Validation Pipeline:
- Precision levels (rough/estimated/measured)
- Device-signed validation
- Data quality scoring
- Background Processing: Go workers with channel-based processing
Success Metrics:
- 80% reduction in manual data entry (for early adopters with integrations)
- Data freshness <24 hours
- Ingestion success rate >98%
- Event processing latency <100ms (p95)
Migration Strategy:
- Document Kafka migration path (trigger: 1000+ businesses)
- Monitor NATS/Redis Streams performance
- Prepare migration plan for scale phase
Month 6: Revenue Generation & Performance Optimization
Deliverables:
- Subscription Billing System:
- Stripe integration
- Free/Basic/Business/Enterprise tiers
- Usage-based billing foundation
- Lead Fee Collection: Commission tracking for facilitated introductions
- Basic Analytics Dashboard:
- Business resource flow analytics
- Match success metrics
- Environmental impact (CO₂ savings)
- Performance Optimization:
- Query result caching (Redis)
- Graph query optimization (Cypher profiling)
- Materialized views for common match patterns
- Go 1.25 Features Evaluation:
- JSON v2 performance testing (if production-ready)
- GreenTea GC evaluation (if production-ready)
- Fallback to Go 1.23 stable features if needed
Success Metrics:
- 30-50 paying customers (free + paid tiers) - realistic for B2B industrial SaaS
- €8k-€12k monthly recurring revenue (MRR) - conservative estimate
- Platform performance: <2s response times (p95)
- Customer satisfaction >4/5 stars
- Cache hit rate >70%
- Conversion Rate: 5-8% free-to-paid (industry average: 2-5%, exceptional: 10-15%)
Go-to-Market:
- Launch in Berlin industrial ecosystem
- Partnership agreements with utilities (data + distribution)
- Initial marketing campaign (content marketing, LinkedIn)
- Municipal dashboard pilot (1-2 cities, free for businesses, paid for cities)
Phase 3: Enterprise Features & Scale (Months 7-12) - €900k Budget
Goal: Enterprise readiness, knowledge graph integration, international expansion
Months 7-8: Advanced Platform Features & Knowledge Graph
Deliverables:
- Real-Time WebSocket Notifications:
- Match updates, new opportunities
- Live resource flow changes
- Go WebSocket server (gorilla/websocket or nhooyr.io/websocket)
- Advanced Analytics and Reporting:
- Predictive matching recommendations
- Scenario analysis tools
- ESG impact reporting (CSRD compliance)
- API Ecosystem Foundation:
- REST API v1 stable
- API documentation (OpenAPI/Swagger)
- Webhook system for third-party integrations
- Rate limiting and API key management
- Mobile PWA Launch:
- Progressive Web App with offline support
- Push notifications
- Mobile-optimized map interface
- Knowledge Graph Integration (Phase 2 priority from architecture):
- Semantic matching enhancement
- Taxonomy integration (EWC, NACE codes)
- Process compatibility matrices
- Expected: 30-40% match quality improvement
Success Metrics:
- 150-200 active businesses (realistic growth from 30-50 paying to ~150 total)
- €25k-€40k monthly revenue (MRR) - conservative but achievable
- API adoption by 5-10 enterprises (early adopters)
- Mobile usage >20% of sessions
- Knowledge graph: 10-15% improvement in match quality (initial)
Months 9-10: Enterprise Integrations & Multi-Tenancy
Deliverables:
- GraphQL API Implementation:
- gqlgen schema-first approach
- Flexible querying for enterprise clients
- Subscriptions for real-time updates
- Advanced ERP Integrations:
- SAP (RFC, OData)
- Oracle (REST, SOAP)
- Microsoft Dynamics
- Integration marketplace
- Multi-Tenancy Architecture:
- Data isolation (schema-per-tenant or row-level security)
- Tenant management dashboard
- Resource usage tracking per tenant
- Advanced Security Features:
- SOC2 compliance preparation
- Advanced audit logging
- Data encryption at rest and in transit
- RBAC enhancements
- Message Queue Migration:
- Evaluate Kafka migration if scale requires (>1000 businesses)
- NATS → Kafka migration plan execution if triggered
Success Metrics:
- 15-25 enterprise customers (realistic for enterprise sales cycle)
- €80k-€120k monthly revenue (MRR) - B2B enterprise SaaS typically slower to scale
- Integration success rate >95%
- SOC2 Type I compliance preparation (certification takes 6-12 months)
- Multi-tenant architecture validated
Months 11-12: International Expansion & Regional Features
Deliverables:
- Multi-Language Support:
- i18n framework (English, German, Dutch, Swedish)
- Localized UI and content
- Regional data formats
- Regional Data Residency:
- EU data residency options (GDPR compliance)
- Cross-border data transfer controls
- Data localization settings
- International Utility Partnerships:
- Netherlands (regional utilities)
- Nordics (district heating networks)
- Partnership revenue sharing model
- Market Expansion:
- Netherlands market entry
- Nordics pilot (Sweden, Denmark)
- Regional regulatory compliance (country-specific)
Success Metrics:
- 300-400 total businesses across 3 countries (realistic for international expansion)
- €150k-€200k monthly revenue (MRR) - conservative growth trajectory
- 100-150% YoY growth rate (more realistic for seed stage)
- 2-3 new market entries validated (Netherlands + 1-2 Nordics)
- Regional partnerships: 3-5 utility agreements (partnerships take time to develop)
Phase 4: Scale & Optimization (Months 13-18) - €700k Budget
Goal: Full scale operations, AI-enhanced matching, profitability
Months 13-15: Advanced AI & Automation
Deliverables:
- ML-Powered Match Recommendations:
- GraphRAG integration (Neo4j GraphRAG) for natural language queries
- Predictive matching (anticipate resource needs)
- Pattern recognition (recurring opportunities)
- Automated Lead Qualification:
- Match quality scoring automation
- Lead conversion probability prediction
- Automated prioritization
- Predictive Analytics:
- Resource availability forecasting
- Demand prediction
- Scenario analysis with Monte Carlo simulation
- Advanced Matching Algorithms:
- Multi-party matching (3+ businesses)
- Network optimization algorithms
- Agent-based modeling for network simulation
Success Metrics:
- 70% improvement in match quality (vs. baseline)
- Automated lead conversion rate >40%
- Customer lifetime value increased by 25%
- GraphRAG: Natural language query support operational
Months 16-18: Full Market Penetration & Platform Maturity
Deliverables:
- Complete API Ecosystem:
- GraphQL + REST API
- WebSocket real-time APIs
- White-label API access
- Third-party developer portal
- White-Label Platform:
- Customizable branding per tenant
- Co-branded municipal dashboards
- Utility partner white-label solutions
- Advanced Analytics Platform:
- Business intelligence dashboards
- Custom report builder
- Data export (GDPR compliant)
- API for analytics integration
- Strategic Partnerships:
- Municipal partnerships (10+ cities)
- Utility partnerships (5+ major utilities)
- Facilitator marketplace expansion (50+ facilitators)
- Technology partnerships (ERP vendors)
Success Metrics:
- 800-1,200 businesses registered (realistic for 18-month seed stage)
- €300k-€400k monthly revenue (MRR) - €3.6M-€4.8M ARR
- 75-80% gross margins (realistic after infrastructure costs)
- 5-8 strategic partnerships (partnerships develop slowly)
- Path to Series A validated (€3M+ ARR typically needed for Series A)
Critical Path Dependencies
Technical Dependencies
- Data Quality → Matching Accuracy → User Adoption
- Performance → Scalability → Enterprise Adoption
- Security → Trust → Large Customer Acquisition
- Graph Database Setup → Matching Engine → MVP Launch
- Go 1.25 Stack → Backend Performance → User Experience
- Knowledge Graph Integration → Match Quality → Enterprise Value
- Event-Driven Architecture → Real-Time Features → User Engagement
Business Dependencies
- Seed Data → Initial Matches → User Validation
- Utility Partnerships → Data Access → Market Reach
- First Customers → Case Studies → Market Momentum
- Service Marketplace → Regular Engagement → Network Effects
- Municipal Partnerships → Free Business Access → Network Growth
Risk Mitigation Milestones
Monthly Risk Reviews
- Technical Risks: Performance, security, scalability, Go 1.25 experimental feature availability
- Market Risks: Adoption, competition, regulation, cold start problem
- Financial Risks: Burn rate, revenue projections, CAC/LTV ratio
- Data Risks: Data quality, privacy compliance, GDPR adherence
Pivot Triggers (Revised with Realistic Targets)
- Month 3: <10 businesses registered → Pivot to different market or vertical
- Month 6: <€5k MRR (€60k ARR run rate) → Focus on enterprise sales, adjust pricing
- Month 9: <€15k MRR (€180k ARR run rate) → Restructure business model, evaluate partnerships
- Month 12: <€30k MRR (€360k ARR run rate) → Pivot to municipal/utility-focused model
- Month 18: <€50k MRR (€600k ARR run rate) → Consider seed extension or pivot strategy
Early Warning Signals
- Week 4: <20 businesses signed up for pilot → Accelerate seed data collection
- Month 4: <40% data completion rate → Simplify onboarding, add support
- Month 6: No implemented connections → Focus on low-capex matches
- Month 6: Conversion rate <3% (free-to-paid) → Improve value proposition, pricing
- Month 8: CAC > 3x monthly revenue per customer → Reduce marketing spend, improve conversion
- Month 9: Churn rate >10% monthly → Address product-market fit issues
Resource Allocation
Engineering Team (60% of budget)
- Backend Engineers (4):
- Go 1.25 APIs, matching engine, graph database
- Event-driven architecture, message queue integration
- Economic calculator, plugin architecture
- Frontend Engineers (2):
- React + Next.js, Mapbox visualization
- PWA development, real-time WebSocket UI
- DevOps Engineer (1):
- Kubernetes infrastructure, CI/CD pipelines
- Monitoring (Prometheus, Grafana), infrastructure automation
- Data Engineer (1):
- Data pipelines, ETL, analytics
- Knowledge graph integration, ML model deployment
Business Team (20% of budget)
- Business Development (1 person):
- Utility partnerships, municipal sales
- Channel partner development
- Domain Experts (2 people):
- Industrial symbiosis facilitation
- Regulatory compliance (EU, country-specific)
- Operations/Customer Success (1 person):
- Customer onboarding, support
- Facilitator marketplace management
Infrastructure & Tools (20% of budget)
Note: Infrastructure costs scale with usage. Below are peak estimates for Month 18.
Cloud Costs (scaling from Month 1 to Month 18):
- Month 1-6: €2k-€5k/month (development, MVP scale: 50-100 businesses)
- AWS/GCP: €1.5k-€3k/month (EKS/GKE, managed databases small instances)
- Neo4j: €500-€1k/month (Community or small Enterprise)
- PostgreSQL RDS: €300-€500/month (small instances)
- Redis: €200-€400/month (small cache)
- Month 7-12: €5k-€10k/month (growth phase: 200-400 businesses)
- AWS/GCP: €3k-€6k/month
- Neo4j: €1k-€2k/month
- PostgreSQL RDS: €500-€1k/month
- Redis: €400-€800/month
- Month 13-18: €10k-€15k/month (scale phase: 800-1,200 businesses)
- AWS/GCP: €6k-€9k/month
- Neo4j: €2k-€3k/month (Enterprise scaling)
- PostgreSQL RDS: €1k-€2k/month
- Redis: €800-€1.5k/month
Third-party Services:
- Monitoring (Datadog/New Relic): €500-€2k/month (scales with infrastructure)
- Security (Vault, secrets management): €200-€500/month
- Payments (Stripe): Transaction-based (typically 2.9% + €0.30 per transaction)
- Mapbox: €0 (free tier: 50k loads/month), then €200-€500/month at scale
Development Tools:
- GitHub Enterprise: €4/user/month (or GitHub Pro at €4/user/month)
- IDEs: €100-€200/month (JetBrains licenses, etc.)
- CI/CD: Included in GitHub or €50-€200/month (CircleCI, etc.)
- Artifact Repositories: €50-€100/month
Total Infrastructure Costs (18 months):
- Conservative Estimate: €120k-€180k (assumes gradual scaling)
- Realistic Peak: €180k-€270k (if growth exceeds expectations)
Success Metrics Dashboard
Daily Metrics
- Active users, API calls, error rates
- Match generation, user engagement
- Revenue, customer acquisition
Weekly Metrics
- Customer satisfaction, feature usage
- Performance benchmarks, uptime
- Market feedback, competitor analysis
Monthly Metrics
- Revenue growth, customer retention
- Market expansion, partnership progress
- Technical debt, code quality
- Team productivity, burn rate
Exit Strategy Milestones
Year 1: Product-Market Fit (Realistic Targets)
- 50-100 paying customers (conservative but achievable for B2B industrial SaaS)
- €300k-€600k total revenue (€250k-€500k ARR) - realistic for seed stage first year
- Clear unit economics (LTV/CAC ratio >3-5x target, 70x would be exceptional)
- Validated market demand and willingness to pay
- 3-5 implemented connections proving ROI
- Service marketplace operational (basic version)
Note: Most seed-stage B2B SaaS companies take 12-18 months to reach €500k ARR. €2M ARR in Year 1 would be exceptional (top 5% of startups).
Year 2: Scale Validation (If Product-Market Fit Achieved)
- 200-400 customers (growth from proven model)
- €1.5M-€3M total revenue (€1.2M-€2.5M ARR) - 4-5x growth if PMF achieved
- International presence (2-3 countries)
- Operational excellence and repeatable processes
- 5-8 utility partnerships (realistic timeline)
- Knowledge graph showing measurable match quality improvement
Year 3: Exit Preparation (If Scale Validated)
- 600-1,000 customers (realistic growth trajectory)
- €4M-€6M total revenue (€3.5M-€5M ARR) - Series A territory
- 75-80% gross margins, approaching profitability
- Strategic partnerships (utilities, municipalities, ERP vendors)
- Competitive moat established (network effects, data accumulation)
- Ready for Series A fundraising (€3M+ ARR typically minimum)
Contingency Plans
Technical Failure Scenarios
- Database Performance: Fallback to simplified matching
- API Downtime: Cached responses, maintenance pages
- Data Loss: Comprehensive backups, recovery procedures
Business Failure Scenarios
- Low Adoption: Pivot to enterprise-focused model
- Competition: Differentiate through partnerships
- Regulatory Changes: Adapt compliance requirements
Financial Failure Scenarios
- Slow Revenue: Extend runway through strategic partnerships
- High Burn Rate: Reduce scope, focus on core features
- Funding Delay: Bootstrap through early revenue
Implementation Timeline Visualization
Month 1-3: Foundation & MVP
├── Team & Infra Setup (Go 1.25, Neo4j, NATS/Redis)
├── Data Architecture (Graph + Spatial)
├── Heat Matching MVP (manual entry)
└── Pilot Launch (Berlin industrial + hospitality)
Month 4-6: Expansion & Revenue
├── Multi-Resource Support (water, waste)
├── Service Marketplace MVP
├── Automated Ingestion (ERP, IoT)
└── Revenue Generation (subscriptions, leads)
Month 7-12: Enterprise & Scale
├── Knowledge Graph Integration
├── Advanced Features (WebSocket, analytics)
├── Enterprise Integrations (GraphQL, ERP)
├── Message Queue Migration (Kafka if needed)
└── International Expansion (Netherlands, Nordics)
Month 13-18: AI & Market Penetration
├── ML/AI Features (GraphRAG, predictive)
├── White-Label Platform
└── Strategic Partnerships
Technology Evolution Timeline
MVP Phase (Months 1-6)
- Message Queue: NATS or Redis Streams
- Go Version: 1.25 with feature flags (fallback to 1.23)
- Graph DB: Neo4j Community/Enterprise
- Deployment: Kubernetes (EKS/GKE)
Scale Phase (Months 7-12)
- Message Queue: Evaluate Kafka migration (trigger: 1000+ businesses)
- Go Version: 1.25 stable features, evaluate experimental (JSON v2, GreenTea GC)
- Graph DB: Neo4j Enterprise (scaling), consider TigerGraph evaluation
- Knowledge Graph: Phase 2 implementation
Enterprise Phase (Months 13-18)
- Message Queue: Kafka if scale requires
- Go Version: Latest stable with production-ready experimental features
- Graph DB: Neo4j Enterprise or TigerGraph at scale
- AI/ML: GraphRAG, predictive analytics operational
Total Timeline: 18 months to product-market fit validation Total Budget: €2.5M seed funding Success Criteria (Revised - Realistic):
- 800-1,200 businesses registered (vs. optimistic 5,000)
- €3.6M-€4.8M ARR (€300k-€400k MRR) vs. optimistic €21M ARR
- 75-80% gross margins (vs. optimistic 82%)
- Series A readiness (€3M+ ARR typically required) vs. IPO-readiness
Realistic Growth Path:
- Month 6: €8k-€12k MRR (€100k-€150k ARR run rate)
- Month 12: €25k-€40k MRR (€300k-€480k ARR run rate)
- Month 18: €50k-€80k MRR (€600k-€960k ARR run rate)
Note: The original projections (€21M ARR Year 3, 5,000 customers) would place Turash in the top 1% of B2B SaaS startups. The revised projections are more realistic for seed-stage companies while still being ambitious. Exceptional performance could exceed these targets.