Selected Work
Case study · 01 / 03

refluxly

React Native · Privacy-first

A symptom journal for people living with GERD and reflux, including me. All health data stays on the device, there's no account and nothing leaves your phone unless you choose to export it.

React NativeExpoDrizzle ORMTypeScript
refluxly splash screen
RoleSolo — design & build
TypePersonal project
PlatformiOS · Android
StatusIn development
01

Overview

Built from my own experience as a long-term GERD sufferer.

I've dealt with GERD for years, and I always wished there was a better way to log my symptoms, something that could show me what was actually going on over time, what my triggers might be, and let me export that to take to my doctor. There are millions of people in the same position, so I decided to build it myself.

Right now the foundation and the Home screen are built end-to-end, pixel-accurate in light and dark, with the local database, theming and navigation fully wired up. The remaining screens, logging, trends, export, history and full onboarding, are stubbed and being built out in later passes.

02

The problem

Existing symptom trackers either ask too much for too little back, or hand your health data to a third party. I wanted something privacy-first, where logging a few things a day starts to reveal the correlations on its own, with the app never making medical calls on your behalf.

03

My role

A solo build, with my partner weighing in on decisions when I want a second opinion.

Product concept
UX & visual design
React Native / Expo build
Local data layer (Drizzle ORM + SQLite)
App architecture & theming
04

How it works

refluxly home screen showing the daily log

Track what matters

Log symptoms, meals, mood, medication and intakes, so the correlations between them can start to surface.

refluxly settings screen with privacy and data options

Privacy by architecture

Everything lives in an on-device SQLite database. No account, no servers, nothing leaves your phone unless you export it yourself.

refluxly trends screen visualising symptoms over time

It logs, it doesn't diagnose

Refluxly tracks what's happening so you can spot patterns, it's never going to tell you what they mean. That's between you and your doctor.

05

Stack & architecture

Client
Expo (SDK 56)React Native 0.85Expo RouterTypeScript (strict)
Data
expo-sqliteDrizzle ORMZustand + MMKV
Testing
JestTesting Library

Local-first by design: expo-sqlite and Drizzle ORM hold all health data on-device, while Zustand and MMKV handle non-health app state like theme and onboarding, kept deliberately separate.

06

What I learned

Building something for a condition I live with myself meant knowing exactly what to leave out: no nagging, no advice, just the information handed back to you that you can give to a doctor to help make sense of.