Predicts brain engagement from video/audio using Meta's TRIBE v2 model.
cd neuropulsecd backend
# Create virtual environment
python -m venv venv
# Activate it
# On Mac/Linux:
source venv/bin/activate
# On Windows:
venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
# Copy env file
cp .env.example .env
# Run the server
python app.pyBackend runs at: http://localhost:5000
cd frontend
# Install packages
npm install
# Start dev server
npm run devFrontend runs at: http://localhost:5173
- Open http://localhost:5173
- Click "Live Demo" to see it work without uploading a file
- Or upload any MP4/MP3 file to get real scores
By default NeuroPulse uses our feature-based scoring engine. To plug in the real TRIBE v2 model:
# 1. Clone Meta's TRIBE v2 repo
git clone https://github.com/facebookresearch/TRIBE
cd TRIBE && pip install -e .
# 2. Download model weights (see their README)
# They provide weights at: https://ai.meta.com/research/publications/...
# 3. Set path in backend/.env
TRIBE_MODEL_PATH=/path/to/tribe_v2_weightsneuropulse/
├── backend/
│ ├── app.py ← Flask API (start here)
│ ├── tribe_scorer.py ← TRIBE v2 scoring pipeline
│ ├── requirements.txt ← Python dependencies
│ └── .env.example ← Environment variables template
│
└── frontend/
├── src/
│ ├── App.jsx ← Main app + dashboard layout
│ ├── components/
│ │ ├── UploadZone.jsx ← File upload UI
│ │ ├── ScoreCard.jsx ← Animated score ring + stats
│ │ ├── Heatmap.jsx ← Per-segment engagement chart
│ │ └── Suggestions.jsx ← AI improvement cards
│ └── index.css ← Global dark theme styles
├── index.html
├── vite.config.js
└── package.json
| Method | Endpoint | Description |
|---|---|---|
| POST | /api/score | Upload file, get brain engagement |
| GET | /api/demo | Get demo scores (no upload needed) |
| GET | /api/health | Check server + model status |
curl -X POST http://localhost:5000/api/score \
-F "file=@your_video.mp4"{
"status": "success",
"overall_score": 72.4,
"peak_score": 88.1,
"low_score": 31.2,
"consistency": 68.5,
"retention": 74.0,
"segment_scores": [58.2, 65.4, 71.0, 88.1, 82.3, ...],
"suggestions": [
{
"type": "warning",
"area": "Opening Hook",
"icon": "⚡",
"message": "First segment score is 58/100. Add high-motion visuals..."
}
]
}- Set up Flask server (
app.py) - Test scoring pipeline with a sample video
- (Optional) Integrate real TRIBE v2 weights
- Test all API endpoints
- Run frontend and connect to backend
- Test upload flow end-to-end
- Polish UI / fix any layout issues
- Prepare demo video for hackathon presentation
- Meta TRIBE v2 — Brain activation prediction model (open-source)
- Flask — Python backend API
- React + Vite — Frontend
- Recharts — Engagement heatmap chart
- librosa — Audio feature extraction
- OpenCV — Video frame processing
NeuroPulse · Technoverse Hackathon 2026 · Communications, Media & Technology