DevOps Intern

Klickit · · New Cairo, Egypt

Klickit is an Egyptian fintech that handles fee payments for schools and universities. I spent six weeks on its DevOps team, one of two interns working under a DevOps and Cloud Engineer, mostly on Spotlight, an internal ticketing platform with an Angular frontend and a .NET API, and its user-journey SDK. Nginx, Docker, Graylog, and GitHub Actions ran underneath both, all on a single Azure VM.

Six weeks:

Observability and deployment

  • Nginx reverse-proxy and TLS configuration in front of Spotlight's Angular frontend and .NET API
  • A Filebeat pipeline shipping Nginx, backend, and systemd logs into a Dockerised Graylog stack, plus the dashboards built on top of it
  • Linux administration on the Azure VM: systemd services, diagnosing memory pressure, and working through issues over SSH
  • Runbooks and a technical write-up of the system for whoever picks it up next

The user-journey SDK

  • klickit-user-journey-sdk, an Angular library published as an npm package that auto-captures navigation, clicks, form submissions, and unhandled errors from Spotlight
  • Checking exactly what the SDK collects - its idle-session tracking only reads activity timestamps, not keystrokes or field values
  • The delivery side of the pipeline: client-side batching, with retries and backoff for failed or rate-limited requests

Completed Work

Graylog observability stack

A centralised logging setup pulling Nginx, backend, and systemd logs through Filebeat into Graylog. Two real incidents came through it: a Graylog outage that took the observability tool itself offline, and a Filebeat misconfiguration that had been quietly dropping logs before they reached Graylog at all.

Built with
Graylog, Filebeat, MongoDB, Docker Compose
Contribution
Diagnosed and fixed both incidents alongside my co-intern, then wrote them up as runbooks.
Outcome
A logging pipeline the team can query and alert on, plus documentation for next time either error shows up.

Spotlight's deployment path

Nginx sits in front of Spotlight's Angular frontend and .NET API on a single Azure VM, with GitHub Actions handling the build-and-deploy workflow for each side.

Built with
Nginx, GitHub Actions, Azure, Linux
Contribution
Worked through the reverse-proxy configuration and traced a couple of deployment failures back to their root cause.
Outcome
A documented, repeatable path from a code change to a running deployment.

User-journey SDK review

klickit-user-journey-sdk auto-tracks navigation, clicks, form submissions, and errors in Spotlight, batching events client-side before sending them on to the telemetry API.

Built with
Angular, TypeScript, npm
Contribution
Read through and documented the SDK's batching, delivery, and idle-detection logic.
Outcome
A written reference for how user-behaviour data moves from a browser click to storage, plus confirmation the SDK doesn't read keystrokes or field values.

Technical Stack

Technical skills

Nginx, Docker, Linux administration, CI/CD

Observability

Graylog, Filebeat, MongoDB

Tools and platforms

Azure, GitHub Actions, MobaXterm

Ladder

  1. Getting oriented

    The first stretch covered Klickit's stack and Spotlight's architecture end to end, from the Angular frontend and .NET API down to the Azure VM they run on.

  2. Working through observability

    Filebeat, Graylog, and the logs already flowing through them were the way into real incidents, right from the start.

  3. Reading through the SDK

    The user-journey SDK's batching and delivery logic got documented alongside the observability work, since its telemetry ends up in the same pipeline.

  4. Writing it all up

    Runbooks and a full technical reference tied the internship's findings together for whoever works on the same systems next.

Problems & Handling

Graylog itself went down partway through, which meant the tool we relied on to debug problems had become the problem.

Nginx, the backend, and the Graylog stack all ran on the same VM, so a fault in one layer could take down the tool meant to diagnose it.

Worked backward through Nginx, the Graylog containers, and the VM's own memory and process state until the cause turned up.

Graylog came back up, and the incident became one of the runbooks I wrote for next time.

Filebeat was shipping to the wrong destination for a while, so logs that looked like they were reaching Graylog quietly weren't.

Traced the pipeline stage by stage - the source logs, the Filebeat config, the Graylog input - until the mismatch turned up.

A working log pipeline again, and a clearer mental model of where telemetry can silently go missing in a multi-hop system.

Summary

Programme length
6 weeks (Jun – Aug 2026)
Core stack
Nginx, Docker, Graylog, GitHub Actions
Systems covered
Spotlight's deployment pipeline and its user-journey SDK