Capabilities
How I approach building software systems, operational tools, and interfaces that need to stay usable once complexity shows up.
Core principles
The habits behind the work.
Observation before expansion
Start close to the actual pressure point before naming a larger category.
Legibility under real use
Systems should stay readable under repetition, interruption, awkward edge cases, or shifting constraints.
Systems that can be checked
Keep logic inspectable, state changes traceable, and tradeoffs understandable.
Recorded change
Treat progress as a visible sequence of decisions rather than a polished after-the-fact narrative.
Capabilities
What that turns into.
Product engineering
Building end-to-end product systems where interface, logic, and user behavior evolve together.
- Interface-heavy applications
- Product iteration based on real use
- Translating messy workflows into structured systems
Complex interface design
Designing interfaces that remain usable even when the underlying system is dense.
- Navigation clarity
- State visibility
- Progressive disclosure of complexity
- Mobile-first constraint design
Local-first and browser systems
Building applications that run reliably without heavy server dependency.
- Browser-native architectures
- In-browser compute and WASM workflows
- IndexedDB and local persistence
- Offline-first thinking
Operational tooling
Internal systems used repeatedly by teams where speed and clarity matter more than polish.
- Scheduling systems
- Operational dashboards
- Audit and review tools
- Reporting workflows
Systems thinking
Working comfortably with multi-layer systems where behavior emerges from rules rather than isolated components.
- Deterministic logic systems
- Constraint-based engines
- Workflow modeling
- Explainable data flows
Tools
The stack matters, but mostly as support for product, interface, and systems judgment.
Core
- Next.js
- React
- TypeScript
- Tailwind CSS
- UI systems
- Local-first storage patterns
- IndexedDB / Dexie
- Visualization and charting
- Scheduling and workflow logic
- Stockfish / engine integration
- Performance-focused frontend architecture
Additional tools
- Microsoft Excel
- Google Sheets
- Google Apps Script
- Photoshop
Best fit
The best fit is work with a real operating context: product teams building complex tools, systems that must remain intelligible under pressure, and software where product judgment matters as much as implementation speed.
- Product teams building complex tools
- Systems that must remain intelligible under pressure
- Software used repeatedly rather than once
- Environments where product judgment matters as much as implementation speed
Contact
Based in the Comox Valley on Vancouver Island. Open to product engineering roles and thoughtful product teams.
Contact