← All work
06 · 2026

Tesknota

A fragrance journal that brings together a personal collection, wear history, compliments, and discovery in one place.

  • Next.js
  • Cloudflare Pages
  • Supabase
  • Playwright
Tesknota preview

The problem

A fragrance collection has a lot of information attached to it. What you own, what you've worn, what people noticed, what you want to try, and what you actually think of a fragrance over time. Those details tend to live in different places, or nowhere at all.

I wanted a better way to keep track of the whole experience.

The approach

  • One connected collection. Each fragrance entry contributes to the collection, wishlist, wear and compliment history, and personal analytics
  • Flexible ways to add fragrances. Users can enter details manually, scan a code, add photos, import a spreadsheet, paste a link, or use the conversational interface
  • Less repetitive data entry. Public fragrance information helps complete entries, so users don't have to fill in every detail themselves
  • An assistant that can use the app. The conversational interface can perform the same core collection and logging actions as the app itself
  • Personal insights. Explore fragrance notes, wear patterns, compliments, seasonal trends, and the fragrances that get noticed most
  • A social dimension. Compare collections with other people and explore what they wear
  • A considered product experience. The application is built with shared design patterns and automated checks across its key workflows

The result

Tesknota is a live application, bringing collection management, fragrance discovery, and personal tracking together. The assistant and social features extend the experience beyond a traditional fragrance database.

Stack

Next.js on Cloudflare Pages, Supabase, Playwright contract and end-to-end tests.

Evidence

A live application that anyone can open, checked end to end across its key workflows before every release.

Source: private repository, available on request.