The MSL Network

Flagship

Collegiate gaming platform and tournament verification engine serving 10,000+ student competitors across 180+ Philippine universities.

RolePlatform Architect & Community Lead
Platform
DiscordHostinger (KVM2 VPS)
Tech Stack

Problem & Constraints

Managing competitive collegiate gaming across 180+ campuses manually meant tournament admins were overwhelmed by student ID verification, team check-ins, and dispute handling during live game days.

How It's Built

1. Discord Verification & Role Hierarchy Engine

An automated verification bot that validates student credentials against campus registrar lists, granting university-specific channels and competitive tier roles.

Trade-off:Using Google Sheets as a human-editable bridge introduced rate-limit bottlenecks, which required an in-memory async write queue.

dart
1
2
3
4
5
6
7
8
9
// Asynchronous student ID verification & role synchronization
async def verify_student(ctx, student_id: str, school_code: str):
    cached_record = await db_pool.fetchrow(
        "SELECT * FROM verified_students WHERE id = $1 AND school = $2",
        student_id, school_code
    )
    if cached_record:
        await ctx.author.add_roles(school_roles[school_code])
        await ctx.send("Verification complete. University hub unlocked.")

2. Hostinger KVM2 VPS Host Architecture

Hosted on a Linux KVM2 VPS running systemd service workers, asynchronous MySQL connection pools, and automatic memory-managed worker recycling.

3. Campus Leaderboard & Quest Engine

Tracks weekly inter-university scrimmage results and activity leaderboards across 80+ partner student organizations.

Hurdles & Solutions

Discord Gateway Rate Limits During Tournament Kickoffs

Problem:Over 800 players joining match lobbies simultaneously caused Discord API HTTP 429 rate limit freezes.

Resolution:Implemented token bucket rate limiters and queued role assignments through an asyncio worker pool with jittered backoff.

Google Sheets API Quota Exhaustion

Problem:Live lookups during tournament registrations burned through the 300 requests-per-minute quota.

Resolution:Built a local MySQL write-through cache syncing modified rows in 60-second batch intervals.

Results & Numbers

Scaled the platform to 10,000+ active student members across 180+ universities, cutting tournament check-in administrative time by 90%.

10,000+
Active student community members
90%
Reduction in manual tournament check-in overhead
180+
Philippine universities connected
Retrospective:I should have moved off Google Sheets earlier in the lifecycle. The custom caching layer worked, but a direct PostgreSQL admin UI would have saved maintenance hours.