I kept hitting the same small friction: I'd want to quickly rewrite an email, clean up some text, or summarize a long thread — and every tool wanted me to sign up, pick a plan, or watch an ad first. For a ten-second task, that's absurd.
So I built the thing I wanted: a set of free, no-signup AI text tools, each doing one job well. This is a quick write-up of the stack and the decisions behind it.
👉 Live: https://www.texttoolsai.app
The core idea: one tool, one job, zero friction
Instead of a single mega-app, it's a collection of single-purpose tools — rewrite, tone change, summarize, prompt generation — each on its own page. You land, paste, get output. No account, no modal, no paywall.
The "no signup" rule forced good constraints: everything has to work instantly and statelessly, which kept the whole thing simple.
The stack
- Next.js (App Router) — server components for the content/SEO pages, client components only where the tool actually needs interactivity.
- Vercel for hosting — the deploy story is boringly good, which is what you want.
- An LLM API on the backend — the browser never sees a key; requests go through a Next.js route handler that owns the prompt and the provider call.
- Tailwind for styling — fast to iterate, easy to keep consistent across dozens of tool pages.
One decision that paid off: data-driven pages
Every tool is defined as a config object (label, placeholder, system prompt, endpoint) rather than a hand-built page. Adding a new tool is mostly adding data, not wiring up new routing. That's what made it realistic to ship a lot of tools without the codebase turning into spaghetti.
// simplified shape
{
slug: 'rewrite',
label: 'Paste your text',
endpoint: '/api/tools/rewriter',
systemPrompt: '...'
}
The route handler resolves the endpoint key against a map of system prompts, so the API surface stays tiny even as the tool count grows.
What I'd tell anyone building something similar
- Keep the API key server-side. Obvious, but easy to leak through a misconfigured client fetch. Route handlers exist for exactly this.
- Make the output editable, not final. AI drafts, the human approves — I never auto-submit or auto-copy anything without the user seeing it first.
- Design for "no signup" from day one. It's much harder to remove friction later than to never add it.
If you want to poke at it, it's all live and free (no signup, I promise): https://www.texttoolsai.app — feedback from other devs genuinely welcome, especially on where the output quality could be tighter.
What's your take — do you prefer one big AI app, or a bunch of small single-purpose tools?
Top comments (0)