PINGDOM_CHECK

#ExtractSummit2026 The world's largest web scraping conference returns. Austin Oct 7–8 · Dublin Nov 10–11

Register now
Data Services
Login
Try Zyte APIContact Sales
  • Unblocking and Extraction

    Zyte API

    The ultimate API for web scraping. Avoid website bans and access a headless browser or AI Parsing

    Ban Handling

    Headless Browser

    AI Extraction

    SERP

    Enterprise

    DocumentationSupport

    Hosting and Deployment

    Scrapy Cloud

    Run, monitor, and control your Scrapy spiders however you want to.

    Coding Agent Add-Ons

    Agentic Web Data

    Plugins that give coding agents the context to build production Scrapy projects. Starts with Claude Code.

  • Data Services
  • Zyte API

    Zyte Data

    Scrapy Cloud

  • Browse

    • BlogArticles, podcasts, videos
    • Case studiesCustomer outcomes
    • White papersIn-depth reports
    • DocumentationGuides & API reference
    • EventsConferences, webinars, recordings

    Subscribe

    • NewsletterSwiftly delivered
    • Join our community2,000+ web scraping engineers
  • Product and E-commerce

    From e-commerce and online marketplaces

    Data for AI

    Collect and structure web data to feed AI

    Job Posting

    From job boards and recruitment websites

    Real Estate

    From Listings portals and specialist websites

    News and Article

    From online publishers and news websites

    Search

    Search engine results page data (SERP)

    Social Media

    From social media platforms online

  • Meet Zyte

    Our story, people and values

    Contact us

    Get in touch

    Support

    Knowledge base and raise support tickets

    Terms and Policies

    Accept our terms and policies

    Open Source

    Our open source projects and contributions

    Web Data Compliance

    Guidelines and resources for compliant web data collection

    Affiliate Program

    Join Zyte’s affiliate program and start earning commissions today

    Join the team building the future of web data
    We're Hiring
    Trust Center
    Security, compliance & certifications
Login
Try Zyte APIContact Sales
All articles
AI75, 75 articles
Data quality15, 15 articles
Developer interest60, 60 articles
Integration3, 3 articles
Open-source50, 50 articles
Proxies35, 35 articles
Scraping practice35, 35 articles
Scraping strategy48, 48 articles
Search results4, 4 articles
Web data75, 75 articles
Web scraping APIs49, 49 articles
Scrapy47, 47 articles
Scrapy Cloud26, 26 articles
Web Scraping Copilot11, 11 articles
Zyte API71, 71 articles
AI & Machine Learning3, 3 articles
Automotive3, 3 articles
E-commerce & retail35, 35 articles
Entertainment & Streaming2, 2 articles
Financial Services8, 8 articles
Government2, 2 articles
Market Research & Intelligence7, 7 articles
Media & publishing11, 11 articles
Real Estate2, 2 articles
Recruitment & HR3, 3 articles
Transportation & Logistics2, 2 articles
Travel & hospitality3, 3 articles
iPaaS2, 2 articles
Large language model29, 29 articles
MCP3, 3 articles
Python110, 110 articles
Scraping at Scale7, 7 articles
Scraping Fundamentals11, 11 articles
Web Scraping Industry Report20, 20 articles

Appearance

Discord Community
BlogTool-assisted codingWhat building an open-world pickleball MMO for my unborn baby taught me about infrastructure scalability
ArticleBuild-throughTool-assisted codingDeveloper interest

What building an open-world pickleball MMO for my unborn baby taught me about infrastructure scalability

It was just a silly game side project. But, as I grew my sim to 3,000 matches, I levelled up on edge routing, flattening memory spikes and hardcore monitoring.

Ernest · Backend Engineer, API Platform, Zyte

September 9, 2026

What building an open-world pickleball MMO for my unborn baby taught me about infrastructure scalability

I have a confession to make: I have never played a physical game of pickleball in my life.

Yet, somehow, I just spent the last couple of months building a globally distributed, AI-driven universe dedicated to the world's fastest-growing sport.

The whole thing started out of a very specific necessity. A few months ago, my wife and I were traveling across Europe. Faced with agonizingly long airport layovers, I realized we needed a simple, fun digital game we could play together on our phones to pass the time. Around the same time, we found out we're expecting our first child this coming January.

That news changed my perspective on the project entirely. I didn’t just want to build a quick web app to kill time at an airport gate anymore. I wanted to build a "safe space" - a wholesome, interactive, online open world where my future kid could eventually hang out and play safely.

When I shared the early version with my friends and colleagues here at Zyte, the feedback was incredible. It motivated me to see just how far I could push the technical boundaries.

Today, Pikuball is a live multiplayer game with an RPG-style lobby, AI bots, and multiple mini-games. We've already processed over 3 matches.

Pikuball Pickleball World Tour title art, with a yellow pickleball in the logo above a bay scene combining the Sydney Opera House, the Golden Gate Bridge and Mount Fuji, and wooden signposts pointing to Sydney, Paris, Mount Fuji, San Francisco and Singapore.

The craziest part? I had zero game development experience before this. Here is how I used AI, rigorous engineering discipline, and robust infrastructure to pull this off by working just 30 minutes a day.

The pivot: Hitting the web limit

My initial goal was to build the game using native JavaScript for the browser. However, I quickly hit a hard architectural limit: if you want to use web technologies for a game of this scale, you're capped at around 200MB.

To build the rich open-world lobby I was envisioning - where players could roam around a 3D city, customize their avatars with wings that grant speed boosts, and seamlessly launch into different mini-games like a zombie-survival FPS or a "Red Light, Green Light" survival run - I needed more flexibility.

I switched to Unity. I had never used Unity before, but as software engineers, we can't let unfamiliar tools block us.

A player avatar with blue feathered wings stands on a Paris street in the Pikuball open world, the Eiffel Tower and low-poly apartment blocks behind, with a minimap in the top-left corner and player chat messages overlaid at bottom-left.

AI as my co-developer and 3D artist

Because I had no background in 3D rendering or modeling, I had to get creative with my workflow.

When you play Pikuball, the court is a 3D layer, but the beautiful environments around it - like Mount Fuji, the Eiffel Tower, or Sydney - start as 2D images. To make the scenery look and feel great, I used ChatGPT to generate 2D environmental assets.

To bring the world to life, I used a tool called Meshy.ai. I would feed it my 2D images, and it would generate a 3D render. Once I had those 3D assets, I turned to Claude. I'd ask Claude to write the C# scripts for Unity to animate the renders. To save time on the basic city infrastructure, I bought a low-poly asset pack for the houses and buildings. AI allowed me to skip years of learning 3D artistry and focus purely on system integration.

A Pikuball match seen from behind the near player: a teal court on a canal-side plaza with Dutch windmills, gabled houses and wisteria, the word SLICE flashing on the court surface and the rally counter reading 2.

Serious engineering for a ‘silly’ game

When people hear I built an MMO-lite in two months while working full-time at Zyte, they assume I was grinding all night. The truth? I spent maybe 30 minutes a day on this during the week, and maybe four hours on weekends to build new mini-games.

The secret wasn't grinding; it was automation. I applied the exact same strict software engineering practices to Pikuball that we here use for massive enterprise data systems.

First, I wrote around 5,000 automated unit tests. Second, I created a completely automated "engineering loop."

When a player submits a bug report via the in-game form, I literally just paste that raw feedback directly into Claude - sometimes even in my native language, Tagalog, because I'm too lazy to translate it! Claude does the thinking, writes the fix, and verifies it against my test suite. My only job is to jump into the staging environment for a quick visual check.

Edge routing and custom ops

To keep an open-world game lag-free as it scales, you can't just hope for the best. You need visibility and proximity to your users.

I built a custom operations dashboard to monitor everything happening in the game.

The Pikuball ops dashboard on its Open World tab, showing entry counters of 40 lifetime and 9 in 24 hours, average and median session lengths, an entries-per-day bar chart, and a table of recent entries by player, region and session length.

I track real-time active sessions, device IDs, memory usage, and latency. If a user crashes, I can see the exact memory warning spikes and exceptions in my dashboard. I have automated alerts that tell me exactly what broke and where, so I don't have to wait for app store reviews to find out my game is crashing.

To solve latency, I deployed the game's backend across three distinct server regions:

  • Singapore (for all Asian traffic)
  • France (for EU traffic)
  • United States (for North America)

Thanks to this edge routing, players are automatically connected to the nearest server, keeping latency down to a highly responsive 50 to 60 milliseconds.

Region tables in the Pikuball ops dashboard listing plaza zones and match referees for Singapore, France and the United States, each marked up with round-trip times from 7ms to 495ms, above tiles showing a world population of 50 bots and zero real players in the zone.

Solving the ‘empty room’ problem

One of the biggest challenges in multiplayer game design is the cold-start problem. If a new user logs in and the lobby is empty, the game feels dead and they immediately churn.

To solve this, I populated the open world with LLM-powered AI bots. But in order for the game to be enjoyable, the bots actually have to play and act like humans. Early on, testers complained that the AI opponents weren't reacting to the ball naturally. I went back to Claude and automated the fine-tuning of their movement patterns and reaction times to mimic human error and strategy.

Now, you can walk up to an AI character in the lobby (like "Pula"), have a realistic chat, and challenge them to a match. The world is alive 24/7, even if you are the only human logged in.

Two player avatars face each other in the Pikuball plaza beneath the Eiffel Tower, surrounded by named characters and an ambient crowd, with chat lines from the AI characters KAIA and KOPI overlaid at bottom-left.

The real ROI

Right now, I’m rolling out updates and dealing with the usual app store hurdles (like getting my Android version temporarily rejected because I accidentally set the age rating to 3+ instead of 13+ due to the social chat features).

I'm not doing this to pack the game with annoying, intrusive mobile ads. My monetization plan relies entirely on cosmetic upgrades and seamless, in-world "billboard" partnership ads that blend into the scenery.

The Pikuball Character Studio screen, showing an avatar in a white coat with feathered wings and a turtle pet on a turntable, beside menus for hair, outfit, footwear, pets, wings and paddle, and a row of skin-tone swatches.

I built this because solving heavy engineering challenges - latency, edge networks, memory optimization, and automated testing - is genuinely fun. Honing my system design skills on a passion project is incredibly rewarding, and it's infinitely better than doom-scrolling on social media.

And ultimately, I now have a pretty awesome game to play with my wife during our next airport layover.


If you want to check out the game (or try to beat my AI bots), you can play it right now on iOS, Android, or your browser at Pikuball.com.

Zyte API

Get Ernesto's expertise

Pikuball's creator helps build distributed systems for Zyte’s large-scale web crawling platform.

Try Zyte API now
Tool-assisted codingDeveloper interest

Ernest

Backend Engineer, API Platform, Zyte

Ernest is a Backend Engineer on Zyte's API Platform team, building the distributed systems behind Zyte's large-scale web crawling platform and supporting its ML-based data extraction services. He develops and troubleshoots Kafka applications in Java, Scala and Python, owns new fe…

More from this author

In this article

  • The pivot: Hitting the web limit
  • AI as my co-developer and 3D artist
  • Serious engineering for a ‘silly’ game
  • Edge routing and custom ops
  • Solving the ‘empty room’ problem
  • The real ROI

Follow

Get the latest

Zyte and the data web in your inbox — or wherever you already are.

Subscribe

Or follow elsewhere

The Community · Newsletter

The best of Zyte and the data web, in your inbox.

One curated edition — new articles, product updates, and the stories shaping the data web. No noise.

Services

Zyte Data

Fully managed web data extraction, delivered to your spec.

Explore Zyte Data

Web Scraping API

Zyte API

Scrape any website at scale with automatic proxy rotation and ban handling.

Sign Up

Developers

Zyte Developers

Docs, tools, and a community to help you build and scale scrapers.

Join Us
    • Zyte API
    • Ban Handling
    • AI Extraction
    • SERP
    • Enterprise
    • Scrapy Cloud
    • Agentic Web Data
    • Pricing
    • Product & E-commerce
    • Data for AI
    • Job Posting
    • Real Estate
    • News & Articles
    • Search
    • Social Media
    • Blog
    • Learn
    • Case Studies
    • Webinars
    • White Papers
    • Join our community
    • Join our Affiliate Program
    • Documentation
    • Meet Zyte
    • Contact us
    • Jobs
    • Support
    • Terms and Policies
    • Trust Center
    • Do not sell
    • Cookie settings
    • Web Data Compliance
    • Open Source
    • What is Web Scraping
    • Web Scraping in Python: Ultimate Guide
    • Stop getting blocked, start scraping
  • Logo EWDCILogo Most Loved WorkplaceLogo Job TogetherISO 27001 SealMedal Leader Europe Winter 2025Fastest Implementation Winter 2025Logo Leader Winter 2025Grid Leader Spring 2025Grid Leader Summer 2025Leader Fall 2025Leader Winter 2026
    XFacebookInstagramYouTubeLinkedInDiscord

    © Zyte Group Limited 2026