Java Backend Engineer Β· London, UK π¬π§ πΊπ¦
I build backend systems, document-generation tools, and AI-backed workflow products β mostly with Java, Spring Boot, SQL, Docker, and PDF/document automation.
My strongest current work is GraphCompose: an open-source Java document layout engine for generating structured PDFs from semantic code, not manual coordinates.
Open-source Java document layout engine for structured business documents.
GraphCompose lets developers describe documents using semantic building blocks β sections, paragraphs, tables, lists, layers, themes β while the engine handles layout, pagination, rendering, and regression-testable layout snapshots.
Built for server-side document generation where βjust draw text at x/yβ stops being funny very quickly.
Focus: Java library design, PDF generation, layout engine architecture, pagination, PDFBox, snapshot testing, examples, releases, and documentation.
Java PDFBox Document Layout Pagination Semantic DSL Snapshot Testing
Public architecture showcase of a full-stack AI CV tailoring platform.
The product takes a job URL, scrapes the vacancy, rewrites CV content through a provider-agnostic AI pipeline, streams progress with SSE, stores application history, tracks token usage, and generates PDFs using GraphCompose.
The production codebase is private; this repository documents the architecture, data flow, security model, technical decisions, screenshots, and trade-offs.
Focus: Spring Boot, Spring Security, JPA/Hibernate, Flyway, MySQL, JWT, SSE, Playwright, Stripe, Docker, AI provider abstraction, and product architecture.
Spring Boot JPA/Hibernate MySQL Flyway JWT SSE Docker Playwright AI
Experimental companion project for GraphCompose.
A local workflow kit for turning visual document references into maintainable GraphCompose Java templates: analyze, generate, render, visually compare, revise, approve, and publish reusable template bundles.
Not magic screenshot-to-code. More like forcing the AI to behave like an engineer, which is rude but useful.
Focus: AI-assisted development workflow, visual regression, revision history, template publishing, validation contracts, and developer tooling.
Java GraphCompose AI Workflow Visual Regression Template Generation
Java client library for the Google Gemini API.
Supports typed request/response models, streaming responses, structured JSON output, Imagen helpers, and runnable examples.
Focus: Java API design, HTTP clients, JSON serialization, streaming responses, and SDK-style library structure.
Java Gemini API JSON Streaming Client Library
Production-style REST API for products, shopping carts, and cart items.
Includes JWT authentication, role-based access, rate limiting, OpenAPI documentation, Flyway migrations, DTO mapping, and Docker setup.
Focus: Spring Boot REST API design, authentication, persistence, validation, migrations, and API documentation.
Spring Boot Spring Security MySQL Flyway MapStruct OpenAPI Docker
- Java backend systems with clean service boundaries
- Spring Boot APIs, authentication, persistence, and database migrations
- Document generation, PDF rendering, layout engines, and template systems
- AI workflows with structured output, not free-text chaos
- Dockerized local and product environments
- Testing, regression safety, documentation, and release discipline
- Developer tools that are actually usable, not just technically possible
Backend
Databases & migrations
Document generation
AI & automation
Tools & infrastructure
Testing & API tooling
Frontend support




