Founder & Full-Stack Engineer · Live SaaSProduct Engineering · AI & SaaS

Somm Scribe: Wine Journal & AI Recommendations

Architecting and shipping a full-stack SaaS product from concept to production with React, TypeScript, Go, PostgreSQL, Stripe billing, and AI recommendation workflows.

RoleFounder & Full-Stack Engineer
Company / ProductSomm Scribe
Timeline2024 – Present
Team ScopeSolo Founder & Engineer
Live ProductionVisit Live App
Technologies:
ReactTypeScriptGo (Golang)PostgreSQLStripeOpenAICloud RunDocker
100%
Solo Ownership
Concept, UI, API, DB & Cloud
AI
Recommendations
Personalized picks based on tasting history
100%
Live SaaS Billing
Stripe tier entitlements & limits
< 150ms
API Response Time
Go REST API on Cloud Run
Executive Brief

At a Glance

The Context

Wine enthusiasts lack a frictionless way to record tasting memories, decode sensory profiles, and receive accurate bottle recommendations without tedious manual form data entry.

The Problem & Stakes

Building a consumer SaaS as a solo engineer requires balancing fluid mobile-responsive UX, secure tier-gated subscriptions, resilient data pipelines, and production infrastructure on a lean operational budget.

The Architectural Solution

Engineered an end-to-end architecture: React/TypeScript frontend with zero UI bloat, Go REST microservice on Cloud Run, OpenAI integration for personalized wine recommendations based on tasting history, and hardened Stripe webhook lifecycle handlers.

The Measurable Impact

Shipped a live production product operating reliably with real paying customers, sub-150ms API response times, automated database migrations, and zero infrastructure downtime.

Somm Scribe wine collection dashboard with wine tastings and filter system
Live collection dashboard with faceted filtering, ratings, and bottle imagery.

Context

Somm Scribe is a live wine tasting journal I founded and built end-to-end: React/TypeScript frontend, Go REST API, PostgreSQL, Stripe billing, OpenAI recommendations, and Cloud Run deployment. The goal was a fast, mobile-friendly way to log tastings and get personalized bottle suggestions from real tasting history—not social noise or cellar inventory software.

The Problem

As a solo founder, the hard part was shipping a full product lifecycle without drowning in operational complexity:

  • Capture structured sensory data without a heavyweight UI kit
  • Gate features by Stripe subscription tier with reliable webhook handling
  • Generate useful AI recommendations without sending raw tasting history as expensive prompts

What I Built

Somm Scribe tasting entry with structured flavor tags and education module
Tasting entry with structured tags and contextual micro-lessons.
Somm Scribe mobile AI recommendations
Mobile recommendations with match rationale.

Production Stack

Solo Founder
  • Frontend: React, TypeScript, CSS Modules—no heavy UI library
  • API: Go REST service on Cloud Run (fast cold starts, small memory footprint)
  • Data: PostgreSQL with normalized sensory tags and migrations
  • Billing: Stripe Checkout, Customer Portal, idempotent webhooks
  • AI: OpenAI recommendations from aggregated tasting profiles

Key decisions

  • Normalized sensory data: body, acidity, tannins, and flavor tags live in relational tables so collection filters and taste-profile aggregates stay fast and queryable.
  • AI pipeline: aggregate top-rated wines into a compact sensory profile, prompt OpenAI for recommendations with rationale, then schema-validate the response before it reaches the UI (~80% fewer prompt tokens than raw tasting dumps).
  • Stripe entitlements: verify webhook signatures, store processed event_ids for idempotency, and enforce tier limits server-side on tasting creation.

Outcome

  • Live SaaS with real users and Stripe subscription billing.
  • Sub-150ms API responses from the Go service on Cloud Run.
  • Full solo ownership across product, UI, API, data, billing, and deployment.

Interested in discussing this architecture?

I'm currently open to Senior Frontend, Product Engineering, and Tech Lead opportunities. Let's talk about technical planning, high-concurrency systems, or frontend craftsmanship.