Introducing Feather - A Lightweight Postman Alternative

- Hemil Ruparel 25 December, 2023

Merry Christmas Everyone!!!

Feather is a lightweight, fast and responsive postman alternative. At work, I interacted with a lot of APIs. Most people use Postman to call and check APIs. But it does not feel very nice to use. It uses a lot of RAM and CPU for whats essentially wrapping over curl. I thought to myself, wrapping over curl can't be this hard. I think I can build a decent implementation of my own!

Over the course of this month, in the little free time I had, I have built a prototype, a version 0.0.1. It is very alpha and may have a lot of bugs. But at this point, it has all the basic features I would expect in an API client. It can send GET, PUT, POST and DELETE requests and it can send headers and query parameters. It can also show response body as text and display the response headers.

Source code

Tracking

All changes I do will be tracked on this trello board. It is a public board. Anyone can view. Only I can edit as of writing. All feedback is welcome. Feel free to reach me out on any social media or email me at hemilruparel2002@gmail.com

Limitations

Architecture

Feather is a very simple Web app. Frontend is vanilla HTML, CSS and JS. Backend is COWJ. Actually, it is a fork of COWJ with a SSL + ok http integration.

Therefore, the architecture is very simple. It is one VM with the COWJ fork serving both static content and the proxy service. No fancy anything. DNS records point straight to the VM.

Why do I need a backend?

Browser is a weird choice of performance and resource sensitive software, isn't it?

The state of cross platform desktop frameworks is really bad. My first preference was Qt but I couldn't get the open source version to install. Second preference was wxWidgets but as someone who does not know it very well, the documentation is very limited. There were other esoteric frameworks I considered but I thought they were too risky.

I then settled on web technologies. Justification being, while developing, I have the browser open always all the time. So I am anyways paying 300-400MB RAM upfront. What I can do is to make sure the RAM usage of my website is pretty darn low.

For the little manual tests I have conducted, RAM usage is consistently below 3MB. Which is good enough. I would start to look into more detail once it starts to cross 10MB.

I am developing this on a Ryzen 3 2200G, 16GB single channel RAM machine. Which was a very entry level machine 5 years ago when I built it. So far, the website has been very responsive though I have not done load testing. Goal is if it runs on my 5 year old machine, it should be pretty responsive for newer machines.

Monetization

I have not implemented monetization but this is the plan:

Feather is and always will be open source. It will have all the instructions to build and run it in the Readme (yet to do). If however, you want to use my servers to proxy the request, there would be a charge (I am thinking $5/month. Not sure yet). You are free to run it locally unlimited times. It is just another open source software.

I am betting on two things:

  1. People care about performance
  2. People would pay for a better performing product

I may be wrong but once I have implemented all the features I plan, target would be to acquire 100 customers within the next 2 months. Or else, it would be a hobby project not a business idea.