Inspiration
As kids we both had secret journals that unlocked with voice authentication. The authentication rarely worked and the journal was often stuck inside. However, we both looked back fondly on these fun secret journals. We wanted to make a version that was a bit more high tech and reliable.
What it does
The secret journal is encased in a box that locks and unlocks. The user enrolls in the system, currently through the terminal, by taking 3 photos, a sound recording and user information. The user presses the button connected to the box and the webpage redirects to the verification process. On the webpage, the user will take a recording saying the secret code. If the person matches the profile, the box will unlock, blink green and display a welcome message. The webpage will also give a personalized prompt based on the personalized profile. The user can click the button again to relock the system. If a user is denied the box will blink a red led.
How we built it
We built the system using Python for the backend combined with Deepface for facial recognition and Resemblyzer for voice recognition. This is connected to a webpage using HTML, CSS, and JavaScript. The box is powered by an Arduino Nano which connects to a stepper motor for locking, a red and green LED, and a 16x2 LCD screen. The backend script communicates with the Arduino via UART. The box was designed using Fusion 360.
Challenges we ran into
One of the biggest challenges was forgetting to stage commits before big changes which caused some regression that was difficult to fix. There was also difficultly getting the audio files type to match and finding the correct microphone due to the laptop settings. The lid for the box did not have enough clearance for the lock and there was not enough time to print another one. There was also a lot of difficulty integrating all of the software to work seamlessly together with the hardware.
Accomplishments that we're proud of
The facial and voice recognition works very well now and is integrated with the hardware so that the box is able to lock. In general we are proud of the project as a whole as it works almost as intended. Neither of us had created a project in a hackathon before, so we are very proud of accomplishing this much in the short 24 hours. Also, most of the tools and libraries we had not used before, so we are very proud of being able to successfully integrate them.
What we learned
We learned how to make a web application that can communicate with hardware while also using AI/ML tools for face and voice recognition. We also learned how we can use Ollama and Gemma from Gemini so that we can run the prompt generator locally without having to pay for API access. For voice and face recognition we also learned how to use Deepface and Resemblyzer.
What's next for Secret Journal
Next we really want to improve the lid so that it can work with the box. We also want to optimize the facial and voice recognition, so that it is much faster.
Built With
- arduino
- autodesk-fusion-360
- css
- deepface
- gemma
- html5
- javascript
- ollama
- python
- websocket
Log in or sign up for Devpost to join the conversation.