Low-end Android
DayTwo is built for entry-level Android phones with small memory, weak GPUs, and spotty connections — reached both as a web app and through the native WebView shell. A screen that's smooth on a MacBook and janky on a ฿3,000 phone is a failing screen. Design for the device our users actually hold.
The rule
- Animate only
transformandopacity. These are cheap on a weak GPU. Animating layout (width, height, top, margin) forces re-layout every frame and stutters — avoid it. Durations come from the motion tokens. - Spend blur and shadow sparingly. Backdrop blur and large shadows are GPU-expensive; a couple per screen at most, and each must earn its place. On the grey canvas a white card needs neither.
- Bound your lists. Any list of user data must have an answer for 500+ items
— pagination or virtualization, not an unbounded
.mapin a scroll view. - Keep payloads light. Prefer token-driven shapes and SVG over raster images; don't add a heavy dependency for a small effect; stay on the three script font stacks already loaded.
- Be native-shell safe. Web-only APIs (
navigator.*,window.*, CSS strings) must be feature-gated or wrapped, because the same screen runs inside the native WebView; platform-split components need both variants updated. - Assume offline. Network calls need an offline answer — queue writes, label pending items, never leave a spinner that spins forever.
When to use it
Always — but especially after adding animation, blur, charts, or any list of user-generated content. That's when a screen quietly stops being device-friendly.
When NOT to use it
There's no exemption. Even a "quick" internal screen runs on the same phones. If a richer effect is genuinely worth it, prove it's smooth on a low-end device first — don't assume.
What user problem this solves
Speed, trust, and access. Jank and long loads read as "broken" to a user deciding whether to trust the app with their money. And many users simply don't have a fast phone or a stable connection — designing for the low end is what makes DayTwo usable for the people it's actually for, not just in a demo.
Beautiful on your laptop is irrelevant. The only test that matters is a cheap Android phone on a weak connection — build for that and everyone else is covered.