Applications
Built around the task.
Connected underneath.
I build web and mobile applications around the work people need to do, connecting clear interfaces with the data and services behind them.
One workflow.
Connected layers.
- The experience
Interfaces and feedback
- The application
Rules and integrations
- The source of truth
Records and access
Different platforms.
The same care.
Choose the tools that fit the problem, from browser-based workspaces to native mobile experiences and AI-assisted services.
Full-stack applications
Workspaces, dashboards, and custom tools that connect what people see with the services and data behind it.
- React
- TypeScript
- Python
- PostgreSQL
Native mobile tools
Mobile tools that use device features and local storage to support the way people work on the go.
- SwiftUI
- Kotlin
- SQLite
- Core Location
AI-enabled workflows
Classification, conversational tools, and relevant context, with clear limits on what the model can access and change.
- FastAPI
- LangGraph
- OpenAI API
- Python
Care in the build.
Clarity in the decisions.
I plan for the full workflow: how information moves, where decisions belong, and how the application responds when something goes wrong.
Start with the workflow
Understand the task, the people involved, and the exceptions before choosing the features or architecture.
Make ownership explicit
Define who can access each record and action. Enforce those rules in the backend and database.
Check the consequential paths
Test important state changes and integration boundaries, including failure cases that can interrupt the workflow.
Build for the next change
Separate responsibilities and document decisions so future changes have a clear place to start.
Useful intelligence.
Clear boundaries.
AI can help interpret requests and find relevant information. The application still enforces business rules, permissions, and actions that change data.
People should be able to review the result, understand uncertainty, and confirm actions when the stakes call for it.
Interpret and assist
Classify incoming information, retrieve relevant context, and explain the options available.
Verify and act
Check access, apply business rules, and require confirmation before making a consequential change.
The thinking.
Put into practice.
Explore the implementation details and tradeoffs behind these applications.
JAICE
Connected services, background processing, and a shared data model bring a fragmented job search into one workspace.
View projectRefundsAI
AI assistance with backend policy checks, explicit confirmation, and transaction records that people can review.
View projectSimple Miles
Native iOS tracking combines device signals, pause-aware trip state, and local persistence around real driving patterns.
View projectHave a workflow
worth improving?
Have an application idea or a system that needs attention? Tell me what you want to make easier.