Senior Product Engineer / Tonic Labs / April 2021 - August 2022
Powerbase provides a unified way to browse, manage, and interact with data stored across multiple systems - systems like your core user database, your customer CRM, and your no-code tools.
In 2021, the CEO came to me with an idea. It was a no-code database and he wanted me to build it. The frontend was ReactJS, while the backend is to be decided. What the app would do is enable both dev and non-developers to manage and connect multiple systems to a single database. The app would be similar to AirTable where it would act like an Excel sheet which enables users to do familiar commands like rearrange columns, add records, etc.
I was fond of SQL databases and wanted to see how his idea would work. So I agreed and built him a prototype, then the initial version of Powerbase.
- UX/UI Design
- Database Design
Built the initial version of Powerbase from the ground up.
- Rails - Ruby MVC framework.
- PostgreSQL - object-relational database system.
- TailwindCSS - utility-first CSS framework.
There was a lot that needed to be done.
As I work on the app, I encountered a lot of challenges that were quite new to me. Some of it are:
- reading from remote databases while being mindful of the open connections.
- syncing the metadata/schema information we have with the remote database.
- allowing the app to view and manage millions of records with ease.
- linking records across tables and databases to each other.
- modifying records which thinking about SQL column-level validations and role-based permissions.
- enabling the familiar commands such as reorder columns, copy-paste, etc.
- subscribing to real-time updates to the database.
Another added challenge was that we decided to go with Rails in which my experience working with it is only a few months or so. Moreover, I would build it solo and expected to wear multiple hats.
The client is mostly focused on managing the product scope, research, ideation, and marketing side which includes interviews and such, while I'm focused on the product design and development. Though, I did suggest we get a tester before launching.
Our workflow is simple since this project only involves me and the client. After doing research and prototyping, our workflow mostly consists of alternating between design and development in building the MVP. In a sense, it's more of the client asks and assigns me a task, we then discuss about it. Then, I think about it and do some research if needed, sketch the user flow, design what the architecture/database would look like, and ask for feedback. If approved, I go ahead and build the feature. I also keep a backlog of tasks - which includes bug fixes, feature suggestions - that I work on when I finish my priority tasks.