import React, { useState } from 'react'; import Results from './components/Results'; import { validateStartup } from './utils/api'; const loadingMessages = [ "Analyzing your idea...", "Estimating TAM/SAM/SOM...", "Researching competitors...", "Running SWOT analysis...", "Modeling revenue projections...", "Evaluating go-to-market strategy...", "Assessing funding readiness...", "Building risk matrix...", "Crafting 90-day plan...", "Generating pitch deck outline...", "Finalizing your report...", ]; export default function App() { const [idea, setIdea] = useState(''); const [audience, setAudience] = useState(''); const [monetization, setMonetization] = useState(''); const [loading, setLoading] = useState(false); const [loadingMsg, setLoadingMsg] = useState(0); const [results, setResults] = useState(null); const [error, setError] = useState(''); const handleValidate = async () => { setLoading(true); setError(''); setLoadingMsg(0); const interval = setInterval(() => { setLoadingMsg(i => (i + 1) % loadingMessages.length); }, 2200); try { const data = await validateStartup(idea, audience, monetization); setResults(data); } catch (err) { setError(err.message); } clearInterval(interval); setLoading(false); }; const handleReset = () => { setResults(null); setError(''); }; if (results) { return (
AI-powered comprehensive startup viability analysis
Get a VC-grade analysis: market sizing, SWOT, competitor analysis, revenue models, go-to-market strategy, and more.
{loadingMessages[loadingMsg]}
Generating comprehensive analysis (may take 15-30 seconds)...