Inspiration
I was originally inspired by making devices be able to run on edge devices. I have become particularly interested in running efficient Machine Learning models and now LLMs. Snap was made to test how well LLMs can run on limited resources. Using Gemma 3 4B, part Google's family of language models made for efficiency, was further compressed with quantization (16f to 4-bit). The current AI fingerprint roughly hovers below 4GB RAM. This project was supposed to be run on a raspberry pi 5 8GB ram with webcam wrapped in a polaroid looking body! but I had fallen into too many bugs with webcam and integration, and just decided to have it run on my laptop. There are instructions in github incase someone wants to try on raspberry pi.
I also love hampter memes, so yeah, classifies you as one of them. You can take it home too, its compatible with mini thermal printers.
What it does and How we built it
Snap uses the 4-but quantized Gemma 3 4B model which has a vision encoder to extract key words of your image and match with a related hampter meme / personality using semantic search! Similarly uses the vision encoder to roast you. Backend is run with rust (efficient but not needed in this project, just wanted to be cool by not using js), frontend is Next js to supposedly run on kiosk mode for the raspberrypi.
Challenges we ran into
Integration of the raspberry pi and the webcam is extremely buggy, even after fixing camera initiation takes 2 mins which is terrible UX. Eventually I ditched the physical and focused on the software, and made it all work in them end!
Accomplishments that we're proud of
Its cute!
What we learned
I dont like hardware
What's next for Snap
Make more fun stuff!
Built With
- fastembed
- gemma
- next
- ollama
- raspberry
- rust
Log in or sign up for Devpost to join the conversation.