How a Demo Page for my Abandoned Open Source SDK Accidentally Found Product Market Fit

Written by sb2702 | Published 2025/12/12
Tech Story Tags: open-source | webgpu | product-market-fit | startups | artificial-intelligence | web-development | saas | hackernoon-top-story

TLDRHow a free browser based video upscaling tool I built as a demo for an open source project accidentally found product market fit, growing to 70k MAU.via the TL;DR App

My name is Sam, I have a background in AI/robotics from MIT, I sold my first AI startup in 2021, and my bold ambitious second AI startup is crushing it , doing okay being funded by a free browser tool that I launched years ago and forgot about until now.

Let me explain.

How I got into this

When I finished grad school ~2012 I really wanted to go into software, but I couldn’t land a job in tech because no one cared about AI at the time (this was 2 hype cycles ago) which seems ridiculous in hindsight but at the time people were obsessed with mobile apps, and all the interviews I had, people asked if I could develop apps and I couldn’t. So what else to do? I taught myself to code and build apps.

Instead of looking for jobs I launched my first startup, an e-learning app. It was my first foray into startups, and of course the first idea didn’t work, and I did everything wrong (build before talking to users, raise money and build a team before product market fit), but over several painful years I did learn to pitch and talk to customers.

We downsized to keep things lean (yeah, that wasn’t great), and pivoted 10 times over 5 years, before finally landing on a successful idea - we build an SDK with AI features (virtual backgrounds, background noise removal) for video conferencing apps during the pandemic. That was super successful, and we were acquired by a customer.

Down the rabbit hole with AI filters

Now I know what you're thinking:

Getting acquired for AI Filters? Really? - You, maybe (possibly?)

Maybe you’re not thinking that, but for the sake of narrative, I’m going to assume that you, dear reader, are rolling your eyes 🙄, as an excuse to explain some somewhat interesting and arcane technical details.

When building video conferencing (especially WebRTC) apps, one of the biggest technical challenges was managing the users’ CPU, because for a video call with 20 participants, a user’s device is encoding a video stream and decoding 20 other video streams in parallel, and when users are joining on $200 netbooks they bought 10 years ago, your video calling app might melt their computer, which isn’t great for retention.

Most solutions for AI filters like Virtual Backgrounds required using libraries like TensorflowJS or Google’s Mediapipe, both of which essentially ported server ML runtimes (like Pytorch, Tensorflow) to the browser, but this led to tons of inefficiency (specifically CPU to GPU communication) which led to super high CPU usage.

Since Zoom and Google meet had virtual backgrounds, every other webrtc app is expected to have them as well, but the open source stuff is super inefficient, and using them would lead to a spike in MMN (monthly melted netbooks).

For one of our failed startup ideas I learned graphics processing via WebGL, and we figured, why not write neural networks in WebGL the browser? It’s not using a runtime like TensorflowJS, we essentially built our own, much faster runtime by hand-writing neural-networks in graphics shaders, and training and optimizing neural networks to run as fast as possible given the constraints of WebGL shaders on netbooks.

So while Google was busy porting server AI runtimes to the browser, making web developers adapt to what Google AI researchers were comfortable with, we did AI research to adapt AI models to work in a native web environment, and the results spoke for themselves.

So we had customers (and acquisition offers) because we proved our stuff was 10x better than the open source stuff (and what Google Meet had). Google later quietly copied the approach but they never open sourced it.

The side project

After we got acquired, our team of 5 essentially became the “AI team” for a 2000 person company with 5 products. From 2021 to 2024, we were busy integrating our existing AI filters into the acquirers’ products and building new ones (especially after the ChatGPT wave in 2022), and I went from CEO to product manager.

In 2023, WebGPU (the successor to WebGL) came out I decided to practice writing Neural Networks in WebGPU (the pandemic was over, but I figured it was still a useful but very niche skillset). AI Upscaling just happened to be the simplest possible AI task to write a Neural Network for (it’s just a smart sharpening filter). So over the Holidays in 2023, while visiting my inlaws, I spent my late evenings hacking together a Typescript SDK to upscale videos in the browser.

import WebSR from  '@websr/websr';

const gpu = await WebSR.initWebGPU();

if(!gpu) return console.log("Browser/device doesn't support WebGPU");

const websr = new WebSR({
    source: // An HTML Video Element
    network_name: "anime4k/cnn-2x-s",
    weights: await (await fetch('./cnn-2x-s.json')).json() //found in weights/anime4k folder
    gpu,
    canvas: //A canvas, with 2x the width and height of your input video
});

await websr.start();   // Play the video

Literally as a demo for the SDK, to show a real working example of how to use it, I built a quick utility tool to upscale videos in the browser. I called it “Free AI Video Upscaler”, registered free.upscaler.video, posted it on Reddit and forgot about it.

The “real project”

As head of AI for a 2000 person startup with multiple products, as the 2023 Gen AI boom kicked off I was inundated with feature requests from different product teams.

We ended up prioritizing AI Editing features for Streamyard (live streaming tool). After looking at what competitors were doing though, I was flabbergasted seeing a wave of “AI Editing startups” which boiled down to transcribing a video, and prompting ChatGPT for edit suggestions.

Having spent years in “Real AI”, I figured you could build much better, custom AI that could understand, audio,visual and transcript info, that could process and edit video 10x better, faster and cheaper than everyone else was doing.

I built a PoC and it totally worked, but before we could actually build it into the product, the company was abruptly fire-sold to a PE firm, and everyone either quit or was fired.

So I launched my second startup (Katana) with the idea of building a foundation model for video editing, which could edit long form content quickly, cheaply and reliably as well as moderately skilled video editor, and chose to start with podcasts (a lot of podcasters used Streamyard).

Learning from my first startup’s mistakes, I chose to start by myself, and figure out what was going to work before trying to scale, which means I’m super cost effective, but moving slower than I perhaps could have with a team.

I launched it in July 2025, and it’s not going terribly, it has taken months of R&D and building features, debugging and talking to users, to build a full working AI video editing suite, powered by a dozen custom, self-trained AI models, but through several launches and iterations It’s gotten to several dozen users using it, as well as around ~10 customers, all without marketing (all the users & customers so far have come from organic search).

Success despite my worst efforts

While I was slaving away at my AI Editing tool, I didn’t realize that my throwaway upscaler demo had been silently growing at 15% Month over Month entirely organically.

I never checked the numbers though, the only way I knew people were using my app was because users were messaging me on reddit about bugs, and regular users were signing up for github and opening issues on the github repo.

Like, I have a startup, a family and I was already pushing it trying to build, do AI research for, debug and market an AI Video Editing application as a solo founder. I didn’t really have the patience to debug video processing issues for a tool no one was paying me to maintain, so that some random users could upscale AI generated videos and torrented movies for free.

It was only after getting 15 messages in a row in a week in May 2025 about the app no longer working (when a chrome update broke the video processing pipeline) that I decided to spend a weekend debugging and fixing the issue, when I then logged into Google analytics for the first time in a year I saw that the traffic had grown 10x, by itself, to 30k Monthly Users, despite the bugs.

Given this random free tool had 100x the traffic for my actual startup’s main product, I decided to take it seriously, first and foremost by fixing the bugs

“No one would pay for this”

A friend of mine suggested building a paid version with bigger AI models run on the server, and I thought it was a stupid idea because I was pretty sure no one would go to paid.upscaler.video, but I also figured, it was at least worth trying a landing page so I vibe coded a landing page in 2 hours, pulled a pricing model ($5/hour of video) out of my ***, and then put up a offer saying “$1 for $20 in credits”, and I put a link to this on the front page of the free up scaling tool.

In one month 103 people paid me $1, which was about 4x more than I was expecting, so I begrudgingly decided to take this thing seriously.

I built a paid version out of obligation

It was only because I put on the page “This service will launch before October 1st or you get your deposit back” that I had any pressure to actually go build it.

You have to understand that with most upscaling tools are just wrappers for open source models developed by AI Resesearch (like RealESRGAN). A normal developer would look at an open source model, work out the cost of running it on GPU hardware and derive a pricing structure from the processing costs.

I chose $5 / hour entirely arbitrarily (it felt right), and I did custom R&D to come up with AI models that fit the pricing I chose and was obliged to honor because of the $1 deposit.

Here’s where actual AI experience was needed - none of the open source stuff or academic research was anywhere close to performant enough to make that price point work, but I had enough background with the area to build something custom for specific use cases and personas:

  • Marketers using AI generated videos
  • Amateurs torrenting long-form movies
  • Video Editors looking to upscale 1080p footage to 4K
  • Gamers trying to upscale screen recordings to 4K

It did require about 6 weeks of R&D (thought not all of it “active time”, I’d set a training run and come back 2 days later to see the results). With 100+ training runs and $5k+ in server training costs, it did take some effort, but I finished the models by late September.

I then just vibe coded the rest of the app (frontend + backend) over a weekend, launched in on September 30th, and sent the emails with $20 credits to early access subscribers on the last possible day before I was obliged to provide a refund.

Taking lessons back to the free version

Using what I learned from the R&D sprint, I trained a whole new set of much better AI models for the free app as well, and got some help from LLMs to spruce up the UI, make it mobile responsive, improve basic metadata like <title> and <description>, along with a FAQ section.

Those very minor changes doubled usage in the free version in 1 month, getting to around 2.3k users per day by November.

I didn’t market this anywhere, I didn’t try to get anyone to use this tool, and yet just fixing the basics (fixing bugs, improving meta data) and I saw growth I could only dream of for my main product Katana.

Unintentional Profitability

After putting the link to the paid version back into the main page of the free version, I suddenly had hundreds of people coming to the paid version every day, with around 50% signing up and 8% converting. Here’s the revenue so far:

Month

Revenue

September

$0

October

$1400

November

$2800


Okay, it’s not that much, but (1) I have low enough costs that I’m just about profitable, and (2) this was without any marketing. I didn’t try to get anyone to use my software, I just launched a product, people showed up, paid for it and used it.

I was fully game to go into founder sales mode for Katana, sending cold emails and doing things that don’t scale, and yet somehow the demo page for an abandoned open source SDK I built as a learning project reached product market fit in a way I could only dream of for Katana, and which I hadn’t seen since my first startup launched the AI Filters SDK that got us acquired.

I’m profitable without any marketing, and that just breaks my brain and all conceptions I had about startups and entrepreneurship.

What do I do now?

This upscaling tool will never be a big company, it’s not what I set out to do, but like, organic growth and the revenue from it seems too hard to ignore.

As a technical founder, I want to work on ambitious, and technically difficult projects, and a video upscaling tool is not that, but I have enough product sense to recognize and prioritize quick wins. I’m also incorrigibly technical, so maybe it’d do me good to learn distribution for a tool that I know is already working.

In either case, I’ve learned that:

  1. Inputs ≠ Outputs
  2. Some projects feel like rolling a boulder uphill, and some just roll downhill
  3. Free + Open Source projects can totally generate revenue

I’m going to go work on this upscaler thing some more, it seems irresponsible not to, but this experience has me re-evaluating what I want to do with Katana.

I have some other highly technical side / open source projects I’ve wanted to explore (a technique to greatly improve the accuracy and speed of transcription models, an open source AI Filters SDK with WebGPU), I would have otherwise called those ideas distractions or irresponsible, but maybe it’s the random side project that end up being the thing that works out.

Thanks for reading!

Here’s a link to the upscaling tool: https://free.upscaler.video

Here’s the source code: https://github.com/sb2702/free-ai-video-upscaler

Open source SDK: https://github.com/sb2702/websr/

And I think you can find my socials in the author bio.

Thanks so much for reading!


Written by sb2702 | 2X Founder, Developer & AI Researcher, obsessed with client-side AI
Published by HackerNoon on 2025/12/12