# Edit backend/.env and add your real API keys
nano backend/.env
# Required:
# OPENAI_KEY=sk-proj-...
# GAMMA_API_KEY=...cd backend
npm run devExpected output:
🚀 Server running on http://0.0.0.0:3000
📝 Health check: http://localhost:3000/health
✅ Ready to accept connections from Vite proxy
cd allaboard
npm run devExpected output:
▲ Next.js 15.x.x
- Local: http://localhost:3001
http://localhost:3001
- Enter a website URL (e.g.,
https://www.ycombinator.com) - Click "Start Scraping" → AI scrapes and generates storyboard
- Edit storyboard nodes (drag, reorder, edit content)
- Select style (YC or Finance)
- Click "Generate Slides" → Creates presentation via GAMMA API
- View embedded presentation
- Frontend: React 18 + Vite + Tailwind CSS + React Flow
- Backend: Express 5 + TypeScript + OpenAI + GAMMA API
- Scraping: Browser.cash Agent API (or Puppeteer fallback)
Solution: Kill the process using port 3000
lsof -ti:3000 | xargs kill -9Checklist:
- ✅ Backend is running on port 3000 (
cd backend && npm run dev) - ✅ Frontend is running on port 5173 (
cd frontend && npm run dev) - ✅ No firewall blocking connections
Solution: Check that API keys are valid in backend/.env
cat backend/.env
# Make sure OPENAI_KEY and GAMMA_API_KEY are setSolution: These are mostly warnings (unused imports). The app will still run.
To ignore: npm run dev (development mode doesn't enforce strict type checking)
- Entry:
src/index.ts - Routes:
src/api/routes.ts - Services:
BrowserCashService.ts- Web scrapingLLMService.ts- OpenAI storyboard generationSlideGenerator.ts- GAMMA API integrationStoryboardAssistantService.ts- AI chat assistant
- Entry:
src/main.tsx - Main App:
src/App.tsx - Key Components:
UrlInput.tsx- URL input formStoryboardCanvas.tsx- Interactive node editor (React Flow)StoryboardAssistant.tsx- AI chat panelPresentationViewer.tsx- Embedded slides viewer
- API Client:
src/services/api.ts(uses Vite proxy)
- Next.js app with alternative UI
- NOT connected to backend
- To run:
cd allaboard && npm run dev(will use port 3000 by default - conflict!)
- Some TypeScript warnings about unused imports
- React Flow
connectionModetype warning import.meta.envtype definition missing
- Duplicate frontend apps -
frontend/vsallaboard/- Recommendation: Use
frontend/as main app, treatallaboard/as UI mockup
- Recommendation: Use
- Port conflicts - Backend (3000) vs Next.js default (3000)
- Solution: Change Next.js port to 3001 if needed
See CODEBASE_DIAGNOSTIC_REPORT.md for full details.
- Start both servers (backend + frontend)
- Open
http://localhost:5173 - Enter a demo URL (e.g., your own project website)
- Show scraping → storyboard generation
- Demo interactive editing (drag nodes, edit content)
- Show slide generation (via GAMMA)
- Present embedded slides
- Use
allaboard/Next.js app as UI mockup - Show the design and explain the planned workflow
- Demo the interactive storyboard canvas offline
- Pre-generate a storyboard before the demo (cache it)
- Have API keys ready and tested
- Use a fast, simple website for demo (not complex sites)
- Have screenshots/video recording as backup
- Check
CODEBASE_DIAGNOSTIC_REPORT.mdfor detailed analysis - Check browser console for frontend errors (F12)
- Check backend terminal for API errors
- Test health endpoint:
curl http://localhost:3000/health
- Backend starts without errors (
npm run dev) - Frontend starts without errors (
npm run dev) - Can access
http://localhost:5173in browser - API keys added to
backend/.env - Tested full workflow: URL → Scrape → Storyboard → Slides
- Prepared demo URL (simple, fast-loading website)
- Have backup screenshots/video
- Team knows how to restart servers if they crash
Good luck with your hackathon! 🚀