Problem Statement
Every year, thousands of eager tinkerers and enthusiasts enter makerspaces to gain access to powerful tools and machinery. Unfortunately, these tools are as dangerous as they are powerful, so it is imperative safety standards are respected in order to maintain a safe makerspace. Additionally, time is often of the essence for tinkerers on a project deadline, so we sought to create a informative and safety-first dashboard and monitoring system for makerspaces.
Project Summary
MakerSafe is an intelligent safety monitoring platform that brings computer vision to the makerspace, creating a seamless bridge between human creativity and machine vigilance. At its core, MakerSafe tackles a critical challenge faced by makerspaces worldwide: ensuring safety compliance without disrupting the creative flow. Using a network of cameras powered by real-time face recognition and object detection, the system automatically identifies makers as they enter the space, tracks their activity across workstations, and continuously monitors for safety violations, all without requiring manual check-ins or intrusive oversight. Built to run efficiently on a single Raspberry Pi with multiple camera inputs, MakerSafe demonstrates that advanced safety infrastructure doesn't require enterprise-level hardware. The architecture is designed for scalability, supporting additional stations and cameras as makerspaces grow.
Breakdown of Components
MakerSafe has 3 main UI components: a map of the entire makerspace, which displays who is using each machine, a list of the current actively working Makers and their status (idle, active, or currently violating safety code), and a list of the most recent violations of safety across all Makers belonging to the makerspace.
For hardware, MakerSafe uses a Raspberry Pi 4 8GB RAM and Logitech Brio 101 Webcams.
How We Built It
Backend: Built with Python Flask, the backend served as the central orchestration layer for MakerSafe, handling communication between both hardware and software clients. It processed HTTP requests from VIAM’s platform on the hardware side and interacted with PostgreSQL via Supabase to manage application state, including maker records and station availability. Additionally, the backend maintained a WebSocket connection with the software client, enabling the server to push real-time updates for live UI rendering with low latency.
Frontend: Built with React and Tailwind CSS, the frontend leveraged shadcn/ui as the core component system, with Framer Motion used for custom animations. Visual effect components were selectively incorporated from Magic UI and React Bits to enhance interactivity. v0 and Gemini were used early in development to generate wireframes and design inspiration, accelerating initial prototyping.
Challenges We Ran Into
- Raspberry pi (flashing it, wifi, getting hot, handling processing 4 CV models on it)
- Custom CV model training
- Maintaining readable code
Accomplishments That We're Proud Of
- First hack involving hardware for all team members.
- Real-time integration between hardware and software using WebSockets.
- Using Viam's Python SDK to manage hardware.
What We Learned
- Networking/WebSockets
- Data flows
- Planning/prompt engineering
What's Next For MakerSafe
- Optimizing to run on Raspberry Pi (upgrading to Pi 5, efficiently processing images)
- Supporting multiple stations
- Improve system latency (networking)
- Improve CV model quality
Built With
- flask
- javascript
- postgresql
- python
- raspberry-pi
- react
- shadcn
- supabase
- tailwind
- viam
Log in or sign up for Devpost to join the conversation.