← Blog
Zain Balkhi Story

Why I built App To Page

I didn't set out to build a WordPress plugin. I set out to put two of my own apps online — and discovered every way to do it was terrible.

I didn’t set out to build a WordPress plugin. I set out to put two of my own apps online.

The first was a year-in-view calendar generator — a tool that lays out a whole year at a glance, the kind of thing I wanted for myself and couldn’t find done the way I liked. The second was a 3D model generator that runs entirely in the browser. Both were just built front-end apps: a folder of HTML, JavaScript, and assets that ran perfectly on my laptop. All I wanted was to use them at a real URL.

The “correct” way was absurd

So I did what you’re “supposed” to do. I spun up a VPS. I pointed subdomains at it — calendar.mysite.com, models.mysite.com. I configured a web server, wrangled DNS, and kept a second machine alive just to serve two static apps.

For two small tools, I now had a server to maintain and a hosting bill to pay. And the whole time, I already had a WordPress site sitting right there. Why couldn’t I just put the app on it, at mysite.com/calendar, and be done?

Every existing answer was bad

The honest answer was: because every way to do that was terrible.

  • I could FTP the files into a subfolder — and manage them by hand, forever, while asset paths broke because the build assumed it lived at the domain root.
  • I could rebuild each app as a WordPress theme — throwing away a perfectly good build to re-implement it inside WordPress’s world.
  • I could paste it into a code-snippet plugin — and watch my app fight the theme’s CSS and JavaScript inside the page wrapper.

Each path either made me a full-time file manager or forced my self-contained app into a system it was never meant to live in.

So I built the third door

What I actually wanted was simple: take the build I already had, drop it onto the WordPress site I already paid for, and have it served at a URL — exactly as it ran on my machine.

That’s App To Page. You drag the .zip, pick a URL, preview it privately, and publish. The app is served standalone at mysite.com/calendar, with the asset paths fixed automatically and no theme wrapper around it. The whole VPS — the second server, the DNS, the extra bill — collapsed into a dropped zip file.

The part that surprised me

Once it worked for my two apps, I realized how many people were about to hit the exact same wall. Everyone is generating little apps with AI tools now — Claude Code, Codex, Cursor — and every one of those builds ends at the same question: now where does it go?

The answer turns out to be the one that was sitting there the whole time: use the WordPress site you already have.

See how it works →