Specialised in Java. Fluent across the stack.
Java and Spring Boot are where I go deepest. Everything else on this map connects to them, and each entry says where I have actually used it.
Technology map
Hover or focus a technology to see what it connects to.
By category
01Backend
- JavaCoreJava 25 in a production modular monolith: ≈880 use cases, virtual threads, scheduled jobs and event listeners.
- Spring BootCoreSpring Boot 4.1 with Spring Modulith: 20 modules, GraphQL, SSE, Flyway, Testcontainers and CI/CD to production.
- Spring SecurityPrimaryRedis-backed sessions with CSRF, email MFA, Google OIDC, database-driven method security and an OAuth 2.1 server for MCP clients.
- Spring Data JPAPrimary183 entities and repositories, keyset pagination, entity graphs and a test that counts SQL statements to catch N+1.
- GraphQLPrimary≈200 queries and ≈220 mutations with Spring for GraphQL, DataLoader batching and depth/complexity limits.
- REST APIsPrimaryWebhooks with HMAC verification, uploads, integration endpoints and HTTP clients for third-party APIs.
- HibernateWorking knowledgeJPA provider in production: batch fetching, JDBC batching and optimistic locking.
- Node.jsWorking knowledgeServer runtime for Next.js, build tooling and validation scripts.
- PythonWorking knowledgeAutomation tooling against REST APIs: audits, migrations and graph layout for ≈400 CRM flows.
02AI Engineering
- Spring AIPrimarySpring AI 2.0: agents with 122 permission-scoped tools, RAG on pgvector, validated structured output and an MCP server.
- LangChain4jWorking knowledgeLLM orchestration for Java applications: chat models, tools and retrieval.
- LangChainWorking knowledgeChains, agents and tool integration in Python.
03Database
- PostgreSQLPrimaryRelational modelling, 74 Flyway migrations, pgvector, advisory locks and SKIP LOCKED work queues.
- RedisPrimarySessions, cache, AI chat memory and Lua-based rate limiting.
- Prisma ORMWorking knowledgeType-safe data access for Node.js and TypeScript services.
04Frontend
- AngularPrimaryAngular 21, zoneless with signals: a production back-office with ≈110 lazy routes, real-time updates and a typed GraphQL client.
- TypeScriptPrimaryStrict mode everywhere; typed API clients checked against the backend schema by a custom tool.
- Next.jsPrimaryNext.js 16 App Router: prerendered multilingual sites with 3D, including this portfolio.
- ReactWorking knowledgeReact 19 with server components and view transitions.
- Vue.jsWorking knowledgeComponent-based interfaces with Vue.
05Other
- System integrationPrimaryCheckout platforms, a CRM, the WhatsApp Cloud API, LLM providers and cloud billing, each with retries and limits.
- AutomationWorking knowledgeDry-run → apply → verify → rollback scripts for production systems; scheduled report pipelines.
- Docker · CI/CDWorking knowledgeLayered images, Docker Compose, Caddy and GitHub Actions deploys with health checks and rollback.
- ExcelWorking knowledgeData analysis and operational reporting; XLSX generation from backend jobs.