I build backend services, full-stack products and AI applications. My foundation is Java and Spring Boot; my recent work also uses Python, TypeScript and LLM orchestration.
My projects range from event-driven asset workflows to contract retrieval and voice assistants. I care about the work behind the demo: permissions, data models, integration boundaries, tests and what happens when a dependency fails.
A local-first voice AI assistant for macOS. Python, LangGraph and LiveKit connect multi-provider LLM routing, persistent memory and approval-gated actions, with offline stop controls and a SvelteKit dashboard. Model and speech calls use external providers.
A FastAPI contract-review application using hybrid keyword and pgvector retrieval. Documents are parsed and chunked for LLM-assisted checklist review, with clause-level evidence, validation history and PDF reports. Built to support traceable review, not replace legal judgment.
A collaborative spreadsheet-to-database application built with Next.js, TypeScript and Supabase. CSV, Excel and JSON imports feed linked records, formulas and multiple views, with access controls, APIs and webhook automation.
A Spring Boot asset-lending backend with approval workflows, JWT authorization, Kafka event processing, WebSocket notifications and MySQL audit tracking.
A Spring Boot and React/TypeScript invoicing application with customer management, invoice delivery, payment tracking, reminder workflows and authenticated dashboards.
A Spring Boot and React/TypeScript expense-management application with shared household budgets, JWT authentication, invitations, expense comments and CSV reporting.
- Backend: Java, Spring Boot, Python, FastAPI, REST APIs, JPA and Flyway.
- Frontend: TypeScript, React, Next.js and SvelteKit.
- Data and messaging: PostgreSQL, MySQL, Supabase, Kafka and AWS SQS.
- Applied AI: LangGraph, LiveKit, pgvector/RAG, AWS Bedrock and Prophet forecasting.
- Delivery and testing: Docker, JUnit, pytest, Vitest, Playwright and Prometheus/Grafana.
- Keep business logic separate from vendor integrations and UI code.
- Make permissions, approvals and failure cases explicit.
- Treat AI output as something to check against evidence, not a source of truth.
- Credit upstream projects and distinguish prototypes from finished capabilities.
I'm interested in backend, full-stack and applied-AI software engineering roles where I can build useful products and stay close to the code.


