Naptune started as a birthday gift.
My best friend wanted a faster way to merge audio and a cover image into a video and push it to YouTube as a type beat. Also, he wanted to save some money. I built something that did exactly that, nothing more. It worked, he liked it, and for a moment that felt like enough.
We then questioned each other and said: what if we actually built this properly? He has the knowledge of what producers need, and I have the skills to build it.
That question turned into eight months of continious and iterative work, which resulted in soft launch and a huge v0.9.8!
v0.2-v0.7: Feature by Feature, Problem by Problem
The early versions were simple in the best and worst sense of the word. v0.2 introduced scheduled uploads, the first implication that this wasn't just a one-shot tool. From there, each version added one piece of the puzzle: upload defaults to save repetitive configuration (v0.3), bulk uploads for producers uploading multiple tracks at once (v0.4), image cropping so thumbnails actually looked right (v0.5), an auto resizer to handle the YouTube dimension requirements automatically (v0.6), and eventually a leaderboard to give the community something to rally around (v0.7).
None of these were on a grand plan. Each one came from a real friction point, something that made the upload workflow slower or more error-prone than it needed to be. We were essentially dogfooding our way to a feature set.
v0.9.0-v0.9.2: Opening the Doors and Immediately Finding the Cracks
The public beta at v0.9.0 was the first real test. Until that point, feedback had come from a small circle. Once actual users started touching the app, the gap between "it works" and "it's good" became impossible to ignore.
v0.9.1 and v0.9.2 were almost entirely stabilization. The OAuth flow was misbehaving, redirecting users back to Google login after a token expired instead of quietly refreshing it. Subscription upgrades had a bug that would, under specific conditions, slot you into the wrong tier. Proration calculations were off. Webhooks were unreliable. None of this was visible during internal testing because we already knew exactly how to use the product. Real users found every edge case we hadn't thought to test.
Payments being live meant these weren't cosmetic issues, they affected trust directly. A user whose subscription didn't activate after a successful PayPal checkout isn't going to file a calm bug report. They're going to leave. Fixing the redundant subscription activation mechanisms in v0.9.2 was one of the most important pieces of infrastructure work we did.
v0.9.5-v0.9.6: Soft Launch and the First Feedback Loop
v0.9.5 was our soft launch moment, live payments, tier-based access, and a formal acknowledgment that this was now a real product people could pay for. We also gave complimentary Pro access to all beta testers who had helped us get there. That felt right.
v0.9.6 came fast, because beta users told us what to fix fast. Auto-scroll when adding a new track. Numbered upload containers so bulk uploads didn't feel like managing an unnamed list. Clone-preset functionality so users didn't have to rebuild upload defaults from scratch. Small things individually, but each one was the difference between an experience that felt considered and one that felt unfinished.
We also made the first tier access adjustments here: Auto Resizer moved to the free tier because blocking core utility behind a paywall at this stage was the wrong call.
v0.9.7–v0.9.8: UX as a Product Value
By v0.9.7 we had enough usage data to see patterns. The upload flow was the heart of the product, every friction point there had outsized impact on whether someone would come back.
Watermark controls became granular. Pro users got leaderboard profiles — bios, featured videos, custom usernames, turning what had been a raw ranking into something closer to a community surface. Audio upload limits were formalized by tier with format support that actually matched what professional producers use (WAV, FLAC, AIFF for Pro).
v0.9.8 continued that thread. Upload data now persists across OAuth redirects, meaning if you filled in metadata, added files, then had to sign in, you'd land back exactly where you left off rather than starting over. The login screen was folded into the upload page itself. Watermark preferences moved into upload defaults so power users didn't have to toggle the same setting on every session. And we laid the groundwork for audio similarity detection — infrastructure for a future feature, but worth noting because it reflects a shift in how we're thinking about the product's long-term direction.
On the SEO side, v0.9.8 also brought meaningful landing page additions, a Community section, a Save Time section, a Stay In Control section, each one designed to communicate value to someone arriving cold from search, not just someone who already knows what Naptune does.
What the Journey Actually Looks Like
If I had to compress everything between v0.2 and v0.9.8 into a single observation, it's this: the feature work was the easy part. The hard part was learning to treat every user confusion as a product failure rather than a user error.
The beta phase accelerated that learning more than anything else. It turns out the fastest way to understand your own app is to watch someone else use it for the first time.
We're not at 1.0 yet. But v0.9.8 is a product, one with a coherent structure, a working payments layer, an actual community, and a feedback loop that's genuinely shaping what comes next. That's a different thing than what existed when this started as a birthday gift.
Comments
No comments yet. Be the first to comment!
Add a Comment