DEV Community

江僖
江僖

Posted on

I Built 19 Free Tools and Deployed to 6 Languages ??Here's What I Learned

I still remember the moment I decided to build Korelyy.

Not because I had a grand business plan. Not because I did extensive market research.

But because I was frustrated.

I'm a developer. I write code every day. And every time I needed a simple tool ??compress a PDF, convert an image, format some JSON ??I had to:

  1. Google for a tool
  2. Upload my file to some random website
  3. Wait for ads to load
  4. Worry about privacy
  5. Repeat for the next tool

So I built Korelyy. 19 tools. No signup. No ads. No tracking.

The Numbers

  • 19 tools (PDF, Image, Text, Code, Math, Color, Network)
  • 6 languages (EN, ZH, ES, HI, FR, AR)
  • 0 registrations required
  • 100% free (and always will be)

What I Learned

1. Next.js i18n is powerful (but tricky)

Next.js has built-in i18n support. But deploying to Cloudflare Pages? That's where it gets interesting.

You need to:

  • Use next export for static export
  • Configure trailingSlash: true (Cloudflare Pages doesn't auto-handle trailing slashes)
  • Set up wrangler.toml correctly

2. Cloudflare Pages is fast (but has limits)

  • ??Free tier: generous (500 builds/month)
  • ??Global CDN: built-in
  • ??Function timeout: 10ms (for free tier)
  • ??No Node.js runtime (you're in Cloudflare Workers environment)

3. SEO is hard when you're a tools site

Tools sites are hard to rank. Why? Because:

  • Low time-on-page (users get what they need and leave)
  • Few backlinks (who links to a PDF compressor?)
  • High competition (smallpdf, ilovepdf, etc.)

My solution: Build tools that are actually useful, and write blog posts that teach.

The Tech Stack

  • Frontend: Next.js 14 + TypeScript
  • Styling: Tailwind CSS
  • Deployment: Cloudflare Pages
  • Analytics: Google Analytics 4
  • Search: Google Search Console

Try it out

?? https://korelyy.com

No signup. No ads. Just tools that work.


I'd love to hear your feedback! What tools should I add next?

Top comments (3)

Collapse
 
marcusykim profile image
Marcus Kim

Building from the annoyance of uploading PDFs, images, and JSON to random ad-heavy sites is a solid founder instinct, because the pain is frequent and trust-sensitive. The 19 tools across six languages is already real surface area, and the Next.js export plus Cloudflare Pages trailingSlash detail is the kind of deployment wrinkle that quietly eats hours. One product thought: for utility tools, retention may come less from accounts and more from consistency: fast loads, privacy by default, predictable URLs, and educational posts that solve the adjacent problem.

Collapse
 
korelyy profile image
江僖

Really solid foundational thinking behind this tool product positioning. Targeting the universal frustration of uploading sensitive files to cluttered ad platforms is such a strong starting signal—this is a trust-sensitive, recurring pain point that creates natural organic preference over competing generic tools. Six-language support and 19 separate utilities already deliver meaningful cross-market coverage, and it’s easy to overlook how repetitive static export + Cloudflare routing tweaks like trailingSlash eat up engineering cycles over time, so it’s smart to flag that operational overhead early. Your retention framework makes perfect sense for browser-native utilities; forced signups rarely move the needle for quick, one-off tool tasks. Prioritizing consistent performance, client-side privacy by default, static predictable URL paths (critical for SEO and repeat bookmarks), and contextual educational guides to cover adjacent user problems will build far stickier organic traffic than any account-based retention scheme. Curious to see how you layer those educational resources alongside each localized tool page long-term.

Collapse
 
marcusykim profile image
Marcus Kim

If I were building the next layer, I’d probably add short practical guides around each tool instead of generic blog posts. Something like “how to compress a PDF without losing readable quality” or “how to clean JSON before pasting it into an API request.” That keeps the education directly tied to the tool people already came for.