AI & agentic systems
LLM applications, retrieval, tool use, and memory—with explicit boundaries around what a model may decide.
Engineering & execution
I’m a software engineer working across Python, Java, backend systems, and AI applications. I care about the whole path: a clear problem, sound architecture, and a useful experience.
Make the problem specific. Keep the system’s decisions inspectable. Handle failure deliberately. And make the result clear to the person who needs to use it.
Capabilities
My background includes professional Python and Java work, APIs and databases, and LLM applications. These are the areas I bring together in my projects.
LLM applications, retrieval, tool use, and memory—with explicit boundaries around what a model may decide.
APIs, structured data, durable workflows, and the architecture that turns an experiment into a dependable system.
The full path from a useful problem to a clear interface, with attention to usability, failure states, and evidence.
Exploring models and data through notebooks, evaluation, and small projects that make assumptions testable.
Selected case studies
Give the next run something better than a chat history.
An agent can repeat a procedure without retaining what worked, what failed, or why a recovery helped in a particular environment.
A Python service stores run events and derived experience in CockroachDB. Scoped retrieval, failure fingerprints, provenance, and invalidation keep memory tied to the execution that produced it.
The public implementation focuses on CockroachDB query-regression diagnosis. Service and integration test sources are present; this portfolio does not claim independent live-runtime verification.
Inspect the sourceMake the release decision inspectable.
Before a dataset crosses into an external AI system, ownership, eligibility, transformation choices, and approvals need to refer to the same evidence.
The implementation separates bounded AI interpretation from deterministic checks and human approval. It includes a FastAPI service, a Next.js interface, DataHub context integration, and BigQuery measurement paths.
The focused workflow reviews support conversations for external model adaptation. Repository code and tests establish the implementation scope; a technical pass is not a certification of legal compliance.
Inspect the sourceCollection is the beginning. Compatibility is the problem.
A set of available components is not automatically a viable solar system. Voltage, current, storage, peak load, and budget must agree.
A deterministic TypeScript solver enumerates bounded combinations, records constraint failures, and produces topology data for a single-line diagram. Scraper adapters keep inventory and source evidence separate from electrical validation.
The repository contains the solar constraint engine, solver tests, and a Next.js interface. A public demo may be linked after its landing page is checked; that check does not validate an entire live design run.
Inspect the sourceCollaborations & opportunities