Skip to content
View soynx's full-sized avatar

Block or report soynx

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
soynx/README.md

Hi, I'm Robin

Java Backend Engineer · OOP & SOLID by conviction · Homelab & Infrastructure · Learning Rust


About Me

  • Java backend developer. Java 21 and Maven are my default. Spring Boot is where most of my work lives.
  • OOP and SOLID are how I think, not a checklist I tick. I would rather split a feature across ten small, single-responsibility classes than hide it in one clever one.
  • I like understanding systems all the way down — I rarely ship something I can't explain from first principles.
  • I run my own self-hosted homelab and treat my own infrastructure as a playground for doing things properly.
  • I build agentic AI workflows into my daily development to move faster without losing rigor.
  • Currently learning: Rust — and shipping with it. Both of my Prometheus exporters are written in it.

How I Write Code

The opinions I actually apply, not the ones I would put on a slide:

  • Strict SOLID. Single responsibility down to the class level; dependencies inverted onto interfaces, not implementations.
  • Many small files over few large classes. A 600-line service class is a design failure, not a milestone.
  • Checked exceptions by default in Java. Unchecked only for genuinely fatal runtime conditions — an API should force the caller to reckon with what can go wrong.
  • Javadoc on every method. Inline comments only where the code is genuinely hard for a third party to read: non-trivial lambdas, bit manipulation, regex. Everywhere else, the code should carry itself.
  • JUnit is part of the deliverable, not an afterthought.
  • PostgreSQL for anything that has to persist. H2 for embedded development.
  • Prometheus for time-series. Always.

Tech Stack

Area Technologies
Languages Java Rust Python Bash
Backend Spring Boot Spring Security Maven JUnit 5
Data PostgreSQL SQL
Infra & DevOps Docker Traefik Linux Prometheus Grafana
Tools Git GitHub IntelliJ IDEA

What I'm Into

Java Backend Engineering Spring Boot services, clean domain models, and APIs designed so the next person can extend them without reading my mind. I care about the boundaries between layers more than about clever code inside them.

Applied Cryptography & Security Building credential and data management with AES-256-GCM, a KEK/DEK key hierarchy, and PBKDF2 key derivation — implemented from the primitives up, because "we use encryption" means nothing without knowing which mistakes it does and doesn't protect you from.

Homelab & Self-Hosting Running my own services on my own metal — containerized with Docker, reverse-proxied through Traefik with automatic TLS, monitored with Prometheus and Grafana, and secured behind a VPN and dynamic DNS. If it can be self-hosted, I'd rather own it than rent it.

AI & Agentic Workflows Building agentic developer tooling around Claude Code, custom agents, and MCP servers — from AI-assisted reviews and debugging to a self-hosted "second brain" that keeps long-term knowledge searchable. I treat AI as an interrogated senior dev, not an autocomplete.

Learning Rust Coming from a garbage-collected, OOP-heavy world, Rust forces me to be explicit about things Java lets me ignore: ownership, borrowing, lifetimes. Both of my Prometheus exporters are written in it — I learn a language by shipping something with it, not by reading about it.


Reach Me

email

Pinned Loading

  1. KnowledgeGithubMCP KnowledgeGithubMCP Public

    MCP server that turns any GitHub repo into a AI knowledge base — no embeddings, no vector DB, one Docker container.

    Java

  2. uptime-exporter uptime-exporter Public

    A lightweigt HTTP uptime & repsonse-time exporter for Monitoring

    Rust

  3. amp-cubecoders-exporter amp-cubecoders-exporter Public

    An metrics-exporter for AMP by Cubecoders. Exposes a /metrics endpoint for further monitoring-tools like Prometheus or InfluxDB

    Rust