← Collection

Changelog

What's new in Scent Log.

All notable changes to Scent Log. Newest first.

2026-10-28 — Delete single check-ins; duplicate check-ins removed

Added

  • Delete a single check-in: tap × next to it in a wear's timeline on the perfume's page.

Fixed

  • A perfume's page crashed (“Something went wrong”) when a wear had two check-ins saved at the same instant, from a double tap before the double-tap guard existed. Those duplicate check-ins are removed (the first of each pair is kept).

2026-10-28 — Clearer error pages

Changed

  • Clearer error pages: “This page doesn't exist” for broken links, and “Something went wrong” with a short error ID for unexpected errors, which the site admin can match to the server logs. Admins also see the underlying error message.

2026-10-28 — Bottle photos, background removal, shelf view and discarding wears

Added

  • Your own bottle photos: tap the bottle at the top of a perfume's page to add a photo. “Take photo” opens the phone camera; “Choose photo” picks from your library. Photos are resized on the phone before uploading, so they upload quickly.

  • ✨ Remove background: cut out just the bottle, right on your phone (nothing is sent anywhere until you upload). The first use downloads the cut-out tool (about 45 MB), then it's cached. Compare the cut-out with the original before choosing.

  • Shelf view for your collection: your bottles stand on lit shelves, each under its own spotlight, with a marker on what you're wearing. Bottles without a photo show a silhouette. Switch between Shelf and List; your choice is remembered. Public profiles use the shelf too.

  • Discard a wear started by mistake, from the bottle page or the Now wearing sheet. Its check-ins and reactions are deleted with it, and its reminders are skipped. Finished wears can still be deleted from History.

Changed

  • Admins can also take catalog photos with the camera and remove their backgrounds.

2026-10-28 — Now wearing bar and tidier phone menu

Added

  • Now wearing: while a perfume is on, a bar at the bottom of every page shows what you're wearing and for how long. Tap it to log from anywhere: one tap per check-in (Skin … Beast, with the phase filled in from how long it's been on), one tap for a compliment or negative remark, or end the wear. Also at /now.

Changed

  • Tidier header on phones: just the logo and a Menu button (plus Sign up for visitors). The menu opens over the page on a dimmed backdrop instead of pushing the content down; tap outside it or press Esc to close.

2026-10-28 — Password reset, charts, profiles, reminders and more

Added

  • Password reset by email: “Forgot your password?” on the login page sends a link that works for an hour. New accounts get an email to confirm their address; My profile reminds you until it's confirmed.
  • Longevity charts: each wear shows its projection over time, and every perfume page shows the community's average curve, with individual wears faintly behind it. Hover to read values, or open it as a table.
  • Compare by climate and skin: filter a perfume's scent logs by temperature, humidity and skin type; the longevity, projection and chart follow the filters.
  • Compliments and negative remarks: while wearing a perfume, log who reacted and what they said. Compliment counts show on perfume pages, Explore and profiles.
  • Wishlist and Tried lists next to your collection, with buttons on every perfume page.
  • Public profiles at /u/your-name: shelf, wishlist, tried, recent scent logs and reviews. Pick your link on My profile. Private profiles stay hidden.
  • Wear reminders: turn on notifications per device on My profile to get nudged to log check-ins (30 minutes and 3 hours in) and to end a wear after 8 hours.
  • Report a review: signed-in users can flag a review; admins get a Reports queue to hide it or dismiss the report.
  • Richer perfume details: release year, perfumer, notes pyramid and a bottle photo, edited by admins and shown on perfume pages and Explore.
  • Export your data as CSV from My profile: collection and lists, scent logs, check-ins, compliments and reviews.
  • Admin → Status: live checks of the email, push, reminder and photo settings (without showing any secrets), plus a “Send test email to myself” button.

Changed

  • Logging in, signing up and password resets are rate limited to slow down password guessing.
  • Buttons are disabled while a form is sending, and a check-in can't be logged twice within 10 seconds, so double taps on a slow connection don't create duplicates.

2026-10-27 — Accounts, reviews, Explore and admin panel

Added

  • Accounts: sign up with just an email and password, then log in and out. You get a display name like “Nose #4821”, which you can change on My profile along with a bio, your location / climate, and skin type.
  • Private mode on My profile hides your collection, scent logs and reviews from public pages.
  • Reviews for each perfume variant: 1–5 stars, 👍 Would recommend / Neutral / 👎 Would not recommend, and an optional written review. One per person and variant, editable any time.
  • Explore: anyone, logged in or not, can search perfumes and see public reviews and scent logs, including average rating, how many recommend it, average longevity and typical projection. A “Submit your own Scent Log” button leads to sign-up.
  • A public page for every perfume variant with its reviews and community scent logs, plus “Add to my collection” for signed-in users.
  • “Remove from my collection” on a bottle's page.
  • Admin panel: all users with their collections, scent logs and reviews (plus a temporary-password reset and admin role), and the perfume catalog grouped by house with edit, merge duplicates, delete, rename / merge houses, and hide or show reviews.

Changed

  • Your collection, scent logs and spray spots are now private to your account. Perfumes logged before accounts existed move to the admin's account.
  • Bottles in a collection now link to the shared perfume catalog, so fixing a name in the admin panel fixes it everywhere.
  • New navigation bar: Explore, My collection, My profile, Admin; the changelog link moved to the footer.

2026-10-26 — Collection search and grouping by house

Added

  • Search your collection: filters as you type across house, name and variant, ignoring case and accents. Several words narrow it down, e.g. “dior sauv”.

Changed

  • The collection is grouped by house (A–Z), with a count per house.
  • The “Perfume name” field is wider on desktop, and suggestion lists grow to fit their content so names and houses no longer wrap or scroll sideways.

2026-10-26 — House, perfume and variant suggestions

Added

  • The “House” field suggests perfume houses as you type, from a list of about 120 common designer, niche and Middle Eastern houses. Matching ignores case and accents (“hermes” finds Hermès), and the full list opens as a dropdown when the field is focused.
  • Houses that aren't in the list yet are remembered once you add a perfume with them, so they're suggested next time. Typing a known house in different casing reuses its stored spelling.
  • The “Perfume name” field suggests fragrances too, from a catalog of about 325 popular lines. Each suggestion shows its house, and picking one fills in the House field. Choose a house first to see only that house's fragrances.
  • New “Variant” field for the flanker or version, e.g. Mancera · Cedrat Boise · Intense. It suggests the chosen perfume's known flankers first, then common ones (Intense, Elixir, Parfum…). The variant is shown as part of the perfume's name in the collection and on its page.
  • New perfume names and variants are remembered under their house once you add them, just like houses.

Changed

  • The add-perfume form now goes House → Perfume name → Variant → Concentration.

2026-10-26 — App logo, favicons and install as an app

Added

  • App logo: a perfume bottle whose amber fill stands for longevity, with spray arcs for projection. Shown next to the title on the home page.
  • Favicons for browser tabs (SVG and ICO), plus a simplified version that stays legible at 16px.
  • Installable as an app on phones and desktop: web app manifest, home-screen icons for Android (including a maskable icon) and iOS, and a toolbar color that follows the light/dark theme.

Removed

  • The default Svelte favicon.

2026-10-26 — Safer data copy

Fixed

  • The local-to-production data copy script now refuses Neon's pooled connection URL. Copying through the pooler briefly broke the live site with “relation "perfume" does not exist” errors until Neon recycled the connection.

2026-10-26 — Production deploy, changelog and rename

Added

  • Changelog page at /changelog, linked from the header on every page.
  • Database migrations are versioned in ./drizzle and applied automatically on production deploys. Preview deploys skip them so an unmerged branch can't change the production database.
  • scripts/copy-local-data.sh to copy perfumes, wears and check-ins from the local database into an empty production database.

Changed

  • Renamed the app from “Scent Tracker” to “Scent Log”.
  • Deploys use the Vercel adapter directly instead of auto-detecting the host at build time.

Fixed

  • Production showed “500 Internal Error” on every page because the Neon database had no tables. The first production deploy with migrations creates them.

2026-10-26 — First version

Added

  • Perfume collection: add bottles with name, house and concentration.
  • Wear tracking: start a wear with sprays, spray spots, temperature and humidity; log check-ins with phase and projection; end it with a rating to record longevity.
  • Per-perfume stats: number of wears, average and best longevity.
  • Editable spray spots (neck, wrists…), with removed spots kept on past wears.
  • Light, dark and system theme toggle.