
A few weeks ago I did something I had never done in sixteen years of working in IT. I launched two websites in the same week. What made it interesting was not the speed. It was that I built them in two completely opposite ways, and living with both taught me more about the trade than either one would have on its own.
The first site is this one, desaputro.com. I built it by hand, with heavy help from AI, but hand-built in every way that counts. A Go and Gin API on the backend, a React and Vite frontend, DynamoDB for storage, and the whole thing deployed on AWS Lambda behind CloudFront, with Cloudflare in front. Nothing about it came out of a box.
The second site is melogaming.com, a game top-up store. I play mobile games, I buy top-ups all the time, and I wanted to see what it felt like to run a store instead of just shopping at one. For that one I did the opposite of hand-building. I used UniPlay, a turn-key platform made specifically for game top-up stores. I picked a tier, paid, and had an admin dashboard within minutes. The store was live and taking orders almost immediately.
Two sites, two approaches that could not be further apart. Here is what each one actually cost me.
What the hard way costs
Building desaputro.com from scratch was not the fun part most of the time. Writing the Go handlers and the React components was the easy stretch. The real hours went into the parts nobody posts screenshots of: wiring IAM permissions on AWS, getting the CloudFront distribution to behave, setting up the deploy pipeline, and chasing the kind of bug where the build is green, the tests pass, and the page still renders blank in a real browser.
That last one is a good example of what hand-building really means. When I moved the frontend off Create React App and onto Vite, everything compiled, every test passed, and the live page was blank. The cause was a single assumption Vite does not carry over from the old toolchain, a global the browser no longer defines. No dashboard would have warned me. I found it by opening the site and reading the console, then fixing it in my own config. That is the deal with owning your stack. The problems are yours, but so is the fix.
The upside of paying that price is control, and control that compounds. The same Vite migration that broke the page also let me cut the project's dependencies from over fifteen hundred packages down to around seven hundred and eighty, with a clean security audit at the end. When I wanted the blog to show up properly for search crawlers, I added prerendering myself, because I owned the whole pipeline. When I wanted a strict security policy on the response headers, I just wrote it. And when it is time to ship, the production deploy sits behind a manual step on purpose, so nothing reaches the live site without me choosing to push it. Every route, every cache rule, every byte the server sends is mine to change, because there is no platform deciding what I am allowed to touch.
What the easy way costs
MeloGaming was the reverse. I traded control for speed, and the speed was real. Going from paying to a working storefront in minutes is genuinely impressive, and for a store that mostly needs a catalog, a checkout, and a payment flow, reinventing all of that by hand would have been a waste of weeks. The platform handles the parts that are the same for every store, and it handles them well.
The cost shows up later. Turn-key platforms share a foundation, so your store starts out looking like every other store built on the same platform. You get customization, but only inside the lines the platform draws. If I ever want something it does not support, I do not get to just write it the way I did on desaputro.com. I get to file a request and wait, or work around it. And building the site turns out to be the small part anyway. In the top-up business, traffic is the whole game, and no platform hands you an audience. The plumbing being solved for you does not solve the actual problem, which is getting people to show up.
Which one is right
After running both, I do not think one approach beats the other. They answer different questions.
If the value of the thing is the software itself, or if you will need to bend it in ways you cannot predict yet, hand-built wins. You pay in hours up front and in maintenance forever, but you own every decision. That is the right call for desaputro.com, because here the site is partly the point.
If the value is the business and the software is just the storefront it runs on, turn-key wins. You pay in flexibility and in looking a little like everyone else, but you skip weeks of plumbing and get to spend your time on the part that actually matters, which for a store is reaching people.
The lesson I am taking from a strange week of launching two sites is that "build or buy" is not really about which one is better. It is about being honest with yourself about where the value actually lives. Get that wrong and you will either hand-roll a storefront you never needed to, or spend your days fighting a platform to do something you should have just built yourself.
If you are looking at a game top-up store of your own, I used UniPlay for MeloGaming and its reseller program is here. That is a footnote to the real point above, not the reason for it.