We needed to run maintenance queries (SQL) with user input

Georges Jentgen - Aug 15 - - Dev Community

We used to rely on Airplane.dev to run custom queries in our databases, primarily for maintenance purposes. Often, these queries required user input, such as a client ID, an email address, or other business-related information.

Airplane.dev provided an excellent platform for defining SQL queries and specifying custom parameters, which users could easily fill out. However, everything changed when Airplane.dev was acquired by Airtable, and the service was discontinued. We were given about a month to find an alternative solution.

I began searching for alternatives, even working on a couple of proofs of concept (POCs) using Bubble, Airtable, and other no-code platforms. Although these solutions came close to replicating what we had with Airplane.dev, they lacked the simplicity and specialization we needed. Rebuilding over 50 custom tasks using no-code tools proved to be too much work.

Then, I had a simple idea: why not create a replacement for Airplane.dev myself?

In my spare time, I started experimenting with PocketBase — a SaaS backend packaged in a single file, written in Go, and extensible with JavaScript. PocketBase uses an SQLite database and comes with a robust set of features, including the ability to subscribe to data changes in your database. It also has built-in authentication and allows you to define rules for data access and modifications.

As a long-time Firestore advocate, I found PocketBase to be a comfortable fit, as it aims to be an alternative to Google’s service.

It took me a few days to set everything up, including configuring PocketBase as my backend and database, and handling authentication and authorization with ease. Once I completed my setup using Docker and a custom docker-compose file, I was ready to work on the user interface.

I chose Stencil as my tool for building the UI. Stencil is a great framework for creating custom UIs and web apps using TypeScript, which transpiles into native web components with minimal dependencies. Having used Stencil for the past 4-5 years, I found it to be in the sweet spot: powerful enough to build robust web apps from scratch, yet simple enough to avoid overwhelming complexity when creating custom components. Stencil doesn’t hide browser APIs or native elements; instead, it embraces them.

Within a few days, I built a proof of concept. Like assembling the first personal computer in a garage, I was thrilled to present it to my coworkers. The day finally came, and not only did I successfully build a replacement for Airplane.dev, but I also helped the team transition to a new, more specialized solution just in time.

The feedback was overwhelmingly positive, motivating me to continue improving my newly built SaaS.

Over the last few months, I’ve dedicated countless hours of my spare time to refining the solution. Now, I’m finally ready to share it with the world.

TaskBee.dev

TaskBee's UI in action

I built TaskBee.dev out of a necessity. I continued improving on it because it was fun and exciting.

There is still more to come and a lot to improve. But give it a try. Setup a free account and see for yourself.

.
Terabox Video Player