Ibrahim Merkez

Ibrahim Merkez

I build web applications with React, Next.js and enterprise CMS, and I run them myself: containers, Nginx, HTTPS and a pipeline that ships every merge to main.

Based in Munich. Looking for my next role in frontend, CMS or junior DevOps work.

What happens when you open this site

This page runs on a server I set up and maintain. Here is the path a request takes, and the path a code change takes before it reaches you.

A request

  1. Your browser

    Asks for ibrahimmerkez.com over HTTPS.

  2. Nginx

    Handles the TLS certificate from Let's Encrypt, which renews itself, and decides where each request goes.

  3. React container Express container

    Pages come from the React build. Anything under /api goes to the Node.js API.

  4. MongoDB Atlas

    Stores the data. The database credentials live only on the server, never in the code.

Live check: asking the API…

A change

  1. Pull request

    Every change goes through a branch and a pull request to main.

  2. GitHub Actions

    Builds the backend and frontend Docker images, so a broken build shows up before it is merged.

  3. Merge to main

    Starts a deploy job that connects to the server over SSH with a dedicated deploy key.

  4. Hetzner server

    A deploy script rebuilds the containers and restarts the stack with Docker Compose.

Work

I moved from hotel reception into software development in 2025.

  1. Aug 2025 to now

    Frontend and CMS developer

    asioso, Munich

    • Build and maintain FirstSpirit templates for two IHK platforms (Munich and Nuremberg), tested on staging before every production release.
    • Built a committee and volunteer management module across several system layers: templates, frontend, JavaScript rendering and APIs.
    • Created more than 40 reusable Storyblok components for a Next.js and React site, covered by Vitest tests.
    • Integrated SonarCloud into existing pipelines and fixed Docker, Node and Netlify build issues.
    • Work with clients directly, and with the team through Git branches, merges and code reviews.
  2. Apr 2024 to Jun 2025

    Receptionist

    Hotel Brack, Munich

Tools I work with

From my job and my own projects.

Frontend
React, Next.js, TypeScript, JavaScript, Tailwind CSS
CMS
FirstSpirit, Storyblok
Backend
Node.js, Express, MongoDB, REST APIs
Operations
Linux, Docker, Docker Compose, Nginx, GitHub Actions, Let's Encrypt
Quality
Git with code review, Vitest, SonarCloud

What I've added since launch, and what's next

The project is live, and it isn't finished. Finished steps are marked green.

  1. Keep server logs for at most 30 days, with shortened IP addresses.
  2. Delete demo entries automatically after 24 hours.
  3. Limit how many requests one client can send to the API.
  4. Deploy only after the CI build has passed.
  5. Describe the Hetzner server in Terraform, so it can be rebuilt from code.