Focused web tools for everyday content work — AI tools that turn an article into SEO metadata or social posts, plus instant browser-side utilities for counting, converting, and slugifying text. Free to use, no sign-up, with an optional bring-your-own-key for unlimited AI runs.
AI tools — powered by Gemini; use the daily free quota or bring your own key.
| Tool | What it does |
|---|---|
| Article to SEO Meta | Generate SEO title and description variations sized to Google's display limits (50–60 / 150–160 chars), with an optional primary keyword in each. |
| Article to Social Posts | Turn an article URL or draft into platform-optimized posts for X, LinkedIn, Threads, Bluesky, Mastodon, and Substack — with tone, voice, hashtag rules, and X threads. |
Instant tools — run entirely in your browser, no key, no account, nothing sent to a server.
| Tool | What it does |
|---|---|
| Case Converter | Switch text between UPPERCASE, Title Case, camelCase, snake_case, and more. |
| Hash Generator | Hash text with SHA-1, SHA-256, SHA-384, and SHA-512, right in your browser. |
| Lorem Ipsum Generator | Generate placeholder paragraphs, sentences, or words in one click. |
| Reading Time Estimator | Estimate reading and speaking time, with a copy-ready “X min read” label. |
| Slug Generator | Turn any title or headline into a clean, URL-safe slug. |
| SVG to JSX Converter | Convert raw SVG markup into a clean React/JSX component. |
| Word & Character Counter | Live word, character, sentence, and reading-time counts, with per-platform character limits. |
More on the way.
- Instant tools — run fully in your browser. No key, no account, nothing leaves the page.
- AI tools — a daily free quota per tool, no account needed.
- Bring your own key — add a free Google AI Studio key in an AI tool's settings for unlimited runs. It stays in your browser, never on a server.
- Copy-only — the AI tools draft, you copy and post. No OAuth, no publishing, no stored credentials.
Prerequisites: Node.js 20.9+, pnpm, and a Google AI Studio API key.
git clone https://github.com/Timonwa/tools-by-timonwa.git
cd tools-by-timonwa
pnpm install
cp .env.example .env # add at least GOOGLE_API_KEY
pnpm devOpen http://localhost:3000.
| Variable | Required | Purpose |
|---|---|---|
GOOGLE_API_KEY |
✅ | Gemini key powering the tools |
GOOGLE_API_KEY_ARTICLE_TO_SEO_META |
— | Optional per-tool key (falls back to GOOGLE_API_KEY) |
GOOGLE_API_KEY_ARTICLE_TO_SOCIAL_POST |
— | Optional per-tool key |
LLM_MODEL |
— | Server model (default gemini-flash-lite-latest) |
UPSTASH_REDIS_REST_URL / ..._TOKEN |
— | Enables hosted daily rate limiting |
Built with Next.js 16, React 19, TypeScript, Tailwind CSS v4, the Vercel AI SDK + Gemini, and Upstash Redis.
Contributions are welcome — bug fixes, UX and accessibility improvements, agent-prompt tweaks, docs, and ideas for new tools. See CONTRIBUTING.md for setup, scope, the codebase layout, and the PR workflow. By participating you agree to the Code of Conduct.
- Bring-your-own keys live in your browser's
sessionStorage, cleared on tab close. They're sent with a request only to make that Gemini call on your behalf — never logged or stored. - Your input is sent through the server to Google Gemini only for that request; not logged or stored (URL-based fetches are cached in memory for up to an hour). There's no database.
- History, preferences, and templates live only in your browser's
localStorage. - Rate-limit counters store a keyed (HMAC-SHA256) hash of your IP plus a daily count in Upstash Redis (resets at UTC midnight); bring-your-own-key requests skip this.
- No accounts, no profiles, no cross-site tracking. Anonymous, cookieless usage analytics via Umami — no personal data.
Full details: tech.timonwa.com/privacy.
Please report vulnerabilities privately — see SECURITY.md. Don't open a public issue.
AGPL-3.0 — see LICENSE. You can use, modify, and self-host it freely; if you run a modified version as a public service, your source must stay public too.
- ⭐️ Star the repo
- ❤️ Support
Built by Timonwa. Open source · AGPL-3.0.