Tools & Stack
An overview of the tools and technologies I rely on when designing and building software systems.
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.