Software as crafted work

I build software that deserves to be looked at, trusted, and used.

In the age of AI, making software is easier than ever. Making software with taste, security, speed, and human care is still a craft. That is the work I want my name on.

Working standardBeautiful. Secure. Fast.
CraftClarityTrust
Artas the standard for how software should feel
Fastbecause beauty should not make people wait
Safebecause trust is part of the craft

Manifesto

A camera did not end art. AI will not end software craft.

When cameras appeared, art did not disappear. Art was never only about copying what exists. It was judgment, feeling, composition, restraint, and a point of view. Photography became a craft too, because a good photograph is not merely an image. It is a decision made well.

I see software the same way now. AI can generate software, but it cannot decide what is worth making, what should be removed, what deserves trust, or what feels inevitable. I do not want to make software that merely works. I want to make software that feels composed: visually clear, fast under pressure, secure by default, and simple enough to respect the person using it.

A lot of software now is made just because it can be made: another product, another launch, another way to extract money with as little effort as possible. That is not the kind of work I want to do. With AI or without it, I will keep bringing human effort, taste, and responsibility into the things I build, so the people using them receive real value instead of disposable noise.

Saying this does not mean everything I have built is already beautiful, fast, secure, and simple. It means this is the standard I am choosing. Every project is another attempt to make the work more beautiful, more secure, faster, simpler, and more worthy of the people who use it.

Useful before impressive

A product should earn its visual polish by first doing the real job clearly, reliably, and without wasting attention.

Beauty is behavior

Good software is not only a screenshot. It is the timing, the defaults, the empty states, the security choices, and the way it recovers.

Simple is harder

I remove cleverness until the interface feels obvious and the system underneath can be trusted by the people who maintain it.

Selected Projects

Projects shaped by product thinking, visual care, and practical engineering.

UI patterns

Composable

A practical Jetpack Compose showcase for reusable Android interface patterns.

Design tool

Composer

A visual design tool for creating interfaces and generating production-ready Jetpack Compose code.

Paid Compose community

composeer.com

A focused paid community for Compose builders who want to learn, ship, and improve together.

Rendering library

Glow

A lightweight syntax highlighting library for polished Android code presentation.

Capabilities

The craft is visible in the interface and hidden in the system.

Android product engineeringJetpack Compose craftSecure architectureFast interfacesDeveloper toolingSimple product systems

Blog

Writing about Android, product craft, and developer tools.

Read all posts

Developer tools

Building small tools that remove repeated work

How focused internal tools can make teams faster without creating a maintenance burden.6 min read

Android UI

Designing Compose screens that stay maintainable

Notes on keeping composables readable, testable, and easy to evolve as product requirements change.5 min read

Engineering

What I look for before adding another dependency

A practical checklist for evaluating Android libraries beyond popularity and first impressions.4 min read

Available for focused product work

Need software that feels considered before anyone reads the code?

Email me