Design&builddigitalproducts.
I design and build products for the web and mobile, from the first interface sketch to shipped code.
Most of my time sits between Figma and the editor. I work across design, frontend, and the full stack.
Currently taking on select client work and a couple of personal products.
Selected work
Products I've designed and built end to end. Mobile companions, client tools, and developer infrastructure. Each one starts with the interface people touch.
Case studies
Challenge, solution, and impact. Design decisions on the surface, engineering decisions underneath.
EiraFocus
Designer & Mobile Developer
Most focus apps feel like productivity equipment. Aggressive timers, streak pressure, cluttered dashboards. People who actually struggle with focus need something calmer: an interface that makes it easy to start, and a rhythm that's easy to come back to.
EiraFocus is built around a single breathing ring, the visual anchor for each session, with a thin routine layer for the rituals before and after. The palette is warm and low-contrast so it reads as calm. Type and motion are tuned to feel unhurried. The app is mobile-first in Flutter, with native haptics and transitions. Every interaction is designed to lower the cost of starting a session.
Shipping as an MVP with the core focus loop, session history, and rituals. The design language and motion system will guide everything that follows.
Running a client business usually takes four or five tools stitched together. Every handoff between them loses information. The interfaces are dense, loud, and built for teams rather than a single person.
I designed one workspace that fits the rhythm of client work. A quiet dashboard. A simple client-facing portal. A backend that keeps projects, payments, and time connected. The visual language stays restrained, with lots of whitespace and a single accent. Self-hosted so the data stays yours.
A complete MVP that replaces several SaaS tools with one owned system, and a design language I now reuse across my product work.
Most URL shorteners are either consumer-simple or tied to centralised services. Developers who want self-hosted control end up compromising on usability, automation, or integration.
Trelay has a dashboard, a CLI, and an API. All three share the same surface, so you carry one mental model across every entry point. Expiring links, one-time access, analytics, and custom routing ship in a single container. The UI feels like a developer tool: dense information, clear affordances.
Teams can manage links as part of their own infrastructure, with the polish of a hosted service.
Cross-repository search is usually slow, fragmented, or stuck at basic keyword match. Developers need something that respects how codebases actually get explored.
RepoGrep pairs a clean query UI with a performance-focused backend. The interface is deliberately small, built for developers who live in a terminal. Search is tuned for real exploration, with structured queries and fast lookups.
A practical utility that makes large or unfamiliar codebases faster to understand.
Most interview-prep tools either lack structure or don't adapt to how people actually study. Layering in intelligent features means bridging product design with machine learning from day one.
A structured prep platform that tracks progress, organises problems, and guides study. Alongside the app, it ships ML components, CLI tools, and libraries so it can grow into a data-driven learning platform.
A foundation for a scalable, ML-integrated learning product that stays structured and extensible as it grows.
Services
What I take on end to end, with design and engineering held in one hand.
- 01UI/UX design for web and mobile
- 02Frontend engineering with React, Next.js, Svelte, and Tailwind
- 03Mobile apps in Flutter
- 04Full-stack product development from idea to release
- 05Developer tools and ML-integrated systems
Perspective
Why me over an agency?
You get one person across the whole product. Research, interface, and the system underneath all live in the same head. Nothing gets lost in a handoff. No account managers sit between the decision and the pixel.
I care about typography, motion, and restraint on the design side. I care about code that holds up as the product grows on the build side. It's the same pair of hands across both.
Process
How I work with founders and teams. Research through release, with design and engineering interleaved at every step.
- 01
Listen & frame
I start with the people the product is for. What they actually do, where the friction lives. Frame the problem before framing the solution.
- 02
Sketch & design
Low-fi flows first, then Figma. Shape the interface, the type, the motion. Put decisions in front of you so they can be pressure-tested.
- 03
Build with intent
Design and code keep informing each other as I go. React or Flutter on the surface, clean services behind them. Motion and state are built in from the start.
- 04
Iterate in the open
Ship, measure, refine. Loading states. Transitions. Empty states. The small details that turn a working product into one that feels finished.
Close attention to state, loading, and interaction feedback. The small details turn a working product into one that feels right.
Stack
Design & interface
Web frontend
Mobile
Backend & APIs
Systems & languages
Runtime & tooling
I pick tools by what the product needs and what the team can maintain.
Writing
Long-form notes on product, design, and engineering decisions.
- The Bridge Between Pixels and Code20-04-2026
- Mobile-First Design in a Desktop World18-04-2026
- Building with Next.js and React Native15-04-2026
- The Aesthetics of Performance12-04-2026
Contact
I work with founders and small teams on web and mobile products, from first design to shipped code. If you have a project in mind, or just want to say hello, drop me a line.