Inspiration
Recently, I've been very fascinated with the idea of creating interfaces without keyboards. I've been seeing a lot of very cool projects with TouchDesigner 1, 2, and it's been a big inspiration behind this project. I also wanted to learn more about machine learning and computer vision, and data visualization seemed like a very fun intersection of the two areas.
What it does
DataKeys provides users with a fresh, innovative interface to interact with data. Instead of using a keyboard and mouse to browse data, DataKeys records your hand gestures, allowing for a flexible, intuitive way to mold a dataset. There are a full suite of controls to explore all the nooks and crannies of dataset, and using DataKeys honestly feels like playing an instrument (a keyboard, if you will).
How I built it
I like Python programming and I wanted to learn more about MediaPipe and OpenCV, so from the start I knew I wanted those two libraries to be the center of my stack. I spent my first few hours configuring OpenCV's video loop with MediaPipe's Gesture Recognizer, and tried to implement everything I thought would be useful to navigate a complex dataset. After I got things working, I started thinking of how to make this project useful. When I thought about dissecting time-series data, specifically stocks, I thought that I could really use something like this, so that's what motivated me to develop in that direction. Finally, I decided to wrap the project around the yfinance and Fire packages so users could easily initialize the application and I could run tests against real market data.
Challenges I ran into
The biggest challenge for me was definitely working alone and having to push out a polished product in just 24 hours. It's hard to find motivation to keep pushing, especially when I don't have a team behind my back supporting me. Because there was nobody to keep me in check, I spent hours blindly chasing ideas and debugging silly, entirely avoidable mistakes. On the other hand, however, developing a solo project was very freeing. This was my first hackathon where I could dedicate all my time and energy solely to what I wanted to build, and I'm very happy I got to experience that.
Accomplishments that I'm proud of
From what I can remember, I've always been a pretty slow programmer. HackNYU really forced me to push my limits and make quick decisions on the spot. Because there's nobody else that can push me, I had to be responsible for everything that I did and all the code I wrote. I learned a lot about MediaPipe, OpenCV, and numpy over the last 24 hours, which I'm really happy about. I'm also very proud to have finished the project, especially given the state that some components are in. It's a miracle that the program doesn't freeze after running for 30 seconds.
What's next for DataKeys
I'll try my best to grow and maintain the project! There's definitely room to improve (main.py boy oh boy) and I firmly believe that it DataKeys has a future where it can make a real impact, so I'm looking forward to making that a reality.
Log in or sign up for Devpost to join the conversation.