Tech Stack

Technologies and frameworks I work with

Java

Core language used for building backend services.

Spring Boot

Providing the application runtime and configuration foundation for backend services.

Spring Cloud Gateway

Handling API entry, routing, and cross-cutting concerns for service platforms.

Spring WebFlux

Supporting reactive, non-blocking request processing for high-concurrency services.

Spring Data JPA

Simplifying relational persistence through repository abstractions.

Spring Security

Enforcing authentication, authorization, and service boundary protection.

Hibernate

Managing relational persistence and domain-to-database mapping.

OpenAPI 3 / Swagger

Defining and documenting API contracts for service interfaces.

GraphQL

Providing flexible API queries tailored to client data needs.

Apache Kafka

Enabling asynchronous communication between distributed services.

Redis

Providing runtime caching and coordination for performance-sensitive paths.

PostgreSQL

Serving as the primary relational data store for transactional systems.

MongoDB

Providing document-oriented persistence for flexible data models.

Node.js

Powering integration-focused services.

TypeScript

Adding type safety and structure to JavaScript-based applications.

Angular

Building structured single-page frontend applications.

Astro

Building content-driven websites with static-first architecture.

JUnit Jupiter

Verifying service behavior through automated tests.

Mockito

Controlling test isolation via mocking.

Testcontainers

Testing against real infrastructure dependencies.

MockServer

Simulating external system dependencies.

Gatling

Assessing system performance under load.

Docker

Packaging services into consistent containerized runtime environments.

OpenZiti

Establishing zero-trust service connectivity.

Nginx

Providing edge routing and reverse proxy capabilities.

Gradle

Driving automated build workflows.

Maven

Supporting dependency and build orchestration.

Git

Maintaining version control and collaborative code history.

Tools

Software and applications I use daily

IntelliJ IDEA

Primary environment for designing and maintaining backend services.

Visual Studio Code

Supporting environment for frontend, scripting and infrastructure work.

Eclipse

Supporting maintenance and integration work with legacy Java systems.

Postman

Validating API contracts and secured service interactions.

Docker Desktop

Running and validating distributed systems locally.

pgAdmin

Supporting PostgreSQL operations, diagnostics, and query analysis.

Obsidian

Capturing architecture decisions and technical learnings.

Confluence

Documenting system design and operational processes.

Jira

Tracking delivery work, system changes, and operational tasks.

GitHub

Hosting repositories and collaborating on system evolution.

GitHub Actions

Automating build, validation and delivery workflows.

Trivy

Identifying vulnerabilities across dependencies and container images.

Dockle

Enforcing container hardening standards in CI.

OWASP Dependency-Check

Detecting vulnerable components in the software supply chain.

Microsoft Loop

Supporting asynchronous planning and lightweight collaboration.

Microsoft Teams

Supporting team coordination across delivery and operational work.

Slack

Cross-team communication during development and incidents.

Draw.io

Visualizing system architecture and flows.

Miro

Collaborative design and architecture workshops.

Figma

Collaborating on UI and interaction design.