Case Study: A Load Balancing Cloud Solution
WhichMat.com is a free service used by thousands of Brazilian Jiu-Jitsu competitors and coaches to track mat assignments during tournaments worldwide. With live data requirements and a need for scalability, WhichMat.com was developed by Basebuild to deliver a cloud-native solution that is both fast and affordable.
If you’re looking to learn more please feel free to reach out to Dave and say hi or check out our case studies for some examples of our work.
The Challenge
Automating Data Ingestion from External Tournament Sites: The platform needed to regularly pull data from sources like IBJJF, which required building robust scrapers that wouldn’t break or overload the system.
Maintaining High Performance on a Tight Budget: Real-time performance was critical during tournament weekends, but infrastructure costs had to remain lean for long-term sustainability.
Separating the Web App from Scraping Operations: Scrapers needed to run independently from the user-facing application to avoid downtime, performance issues, or resource conflicts.
Serving Static and Dynamic Content Globally: Users across multiple countries expected lightning-fast access to static assets and real-time API data during live events.
Our Solution
Hybrid Architecture with Serverless Scrapers: Used AWS Lambda for cost-efficient Python scrapers (via BeautifulSoup and Selenium), running under the free tier to eliminate runtime costs.
Load-Balanced EC2 + RDS Setup: Deployed a Laravel-powered application across auto-scaling EC2 instances with MariaDB on RDS to ensure uptime and high-speed database access.
Separation of Concerns via Dedicated Queues: Scraping logic was split into its own queue worker layer on EC2, ensuring the frontend app remains performant and isolated from scraping tasks.
Static Delivery via S3 and CDN: Hosted images, scripts, and public-facing content on S3, distributed via a global CDN to ensure fast asset loads and API responses worldwide.
Tech Stack:
Results
Zero Runtime Costs for Scraping: By using AWS Lambda’s free tier for most scraper executions, scraping became cost-neutral — even during high-traffic tournament days.
Elastic Infrastructure that Scales on Demand: The platform handles traffic spikes from major BJJ events without slowdowns, thanks to auto-scaling and load-balanced architecture.
Lower Monthly AWS Spend: Reserved EC2 instances and offloading scrapers to Lambda significantly reduced the overall hosting bill.
Improved Stability and Speed for Users: Fast, uninterrupted access to match info and live mat tracking — even during international peak hours — has boosted user trust and engagement.