Przemysław Zalewski

Eight platforms, one codebase

A mobile app developer for iOS, Android and desktop from one codebase

You need an app in the stores without hiring three teams or keeping three codebases. As founding engineer of Sandtime.io I shipped eight platforms from one codebase to 4,000+ users, with 270+ releases in ten months of 2026, and took Patriot Mail through CASA Tier 2 onto the App Store on iOS and macOS. Before that: 25+ apps, 3.7M+ downloads.

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

Przemysław Zalewski
8platforms shipped for Sandtime.io as founding engineer
4app stores I ship to end to end: iOS, Android, macOS and Windows, plus the web
25+apps shipped, 3.7M+ downloads (2009 to 2017)
15+years shipping software

Sound familiar?

Mobile app problems I fix in 2026

Google Play says my app doesn’t support 16 KB page sizes. What now?

Starting 1 February 2027, Google Play won’t let you release updates to apps targeting Android 15 or higher that don’t support 16 KB memory pages on 64‑bit devices (Android developers). One old native library in a React Native app is enough to freeze your releases.

I find every .so file that isn’t 16 KB aligned, upgrade or replace the dependency behind it in waves you can revert, and test the build on a 16 KB emulator image before it goes to Play. A typical app is often done in one evening. In August 2026 an Android app I worked on was about to drop out of Google Play search over an outdated target API; I laid out the upgrade path, coordinated device testing, and the new build was live before the deadline.

App Store review rejected our update. What now?

Apple’s 2025 App Store Transparency Report shows 2.09 million of 9.1 million submissions rejected, and 387,087 approved only after a resubmission or appeal. Every round trip costs days while users wait for the fix.

I read the rejection against the guideline it cites, fix what is real and argue what is not, with reviewer notes the reviewer can check in a minute. In October 2026 a macOS release I handled was rejected on two points: one was leftover store configuration, the other we argued with RFC 8252 and Google’s block on sign‑in in embedded webviews, and the release went through.

App Center Analytics is shutting down, what do I replace it with?

Microsoft retired App Center on 31 March 2025 and keeps only Analytics and Diagnostics running until the end of March 2027 (Microsoft Learn). After that date the crash reports and usage numbers your team checks every release are gone.

I move events and crash reporting to a tool you own, usually PostHog, and run both side by side for one release so you can compare the numbers before App Center goes dark. In October 2026 I made a mobile app record every failed load in error tracking with the app version, and reload a view the system had killed, where before users saw a retry screen or a blank view and nothing was reported.

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

Why me

Web first, native where it pays

One codebase, one release train. Native modules only where the web cannot do the job: system tray, background sync, store subscriptions.

Store and security reviews, passed

Passed: Google’s CASA Tier 2 for Gmail access and Yahoo’s OAuth review. Mac App Store subscriptions: shipped. I keep the checklists, so review is a planned step, not a surprise.

Accessible on a phone too

In Patriot Mail: WCAG 2.2 AA behind an automated axe gate, text scaling to 200% and a calm mode for older users, checked on every release.

Measured on every platform

The same PostHog events on web, desktop and mobile, so the dashboard answers “which platform converts” instead of “we think iOS”.

Live demo

Your device, probed live

Your browser reports what it can do right now. The table compares it with web, PWA, Electron, React Native and native. Nothing leaves your device.

Demo loading…

Open this page on another device and compare. The install button appears when the browser allows it.

Proof

Work I can show

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

Sandtime.io, built at Sanddev: founding engineer, eight platforms, one codebase

The problem
A time-tracking SaaS had to live where people work: desktop tray, browser, phone and app stores.
What I did
I authored the original product vision and architecture in 2018 and made the first commit. React Native wrappers for iOS and Android, Electron for macOS, Windows and Linux, a Chrome extension, multi-tenant routing, SSO, Dockerized services, Paddle and Mac App Store subscriptions, CI/CD.
Result
Eight platforms shipped and run in production. The only engineer active in every year of the product, 8,000+ commits and close to half of all merges to trunk. In 2026 alone: 270+ tagged releases in ten months, about 99% of support answered by me, and a vulnerability disclosure program with a public Hall of Fame.

8 platforms 8,000+ commits since 2018 Open ↗

Two store releases unblocked in 2026

The problem
In August 2026 an Android app was about to drop out of Google Play search on newer devices over an outdated target API, with the deadline about a week away. In October 2026 App Store review rejected a macOS release on two points.
What I did
For Android I laid out the exact upgrade path and coordinated device testing. For Apple I worked out that one objection was leftover store configuration to leave out of the submission, and argued the other with reasons: Google blocks sign‑in in embedded webviews and RFC 8252 recommends the system browser. I wrote the reviewer notes, the reply and the resubmission checklist.
Result
The Android build was live before the deadline and the macOS release went through review.

before the deadline review passed RFC 8252

Omio: ads and ancillaries across web, React Native apps and email

The problem
Ad experiences had to ship consistently across web, native apps and email in a data-driven, OKR‑based organization.
What I did
I owned features end to end: design, implementation across repositories and platforms, A/B tests and monitoring. Open redirects found on the way were reported.
Result
Features shipped end to end on web, React Native, Android and iOS, with A/B tests and monitoring.

A/B tests React Native OKR

See also: React

Facing something similar? Book a free call →

Press

Written up elsewhere

Real links, from Windows Phone apps in 2012 to a game in 2020. Online I go by Ciunkos. Some outlets are gone, so those links open an archived copy.

More mentions (5)

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 mobile and desktop app 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

Zero bug policy

A bug is fixed or consciously closed, never parked. Alerts and error tracking in every project, so I learn about problems before the client does.

Review as a craft

800+ pull requests reviewed on one product since 2018. I review for the product and its reasons. The code comes second.

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.

Good to know

Store rules that delay a mobile launch

12 testers for 14 days on Google Play

Personal Play developer accounts created after 13 November 2023 must run a closed test with at least 12 testers opted in for 14 days in a row before production access (Play Console Help).

Target Android 16 or no updates

Since 31 August 2026 new apps and updates must target API level 36, with extensions to 1 November 2026 (Android developers).

Xcode 26 is required for uploads

Since 28 April 2026, App Store uploads must be built with Xcode 26 and the 26 SDKs. An old CI image means no upload at all (Apple developer news).

React Native 0.82 has no old architecture

From 0.82, newArchEnabled=false is ignored and every app runs on the New Architecture. Each native module must support it before you upgrade (React Native 0.82).

Electron versions live about six months

Only the latest three stable Electron majors get fixes, and a new one ships every 8 weeks (Electron timelines). Mac App Store builds run sandboxed with autoUpdater disabled (MAS guide).

Apple’s 15 percent rate needs enrollment

The Small Business Program rate is not automatic: you enroll, with up to 1 million USD in proceeds the year before (Apple). Apps with sign‑up must also offer account deletion inside the app (App Review Guidelines).

FAQ

Questions people ask before they book

React Native or native Swift and Kotlin?
React Native when the team is web‑first and the app is mostly screens and data. Native when the product is the hardware: camera pipelines, audio, heavy background work. I have shipped React Native to both stores and know where it hurts. The web side of that story is on the React page.
Is Electron still a good idea?
For desktop apps that need a tray, a window and the file system, yes. I used it to ship Sandtime.io to macOS, Windows and Linux from one codebase. The size is a cost, the velocity is the gain. For the pure‑web route see the JavaScript page.
How painful is App Store review?
Painful once, then a checklist. Privacy details, sign‑in parity, subscription flows, screenshots, review notes. Patriot Mail went through App Store review on iOS and macOS with that list.
Chrome extension?
Shipped one for a time tracker. Manifest V3, a service worker, the same login as the web app, Web Store listing included. The same codebase runs as a SaaS on the web.
New app or a takeover?
Both. Taking over starts with a build that passes on my machine, a signing audit and a release to TestFlight within the first week.
You are one person. What if you get sick or leave?
The app keeps shipping without me. Code lives in your repository from day one, the developer accounts and signing keys stay in your company’s name, and releases run from CI with a written runbook, so a build never depends on my laptop. On Sandtime.io I was the only engineer active in every year of the product, which is why I write things down. More on the trust page.
Will AI write my app?
Coding agents write much of the first draft, and I own every line that merges. In 2026 about two thirds of the merged pull requests across two products I work on were built with coding agents, nearly all through my review or merge, and I reviewed 300+ pull requests by others. If your policy says no AI, I write by hand and the estimate reflects the hours.
What does it cost, and how soon can you start?
From 3 November 2026. A new app starts with a first shipped slice: three weeks full time, $3,672⁠–⁠$7,452 excl. VAT for 102⁠–⁠138 h, priced before it starts. A takeover can start with the one‑week code audit above. Rates are on the pricing page, and the engagement configurator shows hours and a price range for your app. Then book the call and bring the store accounts.
How long does it take to publish a new app on Google Play?
A new personal account first needs a 14‑day closed test with 12 testers (Play Console Help), and the app must target API 36 (Android developers). Plan about three weeks before production review.
Can a website wrapped in a WebView get into the App Store?
Only if it goes beyond a repackaged website, under guideline 4.2 (App Review Guidelines). Android developer verification has applied since 30 September 2026 in Brazil, Indonesia, Singapore and Thailand and goes global in 2027 (Android developers).
Google Play says my app doesn’t support 16 KB page sizes. What now?
Starting 1 February 2027, Google Play won’t let you release updates to apps targeting Android 15 or higher that don’t support 16 KB memory pages on 64‑bit devices (Android developers). One old native library in a React Native app is enough to freeze your releases. I find every .so file that isn’t 16 KB aligned, upgrade or replace the dependency behind it in waves you can revert, and test the build on a 16 KB emulator image before it goes to Play. A typical app is often done in one evening. In August 2026 an Android app I worked on was about to drop out of Google Play search over an outdated target API; I laid out the upgrade path, coordinated device testing, and the new build was live before the deadline.

Bonus · #suchar

A dad joke, on the house

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

Why did the phone wear glasses?Punchline

It lost its contacts. Ba‑dum‑tss.

What’s the longest-running app in history?Punchline

App Store review. Ba‑dum‑tss.

How does a smartphone say goodbye to its charger?Punchline

“See you at 1%.” 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.