## Inspiration I built Omni-Sight Tracker because I wanted to solve a common problem: losing track of physical project components, tools, and materials in a busy workspace. Many people start projects but struggle to stay organized as parts get moved or stored away. I wanted to create a "visual memory" for the real world that helps users catalog their inventory instantly. ## What I Learned Building this project taught me the importance of data integrity and the difference between "demo" data and "real-world" utility. I learned how to manage a live PostgreSQL database to ensure that user logs are persistent. I also gained experience in prompt engineering with the Gemini 3 Flash API to ensure it provides concise, helpful labels for identifying physical assets. ## How I Built It The app is built using a modern full-stack approach on Replit. Frontend: React with a tactical, high-contrast UI for field use. Backend: Node.js handling the logic for image processing and database communication. AI: Integration with Gemini 3 Flash for real-time object identification. Database: Drizzle ORM and PostgreSQL to store every scan securely. ## Challenges I Faced One of the primary technical challenges was managing the application state between the manual 'Scan' mode and the automated 'Persistence' mode. I found that initializing the camera for a new scan would occasionally conflict with the background tracking grid, causing the persistence toggle to reset. I learned that handling multiple real-time streams—AI identification, GPS logging, and camera hardware—requires very precise state management to prevent one from overriding the other
Built With
- drizzle-orm
- gemini-3-flash-api
- node.js
- postgresql
- react
- replit
- tailwind-css
- typescript
Log in or sign up for Devpost to join the conversation.