Dev.to WebDev 🛠 Dev 👁 0 📖 5 min read

How I built 20+ free creator tools as the front door to my SaaS

I'm Manol T. I've been writing software for about 20 years, and for the last stretch I've been building a tool that tracks TikTok and Instagram creators, finds outlier videos, and helps you remake what's already working

I'm Manol T. I've been writing software for about 20 years, and for the last stretch I've been building a tool that tracks TikTok and Instagram creators, finds outlier videos, and helps you remake what's already working for your own product.

The paid product is the main thing. But nobody searches for "outlier detection for short-form video". People search for "tiktok engagement rate calculator" or "best time to post on tiktok". So I built a set of free tools that answer those searches directly, with no sign-up, and let them be the front door.

This is how that went, technically and otherwise.

The rule: one job per page

Every tool lives on its own URL under /tools/. Each page does exactly one thing:

  • Calculators: TikTok money calculator, engagement rate calculators (general, TikTok, Instagram), TikTok coins to USD
  • Checkers: TikTok safe zone checker, TikTok region checker, blacklist IP checker
  • Specs: TikTok video size, slideshow size, Instagram Reel size, carousel size
  • Data pages: trends today, trending hashtags, trending sounds, trends by niche, best time to post
  • Generators: transcript generator, video viewer, hashtag generator

One page per job sounds obvious, but it shaped everything. Each page has its own title, its own intent, and its own reason for someone to link to it. A combined "creator toolkit" page would have competed with itself for every keyword.

Browser first, backend only when needed

My default was: if the math can run on the client, it runs on the client.

The TikTok engagement rate calculator is the cleanest example. The formula is boring on purpose:

// Engagement rate by followers
const interactions = likes + comments + shares + saves;
const byFollowers = (interactions / followers) * 100;

// Same top line, divided by views
const byViews = (interactions / views) * 100;

Results update as you type, and nothing leaves the browser unless you use the optional username lookup. That matters for two reasons. First, it's fast and cheap: no API call, no rate limit, no hosting cost per use. Second, it's a privacy story I can state plainly on the page.

I show both numbers because they answer different questions. Rate by followers is what brands put in media kits. Rate by views is closer to how the content itself performed. The page compares against common industry benchmarks, and it says so: they're not figures published by TikTok or Instagram. I didn't want to dress up a rule of thumb as an official stat.

The TikTok safe zone checker follows the same idea with heavier lifting. You load a clip, it overlays what the TikTok UI covers, and you can download the overlay template. Everything runs in the browser; nothing gets uploaded. Doing video work client-side was more effort than spinning up an upload endpoint, but it removed a whole class of problems: storage, deletion requests, abuse, and the "where does my unreleased video go?" question.

Where a backend was unavoidable

Some tools can't be client-only:

  • Username lookups and the profile analyzer need public profile data, so they go through the server.
  • Trend pages (hashtags, sounds, trends by niche) are built from posts the main product already tracks, refreshed daily. This is the nicest overlap between the free tools and the paid product: the data pipeline already existed, the free page is just a public, aggregated view of it.
  • Best time to post on TikTok is a weekday-by-hour heatmap from tracked accounts. The Instagram version is different: it's built from published industry reports, and the page says that instead of pretending it's our data.
  • Transcript generator takes a pasted link and returns the transcript, the hook, and a script skeleton.

For anything that costs money per call, I cache aggressively. Trend pages are generated once a day, not per visitor.

Being honest about data sources

This was the part I thought about most. Free tool pages are a magnet for invented numbers: "the average TikTok engagement rate is X%" with no source. Every number I show is labeled as one of three things:

  1. Computed from your own input (calculators)
  2. Computed from posts the product already tracks (trends, TikTok posting times)
  3. Taken from published industry benchmarks or reports (engagement benchmarks, Instagram posting times)

It costs nothing to label, and it's the difference between a tool people trust and one they bounce from.

Beyond the website

Once the tools existed, packaging them elsewhere was cheap:

  • A Chrome extension for the same quick checks without leaving the page you're on.
  • An Android app, Creator Engagement Calc, for the calculator on the phone, where most creators actually live.
  • An MCP server, so coding agents like Claude Code can track niches and draft briefs. Honestly, this is the part I use most myself: my agent scans overnight and I read the brief in the morning.

The Android app was a good lesson in "the tool is the easy part". The CI setup, the UI tests on an emulator that kept losing window focus to system dialogs, the Play Console tracks, and the privacy policy update took far longer.

What worked

  • One URL per intent. Easy to describe, easy to submit to directories, easy to link from an answer on a forum.
  • No sign-up. Every gate you add loses people who were never going to pay anyway, but who might have linked to you.
  • Reusing the product's data. The trend pages are the only free tools with an ongoing reason to come back, and they only exist because the paid pipeline was already running.

What I'd do differently

  • Fewer tools, earlier depth. Some spec pages are thin. A size guide is useful, but it's not something anyone bookmarks. I'd rather have shipped five excellent tools than twenty decent ones.
  • Write the explanation first. The pages that do best explain the formula and the caveats, not just the input box. I added those sections later; I should have started with them.
  • Plan the bridge to the paid product. A free calculator user and a "find viral outliers for my app" user are not always the same person. I'm still figuring out that handoff without making the free tools feel like a trap.

Try it, break it

The tools are free and need no account, and the link is in my bio. If a number looks wrong or a page is missing something you need, tell me in the comments. That feedback is the whole point of building in public.

— Manol T

📰 Read the original article on Dev.to WebDev

Originally published by Dev.to WebDev. Aggregated on AIWithGhost for educational purposes — full credit and traffic to the original publisher.