VTT Analyzer is a modern Web application designed to extract and visualize conversation statistics from WebVTT (.vtt) files. It provides insights into conversation duration, participant activity, and overall message counts through a premium, glassmorphism-inspired interface.
- Instant Analysis: Simply drop a .vtt file to get real-time statistics.
- Detailed Stats:
- Total conversation time (minutes and seconds).
- Number of participants.
- Total messages sent.
- Message count breakdown per participant.
- Mean response time (seconds).
- Premium Design: Modern dark theme with smooth animations and responsive layout.
- Robust Parsing: Correctly handles overlapping cues and decodes HTML entities in participant names.
- Docker Ready: Minimal image footprint using multi-stage Alpine builds.
- Tested: Comprehensive test suite using Vitest.
- Backend: Node.js, Express, Multer (file handling), He (HTML decoding).
- Frontend: Vanilla HTML5, CSS3 (Glassmorphism), JavaScript (ES6+).
- Testing: Vitest.
- DevOps: Docker (Alpine), Dotenv.
- Node.js (v22+ recommended)
- npm
- Clone or download the repository.
- Install dependencies:
npm install
- Create a
.envfile (you can copy.env.exampleif available):PORT=3000
- Start the server:
npm start
- Open your browser at
http://localhost:3000.
The project includes a suite of automated tests to ensure parsing accuracy.
Run tests:
npm testThe application is fully dockerized with a focus on image size.
docker build -t vtt-analyzer .docker run -p 3000:3000 --env-file .env vtt-analyzerThis project is for educational/demonstration purposes.
Author: Daniel Galván Cancio