Skip to content

Latest commit

 

History

History
128 lines (89 loc) · 3.93 KB

File metadata and controls

128 lines (89 loc) · 3.93 KB

WorkersCanDo

100 small developer tools, built one at a time, all running on Cloudflare Workers.

Each tool does one thing, runs at the edge, and is free to use with no signup. The code is open so you can read how it works and copy what's useful.

Site: workerscando.com

The idea

I wanted to actually learn what Cloudflare Workers are good for, so instead of reading docs forever I'm building 100 real tools with them and putting everything online. Some are useful, some are experiments. The point is to ship and to learn in public, mistakes included.

If you're into edge computing, serverless, or you just need a quick tool that works, have a look around.

What's live

A few of the tools running right now:

Tool What it does
URL Metadata API Pull the title, description, and OG tags from any URL
OG Image Generator Generate social share images on the fly
URL Shortener Shorten links, backed by KV
PromptGuard Screen prompts for injection attempts
API Throttle Drop-in rate limiting for your endpoints
Dead Man's Switch Encrypted message that releases if you stop checking in

There are more in the repo (doctomd, webdigest, hire-wire, redirect-chain-tracer, and others). Full list at workerscando.com/projects.

Running it locally

Frontend (Next.js)

npm install
npm run dev

Then open http://localhost:3000.

Workers (Cloudflare)

cd workers
npm run install:all

# run one worker (each serves on http://localhost:8787)
npm run dev:url-metadata
npm run dev:og-image
npm run dev:url-shortener
npm run dev:apithrottle
npm run dev:promptguard

Deploying

The frontend and the workers deploy separately.

Frontend → Vercel — push to main and Vercel builds it.

git push origin main

Workers → Cloudflare

cd workers

npm run deploy:url-metadata   # or any single worker
npm run deploy:all            # deploy everything at once

How it's put together

One repo, two deploy targets. The Next.js site goes to Vercel; each worker deploys to Cloudflare on its own.

workerscando/
├── src/              # Next.js frontend → Vercel
│   ├── app/          # App Router pages
│   ├── components/   # UI components
│   └── lib/          # utilities & data
│
├── workers/          # Cloudflare Workers → Cloudflare
│   ├── url-metadata/
│   ├── og-image/
│   ├── url-shortener/
│   ├── apithrottle/
│   ├── promptguard/
│   ├── ...           # one folder per tool
│   ├── shared/       # shared helpers
│   └── package.json  # dev/deploy scripts for all workers
│
└── public/           # static assets

Live worker endpoints:

Tool Endpoint
URL Metadata https://url-metadata-api.brogee9o9.workers.dev/api/metadata
OG Image https://og-image-generator.brogee9o9.workers.dev/api/og
URL Shortener https://urlshortener.brogee9o9.workers.dev/api/shorten

Stack

  • Next.js 16 (App Router) + TypeScript
  • Tailwind CSS
  • Frontend on Vercel, tools on Cloudflare Workers

Why Workers

Workers run your code across Cloudflare's edge network instead of a single server, so requests are handled close to wherever the user is. There's nothing to provision and cold starts are basically instant, which makes them a good fit for small APIs and tools like these. That's the bet this whole project is testing.

Want to help?

  • Suggest a tool — small, focused, and buildable on a Worker is the sweet spot. Open an issue.
  • Build one — PRs welcome. Each worker lives under workers/<name>/.
  • Follow along — star the repo if you want to see the rest of the 100 get built.

Links


Questions or ideas? Open an issue, I read all of them.