Przemysław Zalewski

Games since the Xbox 360 era

A game developer whose game reached 100,000+ players

Browser games in canvas, three.js and React, plus mobile and desktop builds for the stores. For a founder or studio with a game to launch, or a half‑built one to rescue. The parts that break on launch day are on me: the multiplayer server, the shop, store review and the traffic spike. Play the 30‑second demo below; it shows its own frame budget.

Calls this week · work starts 3 November 2026 · Wrocław, Poland (CET), remote

Przemysław Zalewski
100,000+players of Korona Krulów, my open-source browser game
25+apps shipped, 3.7M+ downloads (2009 to 2017)
30,000concurrent users on my own chat app
15+years shipping software

Sound familiar?

Game development problems I fix in 2026

Our multiplayer server provider shut down, what now?

Stormgate’s online modes went offline at the end of April 2026 after its server host Hathora was bought by Fireworks AI and left game hosting (TechSpot). A backend you rent can disappear on someone else’s schedule.

For browser and JavaScript games I move rooms to WebSockets on Durable Objects in your own Cloudflare account, with an authoritative server and code you own. My own chat app held 30,000 concurrent users on servers I ran. Unity and Unreal dedicated servers are not my stack. I have written game networking from the socket up: in 2012 at Red Dot Games I built I Am Rich, a C++ and DirectX game for Windows PC and the Windows Store, with its own Winsock protocol for up to four players.

Why is my game rated 18+ in Brazil because of loot boxes?

Since 24 February 2026, a game declared as having loot boxes in Apple’s age rating questionnaire is rated 18+ on the Brazil storefront, and Apple blocks 18+ downloads there for anyone not confirmed as an adult (Apple Developer). Every younger player is cut off at the store.

I rebuild the shop so paid random items can be switched off per country, with direct purchases in their place, and check that the economy still balances before you resubmit the rating.

Sound like you? Book a free 30‑min call →

Is my kids game ready for the new COPPA rules?

The amended COPPA Rule requires separate parental consent before children’s data is shared with third parties for targeted advertising and bars keeping that data indefinitely (Federal Register). The compliance deadline was 22 April 2026, and ad SDKs in a kids game are the usual problem.

I list every SDK and request that sends player data out of the game, build a no-tracking path for young players with contextual ads, and add retention limits to the backend. Which rules apply to you is your lawyer’s call; the code is mine. In Promegle, my anonymous chat app from 2012 to 2017, people confirmed their age in a dialog before chatting, and the app did not serve anyone under 13.

Can my iOS game link to a web shop instead of in-app purchase?

Since a court found Apple in contempt in April 2025, apps on the US storefront may link players to outside payment, and at the end of June 2026 the Supreme Court agreed to hear Apple’s appeal of that ruling (TechSpot). Other storefronts keep their own rules and the US terms may still change, so one build has to behave differently by storefront.

I build the web checkout on the same player account as the game, keep in‑app purchase for other storefronts, and make sure items arrive in the game whichever way the player paid. In Sandtime I run Paddle and Mac App Store subscriptions in one product.

Facing one of these? Book a free 30‑min call →

Why me

Built for launch day

A game is done when strangers play it. I plan back from launch day: store builds, crash reports and analytics ready before the first player arrives.

The loop is the product

A fixed simulation step, rendering decoupled from it, input latency measured rather than felt, a pause when the tab hides so nobody returns to a dead character. The demo on this page runs exactly that loop and shows its numbers.

Web, desktop, mobile

Canvas and WebGL, three.js for 3D, Electron for desktop builds, React Native and PWA for phones, the stores handled. Migawki is a three.js game with cutscenes, bloom and synthesized narration served from a Cloudflare Worker.

Multiplayer and live ops

My own chat network carried 30,000 concurrent users on sharded .NET servers. For your game: rooms, leaderboards and events per level in PostHog, so you tune retention and difficulty from data, not from the loudest player.

Live demo

Thirty seconds of arcade

Catch the green commits, dodge the red bugs. The readout shows frames per second, frame time and the fixed 60 Hz simulation step the game runs on, independent of your screen’s refresh rate.

Demo loading…

Switch tabs and come back: the game pauses instead of fast-forwarding. That is the loop doing its job.

Proof

Work I can show

Problem, what I did, result. Client names only where I am allowed to use them.

Korona Krulów: a satirical React game for 100,000+ players

The problem
Spring 2020, lockdown, a joke that deserved a game before the joke got old.
What I did
React, 400+ actions, a leaderboard, open source on GitHub, built in my evenings.
Result
100,000+ players and ~700 upvotes on Wykop at launch.

100,000+ players 2 weeks open source Open ↗

I Am Rich: a four-player PC game from a game studio

The problem
A small game studio had a turn‑based life simulation, inspired by Jones in the Fast Lane, designed and painted, and needed it running as a native Windows game with multiplayer for up to four players and a Windows Store release.
What I did
I built the native Win32 game in C++ with a DirectX renderer, wrote the Winsock networking protocol for up to four players, implemented the game design and integrated the art, then ported it to the Windows Store as a hybrid native and C# app and shipped the updates.
Result
Released in 2012 on Windows 8 and the Windows Store, with a computer opponent that moves the cursor like a person, 50+ achievements and saves that follow the player between computers. The trailer is on the studio’s YouTube channel.

C++ and DirectX Winsock Windows Store Open ↗

25+ apps, 3.7M+ downloads, published worldwide

The problem
Between 2009 and 2017 the Windows Phone and Windows Store ecosystem needed apps and had few developers.
What I did
C#, XAML and ASP.NET. Localization into dozens of languages, store listings, ads and in‑app monetization, client apps for Polish media brands, plus game development on PC and Xbox 360 before that. Before Windows Phone 7 allowed background tasks, my Gadu‑Gadu client kept receiving messages by running as a background audio agent: whenever the audio stream asked for more data, it polled the chat servers and returned silence. Later a push proxy on my own server replaced the hack.
Result
25+ apps and 3.7M+ downloads. My Gadu‑Gadu client was the most downloaded app on the Polish Windows Phone Marketplace in its first week, and its successor Pogaduszki won its category at AppAward 2013 out of 300 entries. The habit of shipping, watching users and fixing what they say started here.

25+ apps 3.7M+ downloads

Facing something similar? Book a free call →

One foot in the door

Not ready for a project? Start with one week or one pull request.

Two ways to see how I work before you commit to a sprint. Fixed scope, the price range below, the final number in writing within 24 hours of the call.

One-week game code audit

I read the repo, CI, tests, deploys and the parts the team avoids, by hand. You get a written report with risks ranked by cost, what to fix first, a plan with milestones and a go or no‑go you can defend. The report is yours whether or not we continue.

$1,080⁠–⁠$2,160 excl. VAT · 30⁠–⁠40 h · See price and start date →

Code review of one pull request or one module

Send me the diff that worries you. Within a few days you get line‑level comments, the three things I would change first and whether I would merge it. I have reviewed 800+ pull requests on one product since 2018.

$72⁠–⁠$216 excl. VAT · 2⁠–⁠4 h · See price and start date →

Book a call to pick one Free 30‑minute call first. If neither fits, I say so on the call.

How it works

Three steps from this page to a running project.

  1. 1

    A 30-minute call

    You describe the product and the problem. I ask the questions I would ask on day one.

  2. 2

    Scope in writing

    Within 24 hours after the call you get a short written plan: what we build first, what we measure, how we work together and what it costs. No slide deck.

  3. 3

    Working software in week one

    Deployed, measured and open for your review. After that, the numbers set the pace.

Fit check

Is this a fit?

A good fit when

  • You need a senior who owns delivery, not a pair of hands
  • The product has to ship and be measured, with or without a product manager
  • A solo engagement, or one team of up to four that I lead directly
  • TypeScript, React, Node.js, Cloudflare, Postgres, PostHog, and Python when the work needs it

Probably not when

  • A program that needs a ten‑person vendor team
  • A stack built around Java or a cloud I do not work in
  • Body leasing by the hour with no say in how the work is done

Working style

How I work

Measured, not assumed

PostHog in every project from day one. A tracking plan per feature, and dashboards leadership reads instead of asking me for numbers.

No product manager? Fine.

Where there is no PM I set priorities directly with the people using the software and answer support myself.

Agents under rules

Claude Code and Codex work on main with hooks, lint and test gates. The model suggests, the criteria decide. Every PR gets a human review and AI‑assisted content is disclosed.

Good to know

Game development facts players never see

No sound until the first click

An AudioContext created before a user gesture starts suspended. The game stays silent until it calls resume() from a click or tap, so put audio behind a Start screen (Chrome autoplay policy).

Background tabs freeze game loops

Chrome throttles chained timers in hidden tabs to once a minute after 5 minutes, and requestAnimationFrame stops entirely. Multiplayer heartbeats built on timers drop (Chrome blog).

WebGPU is everywhere, with gaps

WebGPU ships in Chrome, Edge, Safari 26 and Firefox on Windows and Apple silicon Macs. As of October 2026, Chrome on Linux supports only some GPUs and Firefox on Linux and Android still has it off by default, so keep a WebGL fallback (WebGPU implementation status).

Steam’s 100 USD fee comes back later

Steam Direct costs 100 USD per game, paid back after the game reaches 1,000 USD in adjusted gross revenue. It is not refundable (Steamworks).

Loot boxes need published odds

Both the App Store and Google Play require odds for randomized paid items before purchase; Google adds “in close and timely proximity” to the purchase (App Review Guidelines, Google Play).

HTML5 games are allowed in iOS apps

App Review guideline 4.7 explicitly allows HTML5 and JavaScript mini games that are not embedded in the binary. A web game can ship in a native shell (App Review Guidelines).

FAQ

Questions people ask before they book

Which engines and stacks?
Plain JavaScript with canvas or WebGL, three.js, Phaser when a 2D engine earns its place, React for games that are mostly UI, like Korona Krulów. Unity and Unreal are not my stack and I will say so on the call. Art, music and level design come from your team; I wire them into the game and the build. The browser side is on the JavaScript page.
You mostly build apps, not games. Why trust you with our launch?
I have studio credits: at Red Dot Games I built I Am Rich (2012), a C++ and DirectX game for Windows PC and the Windows Store with four-player networking, and a platformer engine with a live‑play editor for PC and Xbox 360. And launches fail around the game, a part I have shipped for years: 25+ apps with 3.7M+ downloads through store review, ads and in‑app purchases, an ad-supported chat app that ran for five years with 30,000 concurrent users, moderation and 37,000+ ratings, and Korona Krulów, 100,000+ players, built in my evenings. In 2026 I ship to four stores end to end: iOS, Android, macOS and Windows. If your game needs Unity or a console port, you hear that on the call, not after the invoice.
Can you build multiplayer?
Yes. WebSockets with rooms in Durable Objects, authoritative server, client prediction only where the game needs it. I have run 30,000 concurrent users on my own infrastructure. Each room lives in its own Durable Object, so one hot room does not take the others down, and per‑IP and global rate limits plus a daily cost cap give a launch spike or a cheater a known maximum cost. The edge side is on the Cloudflare page.
App Store and Google Play?
Yes, including the review process, ratings and the first week of crash reports. React Native, Expo or a PWA depending on the game. Details on the mobile and desktop page.
How should my game make money?
Ads, in‑app purchases, localization into dozens of languages and store listings paid my bills for years across 25+ apps and 3.7M+ downloads. I will tell you which model fits your game before we build it.
Can you rescue a half‑built game?
Yes. It starts with the one‑week code audit ($1,080⁠–⁠$2,160 excl. VAT), the same one as on every page, focused on your game: the code, the loop, the netcode, the shop and the content pipeline, read by hand. You get a written report with risks ranked by cost and a plan: what ships first, what gets cut, what the launch needs. If it ends in a no‑go, you have spent one week, not a quarter, and you keep the report.
You are one person. What if you vanish mid‑launch, or it does not work out?
Your game stays yours. Code, CI and docs live in your repository and accounts from the first commit, the contract transfers the copyright to you in writing, and every project keeps a runbook. Hourly work stops whenever you say, and you keep everything done so far. On a monthly contract, notice is one month on both sides with a written handover. If I am ill, you hear it the same day and the plan moves, not the quality.
What does it cost?
$36⁠–⁠54 an hour excl. VAT, depending on difficulty, invoiced in USD, EUR or PLN. A dedicated monthly contract is $7,500 (B2B, minimum three months). Hourly work has no minimum, so a small studio can buy one fix. Short on cash but sure of the game? Equity or a share of revenue is on the business partner page. The full table is on the pricing page.
How soon can you start, and in which time zone?
From 3 November 2026, remote from Wrocław, Poland (CET): the same hours as Germany and France, about three shared hours with the US East Coast. Book the call and bring a build, even a broken one.
Why is there no sound in my browser game?
Browsers start the audio context suspended until the player interacts. Resume it on the first click or tap (Chrome autoplay policy).
Should my web game use WebGPU or WebGL in 2026?
Ship WebGPU with a WebGL fallback. Chrome, Edge, Safari 26 and Firefox on Windows and Apple silicon Macs support it, but Linux and Firefox on Android still have gaps as of October 2026 (WebGPU implementation status).
Our multiplayer server provider shut down, what now?
Stormgate’s online modes went offline at the end of April 2026 after its server host Hathora was bought by Fireworks AI and left game hosting (TechSpot). A backend you rent can disappear on someone else’s schedule. For browser and JavaScript games I move rooms to WebSockets on Durable Objects in your own Cloudflare account, with an authoritative server and code you own. My own chat app held 30,000 concurrent users on servers I ran. Unity and Unreal dedicated servers are not my stack. I have written game networking from the socket up: in 2012 at Red Dot Games I built I Am Rich, a C++ and DirectX game for Windows PC and the Windows Store, with its own Winsock protocol for up to four players.

Bonus · #suchar

A dad joke, on the house

Free, like the first call. Same sense of humor, included in every project.

Why don’t game developers go outside?Punchline

The graphics are great, but the storyline is way too slow. Ba‑dum‑tss.

Why did the player bring a ladder?Punchline

To get to the next level. Ba‑dum‑tss.

What does a gamer say when Mom calls everyone to dinner?Punchline

“I can’t pause, it’s online!” Ba‑dum‑tss.

In 30 minutes you will know if we are a fit

You bring the problem, I bring the questions. Want a number first? The configurator shows hours, a price range and the start date.

or write to ciunkos@gmail.com

After you book you get a calendar invite. Nothing else to fill in.

My pledge

  • Reply within 24 hours. I reply within 24 hours on working days, personally, not a bot. Weekend messages: by Monday noon.
  • Late means free. If I am late, the first hour of work is free. You do not have to ask.
  • Scope in writing within 24 hours. A free 30‑minute call with no company deck, then the scope and the price in writing within 24 hours. You decide.
  • The person who does the work. You talk to the person who does the work. No sales layer, no handoff.
  • Follow‑up only with news. I follow up only when I have something new for you. Never a “did you see my offer”.
  • Honest “not a fit”. If I am not the right person, I say so on the call and point you to someone who is.

Calls this week · work starts 3 November 2026 · B2B contract · Wrocław, Poland (CET), remote

You own the code, domain and accounts from day one. Nothing is held hostage.