All Case Studies
Personal Project

StickTrack — Self-Hosted Cigar Inventory & Review System

Built a self-hosted inventory management system with AI-powered URL import that extracts product data from retailer websites via headless browser.

Next.js 16PlaywrightDockerPostgreSQLOpenAI

The Problem

Cigar enthusiasts track their collections manually — spreadsheets, note apps, memory. There's no good way to quickly add a cigar from a retailer URL, log a smoking session with notes and photos, or see statistics about your collection and preferences over time.

The Approach

Build a self-hosted system where pasting a retailer URL automatically extracts all the product data — brand, name, size, wrapper, origin — without any manual entry. The URL import is the killer feature: it should work with any cigar retailer, not just a pre-defined list.

The Tech

When you paste a retailer URL, the system spins up a headless Chrome browser via Playwright, navigates to the page, and extracts product details. Known sites (like major retailers) use custom scrapers for reliability. Unknown sites send the page text to OpenAI to extract structured cigar data.

The Playwright scraper runs as a separate Docker microservice. This is a deliberate architecture decision: Playwright with Chromium adds ~1GB to the image size. By isolating it in its own container, the main application stays lean (~368MB) and only the scraper service carries the browser overhead.

The review workflow guides users through evaluating construction, draw, flavor profile, and overall impression — structured enough to be consistent, flexible enough to be personal.

The Outcome

Adding a new cigar takes 10 seconds: paste a URL, confirm the extracted data, done. The collection view shows inventory levels, average ratings, and flavor preferences. Session logs create a history of what you smoked, when, and what you thought — searchable and browsable.

Key Outcomes
01

URL-based product import from any retailer website

02

Headless browser scraping via Playwright microservice

03

AI-powered data extraction for unknown sites

04

Guided review workflow with session logging

Want Something Like This?

Every project starts with a conversation about what's not working.

Let's Talk