I built 109 tools that never touch a server - here is the architecture

2026年8月11日1 次浏览来源:Dev.to阅读原文

I built 109 tools that never touch a server - here is the architecture Most "tools" sites you have used do this: You upload a file It goes to a server The server processes it You download the result Sometimes the server stores it.

Sometimes it leaks.

Sometimes it disappears with the company.

I wanted something different.

Every tool on korelyy.com runs 100% in your browser.

Zero backend.

Zero upload.

Zero tracking.

Here is the actual architecture, the real numbers after 90 days, and what I learned.

What "no server" actually means For each of the 109 tools: The entire app is a static HTML + CSS + JS file It is served as-is from a CDN (Cloudflare Pages) All file processing happens in your browser via , , , or Your file never leaves your device Closing the tab = the data is gone (no cookies, no localStorage, no account) This is not a marketing claim.

It is verifiable: Open DevTools -> Network tab Use any tool that requires a file (image converter, JSON formatter, etc.) Reload.

The only network request is for the static HTML/CSS/JS bundle.

No to a server.

No .

No upload.

The file is read, processed in-memory, and downloaded.

The 4 browser APIs that do 90% of the work When you remove a backend, you are left with the browser.

The browser is more capable than most people think.

  1. and Read any file the user gives you: Image conversion, PDF generation, audio trimming - all the same pattern.
    Read blob, process, create new blob, download.
  2. (Web Crypto API) Hashing, encryption, signing - all client-side: No need for a Node backend.
    The browser has FIPS-validated crypto built in.
  3. and Image manipulation in 2D context: resize, crop, rotate draw shapes, text, gradients extract pixel data convert formats via lets you do this in a Web Worker, so the UI does not freeze on large images.
  4. and For CPU-heavy work (JSON validation, regex, large CSV parsing), offload to a Web Worker.
    The main thread stays responsive.
    The hard parts It is not all easy.
    Three categories of features are genuinely hard without a server:
    1.
    Anything that needs a shared database "No server" means no central state.
    You cannot have user accounts, leaderboards, comments, or shared documents without a backend.
    My answer: I do not have those.
    The trade is intentional. korelyy is not a social product.
    It is a calculator.
    Calculators do not need user accounts.
    If you want shared state, you need a backend.
    Be honest about it.
    2.
    Anything that needs to call a third-party API that requires a key Most LLM APIs, payment APIs, and OAuth flows need a server-held secret.
    My answer: do not call them from the client.
    Either skip the feature or do it via a thin serverless function. (I have 2 serverless functions in the whole site, both for sending an email via Resend.
    They are 30 lines total.)
    3.
    Anything that requires lots of CPU or RAM A 4K video transcoded in the browser will lock up the UI for 30 seconds.
    There is no fix except "use a server." My answer: korelyy does not do video.
    Image, audio, text, code, JSON, PDF, CSV - all fine.
    Video, 3D, ML inference - skip.
    The SEO win no one talks about A static-only site is insanely fast for Google.
    Lighthouse 100/100/100/100 on every page LCP under 500ms globally TTFB under 100ms (Cloudflare edge) Total page weight under 50KB Google rewards this.
    My actual results after 90 days: 165 pages indexed 1,545 monthly impressions 22 monthly clicks 0 backlinks 0 marketing spend These are not impressive numbers.
    But the cost per impression is literally $0.
    And the trend is monotonically up.
    The 6-language "trick" Most indie sites ship English-only because i18n is painful.
    Mine has 6 (en, zh, es, fr, hi, ar).
    The trick: translations live in JSON files, not in the code.
    A 2,000-line tool component never knows what language it is in.
    The hook from next-intl handles it.
    RTL (Arabic) is one CSS rule: plus using logical properties ( instead of ) throughout.
    Cost: 1 week to set up.
    Saved: 6x market reach with zero ongoing effort.
    What I would do differen
分享
Baike.dev

baike.dev helps you discover great languages, frameworks, databases, DevOps and cloud-native tools.

Quick links

About

Contribute

Found a great developer tool? Share it with the community.

Submit a tool
© 2026 baike.dev Developer EncyclopediaUpdated daily · Discover great developer tools