Lyli / React Native + Expo / mobile UI

Mobile apps should feel like they belong in your hand.

React Native and Expo make that practical: screens that explain state, feedback that earns its place and flows that respect real devices.

The work sits in details users notice before they can name them. A tap responds at the right time. A screen explains what changed. A flow is easy to recover from.

hardwaredevice behavior
animationstate you can follow
accessibility + UXclear next steps
user + device firstuseful first
01Device Behavior

Haptics, sensors and permission moments are part of the interface. They need timing, explanation and restraint.

02Motion & Feedback

Motion earns its place when it helps someone stay oriented. It can confirm a tap, carry context between screens or make waiting feel intentional.

03Accessible Flows

Good UX has to survive tired thumbs, small screens and rushed decisions. Labels, contrast, touch targets and recovery states carry a lot of weight.

04Human First, Device Aware

The starting point is the person holding the phone and the OS around them. Polish comes after the app is understandable, reachable and stable.

Selected work

What the projects are here to show.

A small set of work notes around production ownership, hardware feedback, sensors, UI polish and QA. The projects can get proper links and images later.

React NativeProject note

Production Mobile App

Problem. A real mobile app with releases, QA feedback and requirements moving while the experience still had to feel stable.

Why it matters. This is where mobile ownership becomes concrete: app state, edge cases, native constraints and tiny UI decisions that change daily use.

Role. Owned large parts of the mobile work, then adjusted to team setups where responsibilities shifted between solo delivery, feature work and handoffs.

Product flowsNative constraintsQA + releases
HardwareProject note

Haptic Feedback Lab

Problem. A small app for testing when haptics help, when they get noisy and how much feedback an action deserves.

Why it matters. It is hard to talk about 'feel' from a screenshot. On a phone, the difference becomes much easier to judge.

Role. Mapped control states to tactile feedback and kept the interaction model simple enough to judge by feel.

Expo HapticsControlsTouch feedback
SensorsProject note

Device Motion Prototype

Problem. A prototype for turning device movement into readable, steady UI.

Why it matters. Sensor data is messy. The useful work is choosing thresholds, smoothing and feedback that feels predictable.

Role. Mapped motion input, thresholds, smoothing and animated response inside a React Native surface.

Expo SensorsDeviceMotionReanimated
UI polishProject note

Tiny UI System

Problem. A tiny app for practicing the details that make even a simple interface feel cared for.

Why it matters. Small components show quickly whether type, color, state and timing still feel right under real taps.

Role. Treated the counter like a small design system: tokens, accessible states and feedback that stays consistent.

Expo RouterTheme tokensAnimation
WorkflowProject note

Mobile QA Helpers

Problem. Small local helpers that make useful test states quicker to reach, so there is more time to check the app on-device.

Why it matters. When setup is slow, small interaction bugs are easier to miss. Faster setup makes release checks less painful.

Role. Kept the tooling focused on scenario setup, mobile testing and release confidence.

MaestroScenariosRelease checks

Technical stack

The practical kit.

Mobile

React NativeExpoExpo RouterTypeScriptiOSAndroid

Hardware

HapticsSensorsCamera flowsPermissionsNative modules

UI & Motion

ReanimatedGesture HandlerTheme tokensSVGResponsive layout

Product Quality

AccessibilityUX reviewState modelingEdge casesError states

App Delivery

Maestro E2EFastlaneApp releasesSentryFirebaseSDK integrations

Working principles

Small rules that shape the work.

Clear state, recoverable flows, restrained motion and ownership that people can understand.

01

User Context First

Before the UI, the question is what someone is trying to do, what can interrupt them and what the app needs to make obvious.

02

Real Behavior

People tap fast, get distracted, lose context and come back later. Good flows still make sense in those moments.

03

Device As Material

The OS is part of the product. Permissions, haptics, sensors, loading and platform habits all change how an app feels.

04

Clear Ownership

The mobile track can be carried solo or inside a bigger team, as long as ownership and handoffs stay clear.

Closing thought

Lyli

Mobile product thinking becomes physical very quickly: a hand, a screen, a delay, a permission prompt, a tiny moment of uncertainty. The best parts of the work make those moments easier to understand.