DEV Community

Cover image for I Built a Lightweight Postman Alternative Because My Laptop Was Dying
Fyodor Dostoevsky
Fyodor Dostoevsky

Posted on

I Built a Lightweight Postman Alternative Because My Laptop Was Dying

The Problem

I was learning DevOps and APIs this summer. Every time I wanted to test a quick endpoint, I had two options:

  1. Open Postman — which takes 5 seconds to load, eats 800MB of RAM, and updates every 3 days
  2. 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:

  1. Paste your API URL
  2. Pick the HTTP method
  3. Add headers/body if needed
  4. Hit SEND
  5. 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!
Enter fullscreen mode Exit fullscreen mode

Top comments (0)