DEV Community

Cover image for I Love Fragrances, So I Built a 6-Game Arcade + Concierge About My Obsession

I Love Fragrances, So I Built a 6-Game Arcade + Concierge About My Obsession

Ibrahim Awab on July 12, 2026

Hi, my name's Ibrahim, I'm a university student, and I have a problem: I love fragrances way more than my bank account loves me for it. It started...
Collapse
 
alexshev profile image
Alex Shev

This is a nice example of a personal obsession becoming better product direction than a generic app idea. The arcade structure works because fragrance is already about memory, comparison, and preference, not only lookup. Turning that into small games probably teaches the system more about taste than a plain recommendation form would.

Collapse
 
miawab profile image
Ibrahim Awab

thank you!

Collapse
 
alexshev profile image
Alex Shev

You are welcome. I like projects where the product shape comes from genuine taste instead of a generic app template. It usually makes the weird details much better.

Thread Thread
 
miawab profile image
Ibrahim Awab

appreciate it so much 😭

Thread Thread
 
alexshev profile image
Alex Shev

Glad it helped. That kind of personal constraint is usually what keeps a small project memorable instead of turning into another generic demo.

Collapse
 
hayrullahkar profile image
Hayrullah Kar

Six games out of one obsession is wild, respect. build-a-bottle is the clever one — curious how you weight the similarity, since heart notes usually carry more identity than base. affiliate over ads was the right call too, keeps the whole thing clean

Collapse
 
miawab profile image
Ibrahim Awab

Well haha, you pointed out the one problem i really had. right now im not doing much about it just giving each note similar weightage. will work on it more. Thanks tho!

Collapse
 
eva-nomados profile image
Eva

The "bring your own Gemini API key" option is an absolute pro move. Managing LLM costs on a passion project is a massive headache, especially as a student when a post randomly blows up and the bill spikes overnight. Storing the key locally in the browser so it never touches your backend is super smart and clean. You put an insane amount of polish into this for a simple weekend challenge. Good luck with the submission!

Collapse
 
miawab profile image
Ibrahim Awab

thank you very much!

Collapse
 
threerouter profile image
threerouter

You see a 6-game arcade + concierge about fragrances, built by a uni student who loves scents. I see a perfect case study of the Developer Experience trap.

Ibrahim’s project is charming, but ask yourself: who actually uses this? The fragrance market is $200B+ globally, yet this “solution” solves exactly zero real problems. It’s a shiny demo that screams “I can build this” instead of “this changes how people discover scents.”

Collapse
 
miawab profile image
Ibrahim Awab

well an ai concierge is changing how people discover scents

Collapse
 
arqamwd profile image
Arqam Waheed

Wow this is cool

Collapse
 
miawab profile image
Ibrahim Awab

Thank Arqam!

Collapse
 
wrencalloway profile image
Wren Calloway

The "same day, same fragrance worldwide" claim in Scentle has a sharp edge worth thinking about: the second someone shares that emoji grid, the answer's guessable from the feedback pattern alone. Wordle survives that because the answer space is ~2,300 five-letter words and the grid only leaks position/letter hits. Your grid leaks brand family, year direction, price direction, gender, concentration, and shared-note count — that's a much richer fingerprint against a catalog where the "famous" Easy pool is probably a few hundred bottles. One good grid screenshot in a Discord and Easy mode is basically solved for everyone who sees it before they play.

The fix most people reach for is per-user daily puzzles, but that kills the "we're all guessing the same thing" social hook, which is the whole point. What actually preserves both is making the shareable artifact lossy on purpose — collapse "pricier/cheaper" and "earlier/later" into a single warmer/colder color instead of a directional arrow, so the grid still looks satisfying but doesn't hand a follower the binary-search path to the answer.

Worth deciding deliberately rather than discovering it when your first grid goes semi-viral.

Collapse
 
miawab profile image
Ibrahim Awab

every game can be cheated, doesnt necessarily make it a negative

Collapse
 
adish_100 profile image
Adrija Chowdhury • Edited

Hey this project is really cool could you please check out my project. dev.to/adish_100/cubeverse-a-love-...
:)

Collapse
 
miawab profile image
Ibrahim Awab

okk

Collapse
 
muhammad_ayaan_12954eb4fd profile image
Muhammad Ayaan

V nice ts

Collapse
 
miawab profile image
Ibrahim Awab

thanks!

Collapse
 
syedahmershah profile image
Syed Ahmer Shah

Bringing your own Gemini key is a genius pro-move to dodge LLM bills on a student budget. Note Detective and the affiliate loop are incredibly clean execution!

Collapse
 
miawab profile image
Ibrahim Awab

thank you!

Collapse
 
rushan123 profile image
Rushan

Nice thinking, this is so cool!

Collapse
 
miawab profile image
Ibrahim Awab

Appreciate it!

Collapse
 
rishichitnis007_80 profile image
rishichitnis007

That's amazing

Collapse
 
miawab profile image
Ibrahim Awab

Thank you!

Collapse
 
wrencalloway profile image
Wren Calloway

@miawab Sure, and I'm not saying "solvable from a screenshot" is fatal on its own — plenty of people share Wordle grids and the world keeps turning. The difference is who gets the leak and when. In Wordle the grid genuinely doesn't help you; the answer space is too big and the feedback too thin. Here the shared artifact hands a follower most of the binary search for free, before they've played, on a pool of a few hundred bottles.

So the point isn't "cheating exists, therefore bad." It's that the sharing mechanic — the thing you actually want people doing — is the same mechanic that dissolves the puzzle for everyone downstream of it. That's a design tension worth deciding on purpose, not a moral panic about cheaters.

Collapse
 
miawab profile image
Ibrahim Awab

the attribute grid when shared doesnt share perfume names, so objectively you cant deduce any information from it.

Collapse
 
likable03 profile image
Loot Query

Wren nailed the real issue. Wordle’s share grid is lossy — you can’t invert the colors back to the word. An attribute grid is near-lossless: each row is an absolute constraint on the answer (right house, wrong concentration, shared note family) over a pool of maybe a few hundred fragrances. One shared grid can collapse the day’s answer for anyone who hasn’t played.

Collapse
 
miawab profile image
Ibrahim Awab

the attribute grid when shared doesnt share perfume names, so like u cant do that objectively.