Connecting the frontend to the backend every time I needed to build a full-stack application was a real struggle. An even bigger struggle was having to deal with boilerplates and deployment configs.
I wanted a tool that can do the heavy lifting for me so that I can focus more on building the actual application. This led me to discover Wasp, a DSL for building full-stack web applications.
It was near mid-October in the afternoon when a thought flashed through my mind “oh, Emmanuel! Hacktoberfest is on and you are yet to look for an open-source project to contribute to.” I love contributing to open-source and helping developer communities (I think this is where my passion lies - helping developers). After realizing that I am yet to pick open-source projects to contribute to, I set out to look for projects for Hacktoberfest.
I picked a few of them on the hacktoberswag.com website. Precisely three: pusher.js, refine.dev, and MindsDB. You are probably asking Oh, you did not pick Wasp? The thing was, Wasp wasn’t listed on that web page and I didn’t know if any tool by that name existed.
How did you discover Wasp?
I wish I could remember what took me to YCombinator's website on the 10th of October, 2022. That was when I first heard about Wasp and another language called DarkLang. After I learned about Wasp, I was intrigued and curious to know how it works, which led me to join the discord server the next day.
At this time, I had a number of open source projects to select from for Hacktoberfest: Pusher, Refine, MindsDB, Wasp, and DarkLang.
Why did I pick Wasp?
What intrigued me about Wasp is how it simplifies building full-stack web applications. It let’s you use React, Node.js and Prisma to build full-stack web applications - you don’t need to learn anything you’re not already familiar with. Writing deployment configs and boilerplate code was a pain point for me as a full-stack engineer, but seeing a tool that solves this pain caught my eye, so I felt it deserved my attention more. By the 14th of October, I had started contributing to the Wasp project. These contributions continued after Hacktoberfest. This is due to two reasons: the project was interesting because it addresses a pain point I was having, so it makes sense to contribute to it, and the warmth received from the Wasp team was super great. The team was very welcoming and open to receiving feedback from the community.
I may have forgotten to mention that when I started contributing to Wasp, the project was still at Alpha. As you’d guess, it was quite buggy and wasn’t fit for use in a production application. About a month later, Wasp beta was launched. This launch fixed a lot of bugs, added new features, and provided support for tools that developers need. At the end of the launch week, Wasp betathon was announced - a hackathon for building any project with Wasp for 10 days.
I built BetaNotes, an application for taking notes during the Wasp hackathon. This was my first time building a real project with Wasp. The application can do what any other notes app can do. Users are properly authenticated and authorization to make, edit and delete notes upon successful authentication. User records are well managed. All these were done with Wasp in only a few hours - I joined the hackathon less than 48 hours before the submission deadline. Wasp made it look easy because it handled the hard parts for me. For example, username/password authentication took less than 7 lines of code to implement.
You can find the code for this application on GitHub.
Of a truth, Wasp is not there yet. There is still a lot of work to be done to make it better. For example, server-side rendering (SSR), static site generation (SSG), framework agnosticism, etc. are not a part of Wasp yet. However, I have no doubt that Wasp has a very bright future in the web application development domain. It is tactically solving problems that have been overlooked and left unsolved in the web domain for many years. Developers tend to spend a lot of time on configurations, connecting clients to servers, writing boilerplate code, setting up deployment configs and databases, etc. All these eat up development time and slow down the delivery of applications to the finish line.
I believe that in a few years from now, Wasp will be the go-to tool for many developers building full-stack web applications. When this happens, you can revert to this article and call me a Prophet of tech tools 😆😉. I am glad to have been a part of this project, and I look forward to making more contributions as an open-source lover or as a Wasp team member in the future (this shows how much I believe in the Wasp project).