When I interviewed with Tiger Data, the creators of TimescaleDB, one of the recruiter’s recommendations before the next round was to spend some time learning the product. The team values candidates who take the initiative to explore the platform, so I saw it as an opportunity to expand my database knowledge beyond the basics. While I understood fundamental database concepts, I had never worked extensively with larger datasets or built something practical on top of them.
That challenge quickly evolved into something much more interesting. Rather than simply importing sample data, I migrated my existing job search workflow into Tiger Data and began rethinking how I could use that information in a more meaningful way. The goal shifted from just learning a database to building a solution that was both functional and engaging—transforming my own data into something I could query, visualize, and continue expanding as I learned more.
The first challenge was figuring out how to move everything into the database. Fortunately, that part was straightforward: I downloaded my existing job-search data as CSV files and uploaded both my current and previous search records into Tiger Data. The next question was what to do with the older data. I did not want to delete it, but I also did not want outdated records cluttering the active dataset. Because “Age of Posting” was a newer field used only in my current workflow, I created an archiving rule that automatically marked any record missing that value as archived.
From there, I started identifying other gaps in the original workflow, particularly around interview tracking. Since I was now working within a relational database, I created a separate interviews table that could be connected to each company and application. This allowed me to track interview stages, dates, outcomes, and other details without overcrowding the primary applications table. What began as a simple data migration was quickly becoming a more structured and useful system.
The next challenge was making the data genuinely usable. Learning how to manipulate records in a database was valuable, but I wanted to understand the experience from a customer’s perspective and see how the data could support something practical. Once the information was living in a proper database instead of Google Sheets, the natural next question became: what do I build on top of it?
That led me to explore application-layer tools, and Retool quickly stood out as the best option. Its AI builder made it possible to create a functional interface without first mastering more JavaScript or HTML. I could describe the experience I wanted, and Retool helped generate the layout, front-end interactions, and SQL queries needed to connect the application to the database. This allowed me to focus less on writing every line of code and more on designing a usable system around the data.
Going into Retool was relatively easy, all things considered. Its AI builder handled much of the initial development, but that didn't mean the work was done for me. I still had to make the strategic decisions around how the application should function, what information should be displayed, and how users would interact with it. Rather than focusing on writing every line of code, I spent my time designing workflows, making usability decisions, and ensuring the application solved the right problems.
From the beginning, I didn't want to build just another dashboard full of charts and data. I wanted an application that was actually useful in day-to-day use. Instead of manually opening a database or spreadsheet to update application stages, I wanted the system to proactively guide me. For example, after an interview, the application could simply ask if the candidate should move to the next stage, and with a single click, automatically update the database behind the scenes. That vision became the foundation of the project, so we started by building out the application management section first.
Next came the interview section, and this is where the relational database really began to show its value. Being able to connect multiple interviews to a single application was essential, allowing me to track each stage, document interview dates and times, and build automation around the interview lifecycle. Instead of treating every interview as a separate record, each one was tied back to the same application, making it much easier to follow the complete hiring journey.
This section includes the core actions for managing interviews, including editing, saving, canceling, and deleting records, with deletions immediately removing the interview from the database. A searchable dropdown makes it easy to find both active and inactive interviews, automatically populating the associated data. When accessed through the application's automation workflows, the form also opens directly in edit mode, eliminating an extra click and streamlining the process of updating interview information (More below)
The automation was where the real efficiency gains came from. Once an interview was marked as complete, the application would prompt me to either advance the candidate or mark the opportunity as rejected. If I selected to advance, it would automatically update the application's status, create the next interview record with the relevant information already populated, and take me directly to the edit screen to fill in the remaining details before saving. This eliminated much of the manual work and made tracking interviews far more reliable than relying on memory, digging through old calendar events, or searching past emails for details.
While this project took longer than I initially expected, roughly eight hours to reach a functional state and another six hours of refinement, it was still completed in less than two days. In that time, I transformed a collection of spreadsheets into an application that makes my job search far more actionable. Follow-ups are easier to manage, interviews are simpler to track, and the data feels much more tangible because it's driving workflows instead of simply being stored.
Whether or not this opportunity with Tiger Data is the right fit, I consider the project a success. It challenged me to learn new technologies, think through application design, and build something that solves a real problem I face every day. The experience and skills I gained throughout the process are just as valuable as the finished application, and they'll continue to benefit me long after this interview process is over.