ol

Malaysian in SF/London · Physics × Artificial Intelligence

Hi, it's Owen Loh

Physics × Artificial Intelligence. I turn messy real-world domains — batteries, coffee, seismic, CRISPR — into models with computable sensitivities, then build the AI and ML systems that compute, automate and transcend them.

Physics at Oxford University, on-leave building in stealth.

interactive

PourDynamics engine

A multiscale physics engine mapping brewing variables to coffee flavour.

Two coupled physics: Darcy flow of water through the porous coffee bed (advection–dispersion), and a 2D-axisymmetric Doyle–Fuller–Newman extraction model ported from lithium-ion batteries — coffee and a battery are, mathematically, the same equations — validated to sub-0.2%. A sensory layer then maps concentrations to taste. Drag the two controls and read off J = dy/dx: which knobs actually move the cup.

  • Darcy + DFN
  • simulation
  • flagship
github.com/owenloh/PourDynamics
TDS1.27%
extraction yield20.2%

local sensitivities (finite-difference Jacobian)

∂(bitter)/∂(flow)
∂(acidity)/∂(grind)
∂(body)/∂(grind)
extraction curve — yield vs contact time
acidity sweet body bitter clarity
flavour radar
predicted cup

Drag the controls to brew a cup.

    An interactive toy model — directional, not calibrated. The real engine (a DFN model validated against the analytical sphere solution) lives at github.com/owenloh/PourDynamics.

    more work

    More across agentic AI, ML and hardware — click any to expand.

    Microscopy Computer Vision Suite Four real-time microscopy image-processing modules.

    Built solo at Aurox, each module from scratch in ~2 weeks, for manufacturing and QC of microscopy equipment.

    Mirror-flatness interferometry app: interference fringes over the mirror region of interest, the Fourier view of the first harmonic, and the reconstructed mirror-surface colormap.
    Mirror-flatness interferometry — FFT fringe analysis, first-harmonic isolation, and reconstructed surface map. Built from scratch and shipped as a standalone app.
    • Mirror-flatness interferometry (FFT/vision); a Photoshop-like GUI for final-product testing; calibration-target alignment; triplet-lens alignment.
    • OpenCV, tkinter, multithreading, camera-SDK integration — real-time throughout.
    • computer vision
    • real-time
    • optics
    Proprietary — no repo
    FlowR (MellowDrip) A physics-informed smart coffee brewer.

    Modelling immersion vs percolation (Noyes–Whitney diffusion) showed only two variables really matter: flow rate and grind size. So I built hardware to control them.

    • Measures output flow rate via the differential of two scales, feeding a PID loop on an ESP8266 (C++, real-time) that controls input flow.
    • FlowR v1 proved the concept; v2 added aesthetics and a Blynk IoT app. Showcased to 150 people.
    • PID
    • ESP8266
    • hardware
    Hardware build — no repo
    SEGYScribe AI extraction of SEG-Y seismic metadata — 90%+ accuracy.

    Clients ship SEG-Y files in every imaginable format; byte locations for trace headers must usually be found by hand. This finds them.

    • Chain-of-thought reasoning proposes byte-location hypotheses, statistically validated and refined in a loop until consistent.
    • 80+ attribute ontology; 90%+ accuracy; ~4,000 lines across ~13 modules; built from scratch in ~2 weeks.
    • chain-of-thought
    • SEG-Y
    • validation
    github.com/owenloh/SEGYScribe
    YT Title Tracker Makes YouTube’s invisible title A/B tests visible.

    YouTube quietly A/B-tests video titles, but each viewer is locked to one “sticky” variant — so the experiments are invisible. After watching Veritasium reword the same video over and over, I wanted to actually see what was being tested, so I built a tracker.

    • The trick: rather than scrape fragile HTML, it calls YouTube’s internal InnerTube API and rotates a fresh visitorData identity per request — so every sample looks like a different viewer, surfacing variants a single account never could.
    • Watches 18+ channels via RSS, samples new uploads immediately and re-samples hourly, then posts a timestamped variant history once a title stabilizes. Flask + PostgreSQL, deployed on Railway.
    • InnerTube
    • identity rotation
    • Flask
    Alistair-MCP The backend for my personal-assistant OS.

    One assistant identity that follows me across clients, backed by a single bridge instead of a pile of disconnected integrations.

    • A FastAPI bridge unifying my memory, Notion, Whatsapp, Google Calendar, Gmail, Github and a Microsoft To-Do in-tray behind one HTTP/MCP API.
    • Skills are loaded at runtime from a manifest; Claude, Chatgpt or a real-time voice front end (Pipecat) streams from the model API while heavy agentic work runs in the background.
    • FastAPI
    • MCP
    • personal OS
    github.com/owenloh/Alistair-MCP