> Markdown version of [/videos/2028-from-collecting-bottle-caps-to-building-vision?t=1775](https://www.wearedevelopers.com/videos/2028-from-collecting-bottle-caps-to-building-vision?t=1775). Every page supports `.md` or `Accept: text/markdown`. Links point to the HTML versions so they work for humans too. Agent guide: [/agents.md](https://www.wearedevelopers.com/agents.md). --- # From Collecting Bottle Caps 🥤to Building Vision 👀 How do you track 400 unique bottle caps? See how Cosmin turned a childhood hobby into a full-stack computer vision app using MobileNetv3 and a Pinecone vector database. - **Speakers:** [Cosmin Marian Paduraru](https://www.wearedevelopers.com/@cosmin-marian-paduraru) - **Event:** World Congress 2026 Europe - Virtual Stage - **Published:** July 2, 2026 - **Duration:** 36:15 - **URL:** https://www.wearedevelopers.com/videos/2028-from-collecting-bottle-caps-to-building-vision ## Summary Cosmin, a software engineer, shares his journey of building a computer vision application inspired by a childhood hobby of collecting bottle caps. Faced with the challenge of tracking a growing collection of over 400 unique caps, he built an automated app to check his inventory using visual designs. The project naturally split into two distinct computer vision challenges: finding "where" the cap is located within an image (detection) and determining "who" or exactly which cap it is (identification). To solve the detection problem, he initially applied Hough transform circles but immediately encountered overlapping hits and false positives. By implementing strategic image pre-processing techniques—specifically resizing, K-means clustering for color reduction, and blob detection—he significantly improved the algorithm's accuracy. For the identification phase, the application processed these isolated caps through the MobileNetv3 Small pre-trained model to extract visual features, converting them into 500-float arrays. These arrays were stored and queried in a Pinecone vector database, enabling rapid, similarity-based image matching in under 150 milliseconds. The underlying architecture combined a budget-friendly DigitalOcean backend, Firebase for file storage, and a Flutter frontend to serve real users on Reddit. Although the application was eventually sunsetted due to mandatory cloud billing changes, the endeavor highlights that abandoning a pet project is not a failure if it fulfills its core purpose. By taking a side project from a personal pain point to a public release, developers can organically acquire end-to-end product skills—ranging from vector database integration to managing infrastructure costs—proving that the true success of a side project lies in the continuous learning process. **Keywords:** computer vision side projects, hough transform circles, image pre-processing techniques, k-means clustering, blob detection algorithms, image feature extraction, mobilenet pre-trained models, pinecone vector databases, image similarity search, flutter frontend development, firebase file storage, digitalocean cloud hosting, automated object identification, managing cloud infrastructure costs, developer portfolio projects ## Chapters 1. **Building pet projects for fun and learning** (00:02) — How creating various software side projects fosters personal development and new technical skills. 1. **The origin of the bottle cap collection** (03:40) — Collecting and trading bottle caps served as a way to build friendships as an immigrant. 1. **Automating collection management with computer vision** (05:59) — Using computer vision helps identify whether a specific item already exists in a large physical collection. 1. **Applying Hough transform for circular object detection** (08:31) — Initial attempts to find circular objects in images using Hough transforms led to overlapping and false positives. 1. **Improving detection accuracy with image pre-processing** (11:01) — Resizing, color reduction via K-means clustering, and blob detection significantly reduce noise for machine processing. 1. **Refining object detection and handling overlapping** (19:42) — Calculating approximate blob sizes helps configure Hough transforms to filter out overlapping false positives. 1. **Identifying objects using vector databases and pre-trained models** (21:37) — Generating vector embeddings with MobileNetv3 and querying Pinecone enables fast and accurate similarity matching. 1. **Deploying the app and managing user feedback** (29:35) — Releasing a Flutter and Firebase app to a community brings valuable bug reports and user donations. 1. **Shutting down the project and evaluating success** (33:22) — Unexpected cloud billing changes forced the project's closure, but the technical and personal insights remain valuable. ## Related Moments - [Summarizing key takeaways for successful software side projects](https://www.wearedevelopers.com/videos/1275-learning-from-my-side-project-mistakes) (from "Learning From My Side Project Mistakes") - [Reflecting on personal engineering side projects and initial creations](https://www.wearedevelopers.com/videos/1275-learning-from-my-side-project-mistakes) (from "Learning From My Side Project Mistakes") - [Exploring machine learning and image classification in JavaScript](https://www.wearedevelopers.com/videos/1626-is-it-f-ake-image-classification-with-tensorflow-js) (from "Is it (F)ake?! Image Classification with TensorFlow.js") - [Architecture of a multi-platform generative AI app](https://www.wearedevelopers.com/videos/1156-lessons-learned-building-a-genai-powered-app) (from "Lessons Learned Building a GenAI Powered App") - [Sharing side projects and embracing public feedback](https://www.wearedevelopers.com/videos/1754-security-blindspots-and-how-to-learn-about-them-anna-oliveira) (from "Security Blindspots and How to Learn About Them - Anna Oliveira") - [In-browser computer vision and NPU usage demo](https://www.wearedevelopers.com/videos/1572-privacy-first-in-browser-generative-ai-web-apps-offline-ready-future-proof-standards-based) (from "Privacy-first in-browser Generative AI web apps: offline-ready, future-proof, standards-based") ## Related Articles - [Developers share the most interesting tech they ever built](https://www.wearedevelopers.com/magazine/266-developers-share-the-most-interesting-tech-they-ever-built) - [Dev Digest 112 - The True Crime of AI Development](https://www.wearedevelopers.com/magazine/421-dev-digest-112-the-true-crime-of-ai-development) - [Covid-19: A crowdsourced Map For Checking Supermarket Wait Times Worldwide](https://www.wearedevelopers.com/magazine/116-covid-19-a-crowdsourced-map-for-checking-supermarket-wait-times-worldwide) - [Dev Digest 108 - Git off my cloud!](https://www.wearedevelopers.com/magazine/407-dev-digest-108-git-off-my-cloud) ## Related Jobs - [Founding Mobile Engineer (iOS)](https://www.wearedevelopers.com/jobs/ext/1648532-founding-mobile-engineer-ios) at **Almedia** - [Staff Software Engineer, Copilot Experiences](https://www.wearedevelopers.com/jobs/ext/164361-staff-software-engineer-copilot-experiences) at **GitHub** - [Senior Software Engineer, Client Apps Platform](https://www.wearedevelopers.com/jobs/ext/1773893-senior-software-engineer-client-apps-platform) at **GitHub** - [iOS Engineer, Swift/SwiftUI/Combine (B2C Broker)](https://www.wearedevelopers.com/jobs/ext/1611832-ios-engineer-swift-swiftui-combine-b2c-broker) at **Bitpanda** - [Remote Senior Full-Stack Engineer](https://www.wearedevelopers.com/jobs/ext/643147-remote-senior-full-stack-engineer) at **Edge Impulse** - [Remote Senior Full-Stack Engineer](https://www.wearedevelopers.com/jobs/ext/683045-remote-senior-full-stack-engineer) at **Edge Impulse**