My toolbox for building and solving problems.

As a developer with a passion for problem-solving, I rely on a robust set of tools and technologies. Here’s a look at the tech stack I use to develop, deploy, and manage applications, from the backend to the frontend.

Backend

  • Python, Django & DRF

    This is my core trio for backend development. I leverage Django's power and the flexibility of Django REST Framework to build scalable and secure RESTful APIs. My experience ranges from custom authentication systems with JWT to complex business logic for e-learning platforms.

  • Flask & FastAPI

    While Django is my primary framework, I'm also familiar with Flask for smaller applications and FastAPI for when high-performance, async APIs are a must.

  • Celery & Redis

    For handling asynchronous tasks and scheduling periodic jobs like accounting and notifications, Celery with Redis as the broker is my go-to solution. It's essential for creating responsive and efficient applications.

Databases

  • PostgreSQL & MariaDB

    I have strong experience with relational databases like PostgreSQL and MariaDB, from designing schemas to managing data for large-scale applications.

  • OracleDB

    I had the opportunity to work with a large business database which was implemented via OracleDB. We used the full capabilities of OracleDB, including advanced SQL features, PL/SQL programming, and procedures, packages, triggers, views, saving file bytes in the database, and more. This experience has given me insight into enterprise-level database management and optimization.

  • MongoDB

    When the situation calls for a more flexible, document-based approach, I have familiarity with NoSQL databases like MongoDB.

Frontend

  • React & Next.js

    Though my focus is on the backend, I'm comfortable working with React and Next.js. This allows me to effectively integrate with frontend teams and even lead the development of landing pages and smaller projects.

  • Vue.js & Nuxt.js

    I also have experience with the Vue.js ecosystem, including Nuxt.js, giving me the versatility to adapt to different project requirements.

DevOps & Tooling

  • Docker & Debian

    My main OS is Debian, and I use Docker for containerization, which simplifies deployment and ensures consistency across environments.

  • Git & GitHub

    Version control is essential, and I use Git along with GitHub for source code management, collaboration, and CI/CD workflows.

  • Nginx & Apache

    For web server management, I have experience configuring and optimizing both Nginx and Apache servers for various applications.

  • VS Code

    My primary development environment is Visual Studio Code, which I customize with extensions and settings to enhance productivity and streamline my workflow.

  • Postman & Termius

    For API testing and interaction, Postman is indispensable. Termius is my preferred SSH client for managing servers and remote connections.