BUILDING IN KOREA
Manballers Devlog — Episode 06
Website to App — I Changed Direction Completely
Next.js was starting to feel comfortable. Then, one night, I realized I wasn’t building the thing I actually wanted to build.
After writing up through Episode 5, I was about to keep going with the website version of Manballers. Next.js was starting to feel familiar, and I’d deployed to Vercel enough times to have a rhythm going. Then, one night, out of nowhere, a thought showed up that wouldn’t leave.
What I actually wanted to build wasn’t a website. It was an app.
01
Why “App,” Not “Website”
Once that thought landed, it wouldn’t go away. My target users are in their 50s and 60s. Would they really open a browser, type in a web address, and remember to bookmark it? Or would a single icon sitting on their home screen be far more natural?
The answer wasn’t close. It had to be an app. A website is something you go find. An app is something that’s just there — and for this age group, “just there” wins every time.
I brought the dilemma to Claude, more or less asking whether I had to throw away everything I’d built so far. The answer was calm: “There isn’t much code built up yet, so if you’re going to change direction, now is actually the best possible timing.”
A website is something you go find. An app is something that’s just there.
02
A Completely Different World
So I put down the Next.js and Vercel path and started over with Expo — a tool for building real phone apps on top of React Native.
It was a genuinely different world. With the website, opening a browser was enough to check my work. With an app, I had to install it directly on my phone. That meant installing Expo Go on my phone, connecting it to the same Wi-Fi as my computer, and scanning a QR code just to see my own screen.
It sounded simple. It did not work on day one.
03
Renaming the Project — Harder Than It Sounds
I also went back and renamed the project itself. It started as barefoot-app, then became manballers for reasons that made sense at the time. I learned, the hard way, that changing a project’s name is often easier to solve by rebuilding the whole project than by editing it in place.
The folder name, package.json, and a web of internal config values are all tangled together. Rename just the surface, and something always breaks down the line.
04
Kakao, and Firebase
Changing direction meant changing tools too. I switched from Supabase to Firebase. And login had to be Kakao — non-negotiable.
There was no real debate here. For users in their 50s and 60s, “Sign in with Google” or “Sign up with email” is unfamiliar territory. Creating and remembering a new ID and password is itself a barrier to entry. Kakao is different. Everyone already uses KakaoTalk. The gap between tapping one “Start with Kakao” button and receiving a verification email, clicking it, then creating a password, is enormous in practice.
So I signed up for the Kakao Developers portal, registered the app, and issued a REST API key and a JavaScript key. Using Kakao Map required a separate map API application on top of that. I had no idea, at the time, how many days this one login button was about to cost me.
05
The First QR Code, and the First Defeat
The moment I got the Expo project running and the QR code appeared, I assumed this would take five minutes. Just point the phone camera at it, right?
Wrong. The phone camera threw an error along the lines of “can’t open with camera app.” I had to open Expo Go directly and hunt for the QR scan button buried somewhere inside it. My office Wi-Fi refused to connect at all. Back home, the firewall blocked it instead.
That night I dug through firewall settings, added Node.js as an exception in Windows Defender, tried something called tunnel mode, and eventually discovered the actual cause: the latest version of Expo Go didn’t match my project’s SDK version. I lost count of how many times I saw the message “Project is incompatible with this version of Expo Go” that night.
Version by version, I lined everything up, restarted the server more times than I can count, and near dawn, “Welcome to Expo” finally appeared on my phone. Just a default placeholder screen — but I don’t think I’ve been that happy to see a plain white screen before or since.
Up Next
Episode 07 — The Kakao Login Fight That Took Days
Version conflicts, a redirect URI hidden three menus deep, an error code I’d never heard of, and the moment I finally got Kakao login to bring me back into the app automatically.