Back to projects

Case Study

Own product

PourLog

A six-language coffee tasting SaaS across iOS, Android, Web, Admin, and API, with OCR-assisted record creation and a TypeScript monorepo.

A product we planned, launched, and operate ourselves. Read these as evidence of technical range and operating practice.

Project Overview

PourLog is a cross-platform coffee tasting product for recording coffee experiences, discovering beans and cafes, and managing detailed brewing data. It supports iOS, Android, Web, Admin, and API surfaces from a TypeScript monorepo with shared schemas, offline-first mobile data handling, cloud synchronization, OCR-assisted record creation, analytics, and production-grade operations on GCP.

Product screens

Photo-led home timeline for tasting records and curated coffee content
Photo-led home timeline for tasting records and curated coffee content
New tasting flow for roasting, brewing, rating, and flavor tags
New tasting flow for roasting, brewing, rating, and flavor tags
Scan preview for reviewing OCR confidence and correcting extracted values before saving
Scan preview for reviewing OCR confidence and correcting extracted values before saving
Record detail combining coffee information, visibility, and flavor profile with imagery
Record detail combining coffee information, visibility, and flavor profile with imagery
Flavor-tag selection with searchable categories and persistent selected states
Flavor-tag selection with searchable categories and persistent selected states
Search screen for finding beans and returning to recent records
Search screen for finding beans and returning to recent records
Profile gallery collecting a user’s coffee photographs
Profile gallery collecting a user’s coffee photographs
Profile map for revisiting recorded cafes and coffee experiences
Profile map for revisiting recorded cafes and coffee experiences
Coffee-guide article detail combining photography and brewing knowledge
Coffee-guide article detail combining photography and brewing knowledge
Curated article list for brewing tips and bean knowledge in photo cards
Curated article list for brewing tips and bean knowledge in photo cards
Cafe detail combining photos, location, menu, and visit records
Cafe detail combining photos, location, menu, and visit records
Discover tab for finding coffee stories and community records in cards
Discover tab for finding coffee stories and community records in cards

Key Challenges

  • Maintaining a four-package TypeScript monorepo across mobile, API, admin, and shared contracts
  • Implementing OCR-assisted coffee record creation with confidence scoring and caching
  • Supporting multi-language product content across six languages
  • Building operational visibility for API, LLM, push, places, and performance logs

Key Outcomes

  • Built iOS, Android, Web, Admin, and API surfaces from one product architecture
  • Implemented detailed coffee tasting records, discovery feed, cafe map, and curated content
  • Added Maestro E2E tests, API/App tests, and GitHub Actions workflows
  • Deployed production services with Distroless Docker and GCP Cloud Run

Technologies

ExpoReact NativeTypeScriptNestJSNext.jsPostgreSQLClerkClaude VisionGCP Cloud RunDocker