Inspiration We were inspired by being big fans of cricket.
What it does
CricScript is a cricket momentum engine that simulates a match over time using ball-by-ball data.
It:
Normalizes different cricket CSV formats automatically
Computes over-by-over momentum
Estimates win probability using:
A predictive model
Historical simulation logic
Stores simulation state in Actian VectorAI
Visualizes match progression interactively in Streamlit
The system can replay historical matches as a simulated real-time experience.
How we built it
We designed CricScript as a modular data pipeline:
- Data Normalization
Accepts Kaggle-style and custom CSV formats
Converts them into a standardized over, ball, runs, wicket schema
- Feature Engineering
Extracts rolling match features (runs, wickets, rate shifts)
- Momentum Modeling
Computes a momentum score per over
Uses a dummy predictive model for win probability
Supports historical similarity simulation (if database is connected)
- Actian Integration
Connects to Actian VectorAI
Stores simulation state for structured querying
Enables scalable match analytics
- Interactive Frontend
Built with Streamlit
Allows CSV upload or archive selection
Displays momentum and probability charts dynamically
Challenges we ran into
Handling inconsistent CSV schemas across datasets
Normalizing decimal ball notation (e.g., 4.3 → over 4, ball 3)
Managing database connectivity failures gracefully
Ensuring simulation still works even without Actian
Avoiding import and environment conflicts during development
Accomplishments that we're proud of
Built a full-stack analytics pipeline in under 18 hours
Designed a flexible schema normalizer for multiple cricket datasets
Successfully integrated Actian into a live simulation workflow
Created a replay-based simulation that feels real-time
Structured the codebase cleanly (simulation, modeling, DB, UI separation)
What we learned
Real-world sports data is messy and inconsistent
Clean architecture makes hackathon builds manageable
Database integration adds serious credibility to analytics systems
Visualization clarity is more important than model complexity
You don’t need real-time APIs to create a compelling real-time demo
What's next for CricScript
Replace DummyModel with a trained ML model
Train on real historical IPL/ODI match datasets
Add momentum phase detection (collapse, dominance, shift)
Deploy Actian-backed multi-match analytics
Add live API ingestion for real match streaming
Build team-level and player-level analytics
Log in or sign up for Devpost to join the conversation.