Engineering & execution

Good ideas deserve
working systems.

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.

A practical way to build.

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

Depth where it matters.
Range to connect it.

My background includes professional Python and Java work, APIs and databases, and LLM applications. These are the areas I bring together in my projects.

01

AI & agentic systems

LLM applications, retrieval, tool use, and memory—with explicit boundaries around what a model may decide.

PythonRAGLangChain / LangGraphMCP
02

Backend & data

APIs, structured data, durable workflows, and the architecture that turns an experiment into a dependable system.

FastAPIJavaPostgreSQLTypeScript
03

Product engineering

The full path from a useful problem to a clear interface, with attention to usability, failure states, and evidence.

ReactNext.jsAPI integrationsTesting
04

Applied experimentation

Exploring models and data through notebooks, evaluation, and small projects that make assumptions testable.

Machine learningEvaluationData analysisPrototyping

Selected case studies

Engineering, in context.

01 / Public project

HARK

Give the next run something better than a chat history.

PythonCockroachDBAWS Bedrock

The problem

An agent can repeat a procedure without retaining what worked, what failed, or why a recovery helped in a particular environment.

The engineering

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.

Scope & evidence

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 source
02 / Public project

Latch

Make the release decision inspectable.

PythonFastAPINext.jsBigQuery

The problem

Before a dataset crosses into an external AI system, ownership, eligibility, transformation choices, and approvals need to refer to the same evidence.

The engineering

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.

Scope & evidence

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 source
03 / Public project

GridForge

Collection is the beginning. Compatibility is the problem.

TypeScriptNext.jsBright Data

The problem

A set of available components is not automatically a viable solar system. Voltage, current, storage, peak load, and budget must agree.

The engineering

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.

Scope & evidence

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 source

Collaborations & opportunities

A useful problem
is a good beginning.

Let’s talk about your project