Skip to main content

Tech Stack

The tools and technologies I rely on to build production-grade AI systems, open-source projects, and full-stack applications.


AI & Machine Learning

RAG Systems

End-to-end retrieval-augmented generation pipelines — chunking strategy, embedding selection, vector retrieval, and LLM integration tuned to the target corpus.

LLM Integration

Production LLM wiring with a focus on cost / quality / latency tradeoffs. Prompt engineering, structured outputs, and failure-tolerant orchestration.

AI Agents

Autonomous agent architectures with tool use, memory, and multi-step reasoning. Built for reliability in real deployments, not just demos.

Vector Databases

Embedding storage and semantic search at scale. Index design and retrieval tuning for high-precision document retrieval.

LLM Infrastructure

Serving, monitoring, and scaling LLM-powered systems. Observability patterns, latency budgets, and graceful degradation.

Multimodal Models

Applied multimodal LLMs to medical imaging — retinal scan analysis for early glaucoma detection. Bachelor's thesis graded 10/10.


Languages

Python

Primary language for AI systems, data pipelines, and backend services. FastAPI, LangChain, HuggingFace, and the broader ML ecosystem.

TypeScript

Full-stack TypeScript for front-end interfaces, React components, and Node.js tooling. Type-safe, maintainable, and production-ready.

Rust

Systems-level work where performance and memory safety matter. CLI tools and performance-critical components.


Frameworks & Infrastructure

FastAPI

High-performance Python API layer for AI backends. Async-first, type-annotated, and easy to document and deploy.

React

Component-driven UI with a focus on performance and accessibility. This site is built on Docusaurus (React) with custom components.

Document Processing

Ingestion pipelines for PDFs, structured documents, and institutional corpora. Chunking, parsing, and metadata extraction at scale.


Approach

The tooling choices listed here are always driven by the same principle: fit to the problem, not fit to the hype. Embedding models are chosen for domain quality, not leaderboard rank. Frameworks are chosen for reliability and iteration speed, not novelty. Every system is built to be observable, failure-tolerant, and built to iterate.


⬅️ Back to Home