What I do now
I am a hands-on CTO across two startups: Resident, which builds operating software for rental properties, and Tingee, which turns financial data and payments into useful business actions.
The CTO title has not moved me away from engineering. I still shape product flows, design systems, review architecture, trace production issues, and write code. The role simply expands what I am accountable for—from a feature working on my machine to the product working for a real business.
AI is part of my workflow
I use AI for research, exploration, implementation, tests, documentation, and review. It helps a small team shorten the loop between an idea and something users can actually try.
AI does not own the context or the outcome. I decide what should be built, verify the business rules, challenge the generated solution, and carry the work through production. The goal is not to generate more code. The goal is to deliver the right product sooner.
What quality means to me
Fast delivery is valuable only when the software remains dependable. In practice, that means:
- preserving the real business states instead of flattening them into a convenient UI;
- keeping architecture and ownership boundaries clear enough for the team to change safely;
- treating data integrity, security, observability, and failure paths as product work;
- validating the complete user flow, not only the happy-path component;
- leaving the system easier to understand than I found it.
The path here
I started building software professionally in 2015 with native iOS. From there I moved through backend development, frontend systems, mobile apps, infrastructure, and automation. That breadth now helps me connect product decisions with the technical consequences behind them.
The tools keep changing. The craft stays the same: understand the problem, make deliberate trade-offs, and own what ships.
What I share
This site is a working record of the products I build and the engineering lessons behind them—from AI-assisted delivery and system architecture to automation and the unglamorous edge cases that decide whether software is truly ready.