How Liyas Developed An Open Source API Testing Tool With Over 16K Stars On GitHub
Liyas is a full-stack developer at BuyMeACoffee.com, in his free time he loves to write open-source software. Recently, he built an open-source web-based API testing tool called Postwoman that got over 16k stars on GitHub. In a recent conversation with him, he shared some valuable insights into how he did it.
So, without further ado. Let’s get on with it:
Tell Us A Bit About Yourself?
I am Liyas Thomas, 23 years old, from Kerala, India. I graduated in computer science engineering, 4 months ago. I’ve been freelancing for the past 4 years and have been contributing to open-source projects for the past 5-6 years.
After graduation, I started my career in a start-up in my locality. Now I work as a full-stack developer at BuyMeACoffee.com (YC-W19). I have bootstrapped several projects such as postwoman.io, mnmlurl.ml and all. All these projects are mostly open source.
Tell Us About Your Product? What Pain Points Are You Trying To Solve?
Postwoman solves most of the problems that devs experience with any of the desktop-based API testing tools. Most of these tools rely on the configuration/processing power of the host system. If our system is slow, the entire process of testing a remote API from our desktop gets impacted.
With Postwoman there is no dependence on the processing power of the desktop. It’s a completely web-based API testing tool that runs in the browser. Postwoman is fast, flexible & enables the developers to make API requests from any device, any platform at any time without any reliance on the host system.
Postwoman is a progressive web app & comes in really handy in use cases like API integration, API architecture designing, API testing, WebSocket testing, GraphQL endpoint testing etc.
What Inspired You To Write This Product? How Did You Come Up With The Idea?
At my very first workplace, my first assignment was the integration of an API with a legacy project. So I had to manually check each and every API and make sure all were working fine. There was this desktop tool called Postman used by our team then to test the requests.
I had a 6-year old PC having 2GB RAM & 1.8GHz processor. I installed Postman and guess what. It crashed my system due to the high RAM and CPU consumption. At that night itself, I made an MVP and started using it by myself. Before going to sleep I committed the code to my GitHub profile. When I woke up the next day, & checked my profile, I could see the community loving Postwoman. Till date, Postwoman has 16K+ stars on GitHub.
So, Are You Making Any Money From Your Tool?
Postwoman is currently free and open software (FOSS). All the revenue is from donations only. It’s been 4 months since the initial deployment and till date, I’ve made ~$1000 from one time & monthly recurring donations.
Cool, Let’s Talk About The Technology Stack You’ve Leveraged To Build Your Product
Postwoman is a progressive web app with the front-end built with Nux – it’s a VueJS framework. I never did a project in Vue, so I wanted to learn it. And the tech hasn’t made me regret that decision till date 🙂
We’ve stuck to a very minimal UI and expressive UX design. We’ve never used more than 2 fonts on a page. I make wireframes and mockups in Figma and Sketch to visualize the after product. This saved a lot of time when implementing the UI.
There is no business logic on the backend, everything is on the client. Information such as user’s account information, synced history and collections are persisted in the database. A user that is not signed-in in the application can still leverage all the features of the app except the sync feature.
Google Analytics: to track and analyze users.
Google Cloud Functions: to OAuth users with Google Sign-in.
GitHub Apps and APIs: OAuth users with GitHub sign-in.
Which Platform Have You Picked To Host Your Service?
In 4 months, Postwoman has had:
1.6M+ page views, 160K+ uniques users with an 18-20% conversion rate.
Majority of the server requests are for the REST API testing while the least are for the documentation.
PW is an open company. The total charge for running the site is 0 (zero). The only fee I had to pay was for the domain registration and its renewal which was a donation.
Travis CI is used for continuous integration. Production code is backed up on Firebase via Travis CI.
We have NGINX load balancer to tackle traffic surges.
So, Besides You, Does PostWoman Has Any More Contributors On GitHub?
Well, the project has 57 contributors right now from different parts of the world. 12-15 of them are the core contributors & the rest of them work on the project on and off.
We keep a public mono repo for both development and production. Testing and development are done in separate branches. Master branch contains the production code. PRs are verified and merged on the authorization of a core dev. We make use of GitHub issues for feature requests and bug reports.
I personally spend around 1-3 hours daily on the development and maintenance of the project combined.
What Are Your Future Plans For PostWoman?
Being an open-source project, we’ve gained quite a traction over the past few months. We believe users love this alternative tool for testing. Our scaling strategies include server expansion, Auth with multiple providers & so on. I also have a blog on Dev.to with ~10,000 followers. I write articles regarding the latest features of Postwoman. Currently, PW is used by devs in almost every continent covering over 60% countries.
Speaking of the product design process, I have a couple of questions regarding this:
If You Were To Rebuild Your Service From The Bare Bones, Is There Anything You Would Do Differently?
Nope. Currently, I’m pretty satisfied with the current stack & how things are going.
What Are Some Of The Challenges That You Faced During The Whole Product Development Process That You Would Like To Share With The Readers?
Controlling a remotely oriented dev team is much harder than it appears. Most of the devs are from different time zones that makes collaboration hard.
Finally, Is There Any Advice That You Have For The Devs & Entrepreneurs Who Aspire To Or Are Already Building Their Product From The Ground Up?
Listen to your customers. Prioritize features that they want, focus less on what you want. If the customers are happy with your product, there is no stopping you.
Where Can We Learn More About You?
Liyas, thank you for this insightful conversation & I would like to have more conversations with you in future.
If you guys are working on something cool or have already developed something & started up and would want to share your story. Send me an email at [email protected]
Also, before you leave you might want to check out this Product Development Roadmap – Insights, By A Developer, Into The Process Of Developing New Products From The Bare Bones article that I recently published.
I am Shivang, the founder of this blog. You can read more about me here.
Here is my LinkedIn profile in case you want to say Hi!! 🙂
More On The Blog
- Distributed Systems, Scalability & System Design #1 – Heroku Client Rate Throttling
- Zero to Software/Application Architect – Learning Track
- Java Full Stack Developer – The Complete Roadmap – Part 2 – Let’s Talk
- Java Full Stack Developer – The Complete Roadmap – Part 1 – Let’s Talk
- Best Handpicked Resources To Learn Software Architecture, Distributed Systems & System Design