Inspiration
Since this was our first hackathon, we wanted to challenge ourselves by learning more about data analysis and how databases actually work. Instead of just using tools that already exist, we wanted to understand what goes on behind the scenes. Our goal was to create something simpler and more user-friendly that anyone could interact with, even without knowing SQL
What it does
Our project is a lightweight query engine that lets users analyze data in an easier and more approachable way while still keeping the core ideas of a real database system. Users can load CSV files and run commands to view, filter, update, add, or delete data.
One feature we focused on was making the program beginner-friendly. To help with this, we added an EXPLAIN feature that walks the user through what their command does before it runs. This makes it easier to understand both how to use the program and how query engines work in general.
How we built it
We split the project into two main files: one file handled user input and command logic, and the other handled all the data operations like filtering rows, comparing values, and updating the file. This helped keep the code organized and easier to work on.
We divided the work evenly and each worked on different commands and features. After finishing our individual parts, we combined everything and fixed bugs as they came up, which taught us a lot about collaboration and debugging.
Challenges we ran into
One of the biggest challenges was figuring out how to make our project different from existing query engines like SQL. Since professional databases are already very optimized, we needed to find something unique rather than just copying what already exists.
We solved this by focusing on usability and learning. Creating the EXPLAIN feature helped set our project apart and forced us to really understand what each command was doing. We also ran into challenges with parsing user input and handling errors, which took a lot of testing and debugging to get right.
Accomplishments that we're proud of
We’re especially proud that we were able to build a working query engine from scratch and make it unique at the same time. Finding a clear niche with the EXPLAIN feature allowed us to keep the same core functionality as real database systems while making our program easier to use and understand.
What we learned
Through this hackathon, we were able to dive deeper into databases and see how query engines perform data analysis by building one ourselves. Understanding how everything works beyond just a surface level gave us a better picture of data analysis overall and helped us appreciate the design choices behind real-world database systems.
What's next for Build From Scratch '25 Hackathon
In the future, we want to add more features like ORDER BY, GROUP BY, and working with multiple files at once. We also want to improve performance and clean up the code as we continue learning. Eventually, we’d like to build a simple user interface on top of the command-line tool to make it even more accessible.
Built With
- csv
- python
Log in or sign up for Devpost to join the conversation.