← Portfolio

Almaeng

Offline

AI supplement analysis and price intelligence product focused on ingredient transparency.

Solo build · 2025.12

Role Product design, backend architecture, implementation
Team Solo project
Period 2025.12
Links Case study only · GitHub private
Django NinjaHTMXAlpine.jsPostgreSQLpgvectorGemini FlashPydantic AICoolify

The live deployment is currently offline. This page documents the product and architecture.

Positioning

Almaeng is built around a simple question: not which supplement looks better, but which one delivers better ingredients for the price. The product combines label interpretation, ingredient-level comparison, and price intelligence into one workflow for Korean supplement buyers.

Problem

Supplement shopping is usually driven by brand reputation, packaging, and marketing copy. That makes it hard to compare products by ingredient density, duplicated intake risk, and real unit economics. A lower list price does not necessarily mean better value.

  • → Users need ingredient-level comparison, not just product-level browsing
  • → A single bottle price hides the actual cost per tablet and per active ingredient
  • → Multi-supplement routines increase the chance of overlapping or excessive intake
  • → Public regulatory and product data is fragmented and inconvenient to review

What I Built

Almaeng structures supplement data around ingredients first. Product information is normalized, enriched, and then surfaced through searchable views that help users judge practical value rather than branding alone.

  • → Search and comparison flow combining market listing data with official product information
  • → Ingredient-focused product analysis instead of simple title or brand comparison
  • → Unit pricing views to compare cost per serving and cost per meaningful ingredient amount
  • → Overlap alert concept for detecting duplicated ingredients across multiple supplements
  • → AI-assisted interpretation layer for supplement label understanding and user guidance

What I Did

  • → Defined the product framing around ingredients-first supplement evaluation
  • → Designed the data model for supplements, ingredients, and price snapshots
  • → Implemented the backend-driven search and comparison flow
  • → Built the deployment path on a self-managed stack with Coolify and Hetzner

Architecture

Server-rendered with Django + HTMX. Product logic, search, and comparison flows stay on the server — no React SPA. PostgreSQL stores all normalized data; Gemini Flash + Pydantic AI turn supplement labels into structured, safe-to-store output.

System Flow

User
browser
↓ HTTP request
Django + HTMX
DAEMON-ONE · search, compare, analysis views · SSR
↓ query
PostgreSQL
supplements · ingredients · price_snapshots · pgvector

AI Label Analysis

Supplement Label
raw text input
Gemini Flash
extract ingredients · amounts · units · risk flags
↓ structured output
Pydantic AI
schema validation · safe to store
PostgreSQL
normalized ingredient data

Infrastructure

  • → Hetzner-hosted deployment managed through Coolify
  • → Docker-based application delivery with controlled self-hosting
  • → Cloudflare for DNS, TLS, and edge-level traffic handling
  • → Build path optimized for fast solo iteration and low operational overhead

Technical Notes

System Notes

  • Server-rendered flow with Django Ninja, HTMX, and Alpine.js to keep the interaction model simple and backend-driven.
  • PostgreSQL stores normalized product, ingredient, and comparison data while pgvector leaves room for semantic lookup features.
  • Gemini Flash and Pydantic AI are used for AI-assisted label interpretation and safer structured output.

Data Model Snapshot

supplements
- id
- brand
- product_name
- serving_size

ingredients
- id
- name
- daily_value_ref

supplement_ingredients
- supplement_id
- ingredient_id
- amount
- unit

price_snapshots
- supplement_id
- retailer
- price
- captured_at