backend developer

LucasEckert

Backend systems shaped by explicit state flow, event boundaries, and retrieval design.

At WEG S.A. through CentroWEG and SENAI, building backend services in Java 21 and exploring graph-guided retrieval with Kairos.

WEG S.A.Java 21KafkaWebFluxPostgreSQL / pgvectorNeo4j
professional context

Industrial delivery shaped the engineering habits

CentroWEG paired backend implementation with code review, project review, and architecture decisions that had to hold under scrutiny.

project context

Professional work combined backend delivery, code review, and project presentation around systems that needed clear ownership and explainable boundaries.

selected contributions
  • Defined REST API structure and domain modules for InfoWEG, replacing undefined backend boundaries, to achieve clearer ownership in a 20-plus-developer class project.
  • Built the reactive backend and hardware event flow for OpenIt, replacing manual coordination between firmware and access logic, to achieve a validated payment-gated control path.
  • Standardized GitHub Actions checks across team projects, replacing manual pre-merge validation, to achieve repeatable CI feedback and faster review cycles.
  • Led cross-project code review flow, replacing isolated implementation feedback, to achieve earlier architecture corrections before technical presentations.
runtime and tooling

Stack chosen by the problems it solves

The recurring problems sit where backend architecture, data movement, and retrieval meet.

Backend

Java 21 · Spring Boot · Virtual Threads · ONNX Runtime

Data

PostgreSQL · pgvector · Neo4j · Redis

Messaging

Apache Kafka · RabbitMQ · Outbox Relay

Retrieval

HippoRAG 2 · Personalized PageRank · DJL · Gemini Flash

Infrastructure

Docker · Docker Compose · GitHub Actions · Testcontainers

engineering principles

Four rules that keep systems honest

Each project leans on a small set of rules so the architecture stays explicit instead of implicit.

01

State ownership stays explicit

Shared mutable state turns boundary changes into hidden regressions because two services can now mutate the same truth. A single owner keeps write paths observable and recovery local.

02

Events carry facts, not instructions

Instruction-shaped events force publishers to know consumer behavior, so one consumer change leaks back into the producer contract. Fact-shaped events keep behavior decisions at the edge that owns them.

03

Read models deserve first-class design

A generic schema pushes joins and aggregation into request time, so latency grows with query complexity instead of business need. Purpose-built read models keep the serving path aligned with the questions it answers.

04

Retrieval quality comes from pipeline shape

Poor chunking or weak reranking buries relevant evidence before the model reads a token. Retrieval systems succeed when indexing, traversal, and ranking reinforce each other.

current threads

Work under active construction

Current work stays close to retrieval quality, event boundaries, and design decisions with system-wide consequences.

building
  • Kairos - personal knowledge graph engine
  • HippoRAG 2 retrieval on the JVM
  • ONNX embedding inference without Python
exploring
  • Personalized PageRank over knowledge graphs
  • OpenIE triple quality against extraction cost
  • Event sourcing with virtual threads in Java 21
reading
  • Designing Data-Intensive Applications - Kleppmann
  • HippoRAG 2 paper - Gutierrez et al.
  • Internal notes on trust boundaries and failure design
contact

Open to backend engineering with architectural depth

Interested in systems work where trade-offs, state boundaries, and implementation details matter.

Open to backend roles and engineering teams that care about explicit boundaries, event-driven design, and retrieval systems whose trade-offs can be explained.

Lucas Eckert2026