The Idea
I wanted to track my cricket performance over time: batting average, strike rate, scores by venue, performance against different bowling types. Nothing fancy, just a personal dashboard.
The Stack
S3: Store match data as JSON files (one file per match)
Lambda: Process new match data, calculate stats
DynamoDB: Store aggregated statistics
QuickSight: Visualize trends and patterns
EventBridge: Trigger weekly summary emails
The Data Model
Each match file looks like this:
{
"date": "2024-11-10",
"venue": "Local Ground",
"opposition": "Team X",
"innings": {
"runs": 45,
"balls": 38,
"fours": 6,
"sixes": 1,
"dismissal": "caught",
"bowling_type": "pace"
}
}
Simple, easy to update from my phone after a match.
The Processing
Lambda function triggered on S3 upload:
- Read the new match data
- Calculate match-level stats (strike rate, boundary %)
- Update career aggregates in DynamoDB
- Trigger QuickSight refresh
The Dashboard
QuickSight shows:
- Career batting average over time
- Strike rate by venue
- Performance vs pace vs spin
- Recent form (last 10 innings)
- Best partnerships
What I Learned
Keep it simple: I started with complex schemas and multiple tables. Simplified to one S3 file per match and it's much easier to maintain.
Manual input is fine: I considered OCR from scorecards or API integrations. Typing 5 fields after a match is actually faster.
Visualizations matter: Seeing my average trend upward is more motivating than I expected. Data-driven practice works.
Cost
Basically free:
- S3: ~$0.01/month
- Lambda: Free tier covers it
- DynamoDB: Free tier covers it
- QuickSight: $9/month (only cost)
Next Steps
I'm thinking about:
- Adding bowling stats
- Comparing my stats to professional benchmarks
- Predicting optimal batting position based on conditions
If you're interested in the code, let me know. Happy to share the Lambda functions and QuickSight templates.
Share your thoughts, ask questions, or leave feedback below. You can also reach out via the contact form or LinkedIn.

💬 Comments (0)
Loading comments...