open to roles
Systems & Backend Engineer
I work at the low level: sockets, processes, memory, file I/O, and bridge that into production backend systems with Spring Boot, FastAPI, JWT auth, and containerized deployments on AWS. Open source contributor to Amazon Ion. Currently finishing my CS degree in Greece, open to roles in systems, backend, or software engineering.
Diagnosed a symbol quoting bug in FusionSexp.ImmutablePair.write() affecting a production Amazon language runtime. The fix required designing a quoteOperators flag propagated through the write dispatch chain, a solution that emerged from a technical discussion with the project's co-creator, who identified a gap in the ion-java library itself along the way. Accepted into main.
Secure REST API for managing hospital patients, hospitalizations, and medical tests. Stateless JWT authentication with role based access control (DOCTOR / CLERK / ADMIN) enforced at the HTTP method level. Atomic patient registration via Spring @Transactional. Full Luhn algorithm implementation for validating Greek AMKA numbers with birth date extraction. Deployed on Railway.
High performance API gateway in Python/FastAPI routing requests across backend services with a Redis sliding window rate limiter via atomic Lua scripting, a full circuit breaker (CLOSED / OPEN / HALF-OPEN FSM), JWT auth, response caching, and exponential backoff retries. Every push triggers GitHub Actions: Redis spun up, ruff linting, and 18 pytest asyncio tests run automatically. On every merge to main, Docker images are built, pushed to AWS ECR, and deployed to EC2 (eu-north-1) via SSH with no manual steps. Admin endpoints expose live metrics and circuit states; a mock service supports controlled failure injection for testing.
Multithreaded HTTP server written from scratch in C using Windows sockets (Winsock). Handles concurrent connections entirely without a framework: raw socket management, threading, and HTTP parsing by hand.
TCP client-server application in C. The client sends integers over a socket; the server computes and returns their prime factors. Demonstrates low level socket programming and custom binary protocol design.
TCP/IP client server system for currency exchange operations. Focus on custom protocol design and robust socket communication in C.
Lightweight process supervisor written in Bash for managing and autorestarting long running workloads in Docker and Kubernetes environments.
Demonstrates the Unix process lifecycle: creation, child execution, and synchronization using fork(), getpid(), and wait(). Clean reference implementation of core Unix IPC primitives.
Full library management system with Swing GUI and MySQL backend. Features user authentication, book search, borrowed book tracking, and automated database initialization via SQL schemas.