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:

  1. Data Normalization

Accepts Kaggle-style and custom CSV formats

Converts them into a standardized over, ball, runs, wicket schema

  1. Feature Engineering

Extracts rolling match features (runs, wickets, rate shifts)

  1. Momentum Modeling

Computes a momentum score per over

Uses a dummy predictive model for win probability

Supports historical similarity simulation (if database is connected)

  1. Actian Integration

Connects to Actian VectorAI

Stores simulation state for structured querying

Enables scalable match analytics

  1. 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

Built With

Share this project:

Updates