Your passage to fragrance
The Project
Perfume Lens is a fragrance discovery app for people who love scent and want a smarter way to keep track of it. Point your camera at any bottle, and the app identifies it, surfaces the notes, family, perfumer, and mood, then files it into your wardrobe. Over time it learns your taste and matches you to fragrances you have not tried yet.
We built it with the Perfume Lens team from concept through launch. Eight Bit handled the Flutter mobile app, the Rails 8 backend, the AI vision pipeline that powers the camera scan, the marketing site, and the launch video reels. The app is live on iOS and Android.
The Problem
Fragrance is a category with thousands of bottles, dense vocabulary, and not much help for newcomers. Enthusiasts keep notes in spreadsheets and Notes app pages. Casual buyers walk into a department store, smell ten things, and forget which was which by the time they get home. The market needed a phone-first way to capture, identify, and remember a scent in a few seconds.
Our Approach
We built the camera scan as the front door. Hold up a bottle, and the app recognizes it from label, shape, or box. Behind the scan is a Rails 8 API that brokers vision calls, normalizes results against a fragrance catalog, and returns a clean profile to the Flutter client. If the AI cannot pin a bottle down, search by name takes over.
Once a fragrance is identified, the app turns it into something you can collect. Save it to your wardrobe, mark it as owned, liked, or want to try, add notes, and tag it for occasions. The matches view uses your wardrobe plus your ratings to suggest what to try next.
Key Features
- Scan - Camera-based bottle recognition. Get notes, family, perfumer, year, and mood in seconds. No login required to scan.
- Details - A full profile for every fragrance, written for both newcomers and seasoned collectors.
- Wardrobe - Save fragrances you own, like, or want to try. Build lists for seasons, occasions, and moods.
- Insights - Trends across your wardrobe: families you reach for, notes you favor, gaps to explore.
- Matches - Recommendations that get sharper as you rate more fragrances.
- Search - Name search as the fallback when the camera cannot place a bottle.
Branding
Perfume Lens reads warm, modern, and unfussy. The brand gradient runs from a deep brown (#883404) into a warm amber (#FF8E1C), pulled into the logo, buttons, and key surfaces. Type is Rubik across the app and marketing site, weights 300 to 800. Surfaces sit on a soft off-white (#FDF8FA) with a cleaner alternate (#F7F2F4) for sections.
The Flutter app uses a Material 3 color scheme keyed to that gradient, with a navy tertiary (#1E374C) and a green action color (#126D23) for create and add. Cards are 16px radius with a soft shadow. Spacing follows an 8pt grid. The website mirrors the same palette so the app and the marketing site read as one product.
Logo System
Palette
Typography
Inside the App
A few screens from the live build. The scan view, the fragrance detail view, the wardrobe, and the matches view do most of the work.
Video Work
We produced the launch video set in-house. The 30-second feed cut anchors the App Store preview and the marketing site hero. Additional 15 and 30 second portrait, landscape, and square cuts cover paid social and Google ad slots.
Tech Stack
Mobile
Flutter (iOS & Android)
Backend
Ruby on Rails 8
Database
PostgreSQL
Vision
Camera-based bottle recognition
Matching
Personalized scent recommendations
Hosting
Cloud-native infrastructure
Design System
Material 3, Rubik, 8pt grid
Web
Rails marketing site
Launch
Perfume Lens shipped to the App Store and Google Play and is live at perfumelens.pro. We are continuing to work with the team on post-launch growth, AI tuning, and the next round of features.
Building Something Similar?
We help founders ship AI-powered mobile apps end to end. Brand, product, code, and launch.
Get Started