Hey! I'm Shadi β a Junior Java Backend Developer based in the Netherlands π³π±
I'm currently completing the HackYourFuture Software Development program, where my focus has moved from general web development into what I enjoy most: Java backend development. βοΈ
I like building the things happening behind the scenes β APIs, databases, authentication, application logic, messaging, testing, and all the little pieces that somehow have to work together without exploding. π
I learn best by actually building things.
Write it.
Run it.
Break it.
Spend an unreasonable amount of time debugging it.
Realize the problem was one tiny thing.
Never forget it again. π
Outside coding, I'm still very much a creative person. I love drawing, knitting, and makeup π¨π§Άβ¨
So yes β backend developer, but with glitter.
- β Java & backend development β where I feel most at home
- π§ Application architecture β understanding how everything fits together
- ποΈ Databases β designing data that actually makes sense
- π Authentication & security β because "it works" isn't enough
- β‘ Messaging & asynchronous systems β RabbitMQ made things interesting
- π³ Docker & deployment β getting things out of localhost
- π€ AI & Machine Learning β something I want to explore more deeply
- π Mathematics β especially where it connects with computing and AI
- β¨ UI/UX β I may live in the backend, but I still appreciate pretty things
A full-stack image hosting application built around a Java + Spring Boot backend.
This project gave me the chance to go beyond basic CRUD and work with several parts of a real backend system.
- β Java & Spring Boot backend
- π REST API
- π PostgreSQL
- ποΈ Flyway database migrations
- π Registration, login & session-based authentication
- πΌοΈ Image upload and object storage
- βοΈ Cloudflare
- π¨ RabbitMQ for asynchronous image tagging
- π·οΈ JSONB image tags
- π Image search
- π Expiring public share links
- π§ͺ Unit & integration tests
- π³ Docker
- βοΈ GitHub Actions / CI/CD
- π Railway deployment
- π Grafana monitoring & logs
flowchart LR
User([User]) --> Frontend[Frontend]
Frontend --> API[Spring Boot REST API]
API --> Auth[Session Authentication]
API --> DB[(PostgreSQL)]
API --> Storage[Cloudflare Object Storage]
API --> Queue[RabbitMQ]
Queue --> Worker[Image-tagging Worker]
Worker --> DB
A Java/Spring Boot backend for managing projects, tickets, team members, and assignments.
Java β’ Spring Boot β’ Spring JDBC β’ PostgreSQL β’ Docker β’ JUnit β’ Mockito
Features include project membership and roles, ticket assignment, ticket status management, REST endpoints, database integration, and automated testing.
A backend project focused on modelling and managing school-related data.
Java β’ Spring Boot β’ REST APIs β’ SQL β’ Relational Database Design
Currently building a local events platform with my team as part of HackYourFuture.
I'm working mainly on the backend events domain, including:
- Event data modelling
- Categories
- Locations & addresses
- Event status
- Search & filtering
- API design
- PostgreSQL database design
Still cooking... π©βπ»π₯
public class Shadi {
private final String role = "Junior Java Backend Developer";
private final String[] currentlyUsing = {
"Java",
"Spring Boot",
"PostgreSQL",
"RabbitMQ",
"Redis",
"Docker"
};
private int coffees = 0;
public void startCoding() {
coffees++;
while (!testsAreGreen()) {
debug();
questionMyLifeChoices();
tryAgain();
}
celebrateForApproximatelyFiveMinutes();
buildSomethingElse();
}
public void learnSomethingNew() {
build();
breakThings();
understandWhy();
buildAgain();
}
}Current status: probably staring at a stack trace ποΈπποΈ
Java ββββββββββββββββββββ
Spring Boot ββββββββββββββββββββ
PostgreSQL ββββββββββββββββββββ
Docker ββββββββββββββββββββ
RabbitMQ ββββββββββββββββββββ
Redis ββββββββββββββββββββ
AI / ML ββββββββββββββββββββ
Dutch ββββββββββββββββββββ π
const oldShadi = {
status: "new dev alert! π¨",
technologies: ["HTML", "CSS", "JavaScript"],
backend: "sounds scary",
plan: "figure it out somehow"
};BackendDeveloper shadi = new BackendDeveloper();
shadi.use("Java");
shadi.use("Spring Boot");
shadi.use("PostgreSQL");
shadi.deploy();
shadi.keepLearning();
System.out.println("We got somewhere π");Sometimes itβs nice to look back and realize that the things that once looked impossible eventually became normal.
Still a lot to learn. Thatβs the fun part. π




