Work
Projects
A concise view of the kinds of problems I solve—shipping reliable software (often mobile-first), tightening UX, and keeping codebases evolvable as teams grow. Each card opens a case study.
Field operations platform
Mobile
Problem — Field teams needed task updates that stayed usable with flaky connectivity—without sacrificing clarity when they were back online.
- Task lists tuned for one-…
- Offline-tolerant write qu…
- Clear conflict and retry …
- Flutter
- Riverpod
- REST
Personal site (this project)
Website
Problem — Needed a durable personal site that stayed fast, accessible, and easy to extend—without a CMS or heavy marketing template.
- Static-friendly routes wi…
- Projects filter + dedicat…
- Env-driven contact links …
- Next.js
- React
- Tailwind CSS

Explore Outdoor
Website
Problem — A multi-program outdoor brand needed one digital home—clear paths to trails, camp, training, gear, and outbound trips—without burying CTAs in a generic brochure layout.
- Program pillars: trail & …
- Bilingual navigation and …
- Destination-led visuals w…
- Next.js
- React
- Tailwind CSS

Omah Ayoe
Website
Problem — A Gresik aesthetic clinic needed a digital home that felt medical and editorial—not a generic spa brochure—so visitors could understand the consult-first approach and start a conversation.
- Consult-first hero with W…
- Treatment list and skin-c…
- Doctors, FAQ, location, a…
- Next.js
- React
- Tailwind CSS
WordPress & Elementor builds
WordPress
Problem — Marketing teams needed landing pages they could update without waiting on a full engineering cycle—while still looking intentional on mobile.
- Reusable section kits
- Mobile-first responsive t…
- Editor-friendly structure…
- WordPress
- Elementor
Productivity companion
Mobile
Problem — Accounts, notifications, and deep links were spreading logic across screens, making regression risk high as features grew.
- Account and session bound…
- Notification entry points…
- Deep-link coverage for pr…
- Dart
- GoRouter
- Dio
Want something similar shipped for your team? Start a conversation.