Building small, deliberate software with a bias toward native experience, privacy, and clean product boundaries.
I build focused tools rather than high-volume repositories. My work usually starts from a concrete personal need, then gets shaped around product behavior, privacy boundaries, and implementation details that should stay invisible to the user.
The two projects below are the clearest representation of that direction: one is a native macOS product, the other is a Swift networking abstraction.
Not optimizing for commit frequency. Optimizing for finished surfaces, small APIs, and tools I would actually keep using.
|
A macOS screenshot utility designed to stay out of the way. Mio lives in the menu bar, freezes every screen, captures windows, regions, or full displays, and includes a built-in editor when annotation is needed. It runs offline, uses no account system, and does not open a network connection.
|
|
A configuration-driven dynamic API client for Swift, built on Moya. DynamicAPI moves endpoint definitions into JSON configuration, so network behavior can be adjusted without duplicating request structures throughout an app. It supports dynamic path variables, query and body parameters, runtime profiles, Swift Concurrency, Combine, and safety checks around paths and sensitive headers.
|
{
"operation": "get_user",
"path": "/users/$user_id",
"method": "GET",
"profile": "prod"
}let user: User = try await client.call(
"get_user",
params: ["user_id": "123"]
) |
| Product surface | Small, concrete, and easy to understand. |
| Default boundary | Local-first where personal data is involved. |
| Engineering bias | Typed contracts, narrow APIs, runtime safety checks, and native platform behavior. |
| Repository philosophy | Fewer public projects, more care per project. |
Native macOS utilities, Swift infrastructure, privacy-conscious personal software, and tools with a deliberately small surface area.



