The Problem
I was learning DevOps and APIs this summer. Every time I wanted to test a quick endpoint, I had two options:
- Open Postman — which takes 5 seconds to load, eats 800MB of RAM, and updates every 3 days
- Use curl — which is great until you need to format JSON, add headers, or see a pretty response
My laptop (running Fedora, 8GB RAM) would start fanning like a jet engine. For a simple GET request.
I thought: "Why does API testing need to be a desktop app?"
The Solution: API-Sisyphus
I built a web-based API client that:
- ✅ Loads instantly in your browser
- ✅ Zero install (just a URL)
- ✅ Sends GET, POST, PUT, DELETE with custom headers
- ✅ Pretty-prints JSON responses
- ✅ Runs on Vercel's free tier
Live Demo: api-sisyphus.vercel.app
Why "Sisyphus"?
> "One must imagine Sisyphus happy." — Albert Camus
Because debugging APIs is pushing a boulder up a hill. You fix one 500 error, another appears. The struggle itself is enough to fill a developer's heart.
Also, the domain was available.
How It Works
The UI is dead simple:
- Paste your API URL
- Pick the HTTP method
- Add headers/body if needed
- Hit SEND
- See formatted response + status code + latency
No tabs. No workspaces. No "syncing to cloud." Just you and the endpoint.
The Tech Stack
| Layer | Tech | Why |
|---|---|---|
| Frontend | Vanilla JS + HTML | No build step, instant load |
| Styling | CSS custom properties | Dark mode ready |
| Hosting | Vercel | Free, global CDN, auto-deploy from Git |
| Backend | None | Pure client-side fetch() — your data never touches my server |
A Real Example
Testing a public API:
javascript
// What the tool sends behind the scenes
fetch('https://api.github.com/users/abyss', {
method: 'GET',
headers: {
'Accept': 'application/vnd.github.v3+json'
}
})
Response:
JSON
{
"login": "abyss",
"id": 123456,
"public_repos": 12,
"followers": 203
}
All formatted, syntax-highlighted, and copy-pasteable.
What I Learned
1. You don't need React for everything
Vanilla JS is underrated. No node_modules, no webpack, no hydration delays. The entire app is < 50KB.
2. Vercel is absurdly easy
Push to GitHub → auto-deploy → custom domain in 2 clicks. I spent more time writing the README than configuring deployment.
3. Developer experience matters
The difference between "it works" and "it's delightful" is:
A loading spinner that doesn't lie
Error messages that tell you why CORS failed
Response time in milliseconds
What's Next
[ ] Save request history in localStorage
[ ] Import/export Postman collections
[ ] Response time graphing
Star the repo to follow along — I ship updates weekly.
Try It / Contribute
🔗 Live App: api-sisyphus.vercel.app
⭐ GitHub Repo: github.com/YOUR_USERNAME/api-sisyphus
🐛 Found a bug? Open an issue — I respond within 24 hours.
What's your go-to API testing tool? curl? Postman? Insomnia? Drop a comment below 👇
plain
---
## Why the Text Looked "Too Big"
You probably pasted the **front matter** (`---` block with `title:`, `tags:`, etc.) into the body. Dev.to renders that as giant text because:
- The `#` in markdown becomes a **heading** (big text)
- The `---` becomes a horizontal rule
**dev.to handles metadata separately** — use their sidebar fields, not markdown front matter.
---
## Preview Check
Before publishing, click **"Preview"**. You should see:
- Normal paragraph text (not giant)
- `##` headings as medium-sized section titles
- Bullet points as actual lists
- Code blocks with syntax highlighting
If anything still looks weird, take a screenshot of the preview and I'll fix it.
Ready to paste? Replace `YOUR_USERNAME` with your actual GitHub username in the repo link first!
Top comments (0)