Back to Projects

It Girl API - Roblox Group Rank Automation

Developed an API for the Roblox game 'It Girl' that handles player rank updates based on their in-game 'hearts'. Successfully migrated from Node.js to Python, achieving perfect uptime and improved performance.

It Girl API - Roblox Group Rank Automation

Project Overview

I built an API for "It Girl", a popular Roblox game, that automatically updates players' ranks in their group based on their in-game "hearts" currency. After starting with Node.js, I rebuilt the system in Python with FastAPI, which significantly improved performance and reliability. This project demonstrates my ability to build and optimize systems that handle real-world game traffic at scale.

Key Features

  • Automated Rank Updates: Seamlessly updates player ranks based on their heart count
  • Roblox Integration: Clean integration with Roblox's API using Python
  • High Performance: Built with FastAPI for speed and reliability
  • Real-time Updates: Players see their rank changes instantly
  • Reliable Operation: Maintains perfect uptime since the Python rebuild

Tech Stack

  • Backend: Python with FastAPI
  • Roblox Integration: Custom Python implementation
  • API Design: RESTful architecture
  • Deployment: Containerized for reliability

Project Stats

  • Game Visits: Over 7 million
  • Uptime: 100% since Python rebuild
  • Status: Actively maintained, zero downtime

Development Journey

  1. Initial Version: Started with Node.js to validate the concept
  2. System Evolution: Identified opportunities for improvement and rebuilt in Python
  3. Implementation: Developed a robust solution using FastAPI
  4. Testing: Ensured reliability and performance
  5. Deployment: Launched with containerization for stability
  6. Monitoring: Set up comprehensive monitoring

Key Challenges & Solutions

Zero-Downtime Migration from Node.js to Python

Challenge: The game had 7+ million visits and active players who depended on the rank system. Any downtime would break the game experience and frustrate thousands of users. Solution: Implemented a blue-green deployment strategy with traffic routing. Ran both systems in parallel for 48 hours, gradually shifting traffic to the Python version while monitoring for issues. Created automated rollback procedures in case of problems.

Roblox API Rate Limiting & Reliability

Challenge: Roblox's API has strict rate limits (100 requests per minute) and occasional outages, but players expected instant rank updates when they earned hearts. Solution: Built an intelligent queue system with exponential backoff and priority handling. Implemented caching for group data and batch processing for multiple rank updates. Added webhook notifications to alert when API issues occur.

Handling 7M+ Game Visits with Minimal Resources

Challenge: The API needed to handle traffic spikes during popular streaming sessions while maintaining low latency and staying within budget constraints. Solution: Optimized the FastAPI application with async/await patterns, implemented Redis caching for frequently accessed data, and used connection pooling. Containerized the application for efficient resource usage and horizontal scaling.

Data Consistency Across Game Servers

Challenge: Multiple Roblox game servers could send conflicting heart count updates simultaneously, potentially causing incorrect rank assignments. Solution: Implemented atomic operations with database transactions and added request deduplication using unique request IDs. Created a reconciliation system that runs hourly to catch and fix any inconsistencies.

Current Status

The Python rebuild has delivered excellent results:

  • Perfect uptime record
  • Improved response times
  • Better resource efficiency
  • Enhanced error handling
  • More maintainable codebase

Future Plans

Working on several improvements:

  1. Developer Tools: Creating a Python package for other Roblox developers
  2. Admin Dashboard: Building a monitoring interface
  3. Analytics: Implementing player progression tracking
  4. Documentation: Writing comprehensive technical docs

Conclusion

This project has been a great learning experience in system optimization and reliability. The successful migration to Python resulted in a more robust system that handles millions of requests while maintaining perfect uptime. It's been rewarding to see the impact on the game's operations and player experience.

Interested in learning more about this project or discussing potential opportunities? Feel free to reach out!