Wooble
Back to Pushpraj's profile
Verified on Wooble

IPL Crunch '26: Memory-Optimized Cricket Analytics Platform

Processed 15 years of ball-by-ball IPL records with 0 server crashes, improving dashboard rendering speeds by over 80%.

Pushpraj PatelIPL Crunch '26: Memory-Optimized Cricket Analytics Platform

100%

OOM crashes eliminated

15+ Yrs

Match data processed

>1GB

Memory limits bypassed

Overview

Building a cricket dashboard with 15+ years of ball-by-ball IPL data presented a massive technical wall. Using Python/Streamlit initially, I hit persistent Out-of-Memory (OOM) crashes because free-tier servers limit memory to ~1GB. The app would freeze while processing the dataset. Furthermore, existing cricket dashboards are clunky, slow, and alienate casual fans. I needed to engineer a way to bypass these rigid memory limits to process heavy datasets instantly, while delivering a premium, ultra-fast, and accessible UI. Process I started by analyzing the massive dataset in Python, but when Streamlit crashed under the 1GB memory limit, I realized server-side rendering wouldn't scale. I spent hours attempting data compression—moving from CSV to Parquet and chunking data—but the OOM crashes persisted. The breakthrough required a grueling hard pivot: I completely rebuilt the architecture in Next.js. This allowed me to shift the heavy rendering to the client-side and utilize serverless routing. I spent late nights manually porting the logic and designing a modern, glassmorphism UI with Recharts for dynamic visualizations. This hard pivot was exhausting, but necessary to achieve instant load times. Results The hard work and late-night pivot paid off. By migrating to Next.js, I bypassed the 1GB server memory limit entirely, achieving a 100% reduction in OOM crashes. The dashboard now processes and visualizes massive IPL datasets with sub-second rendering speeds. Initial testing showed a massive improvement in user engagement due to the premium UI and plain-English insights, turning an initial technical failure into a highly performant, robust cricket analytics platform. Reflection I severely underestimated the memory constraints of server-side data processing for free-tier deployments. Next time, I would define my infrastructure limits before choosing a tech stack, rather than letting the data crash the tool halfway through. Additionally, I would implement a state management tool (like Zustand) earlier in the Next.js rebuild, as managing cricket statistics across multiple chart components became complex. A bit more upfront planning would have saved days of hard work.

Walkthrough

Links & files

Artifacts

5

Gallery

7