All projects
Interview challenge

WIT — Distributed Calculator

KafkaDockerMicroservicesREST API

Take-home technical assessment completed during an interview process with WIT. Not employment.

Overview

A distributed calculator system built as a WIT interview challenge. Operations are dispatched as messages through Kafka, processed by independent microservices, and results are returned asynchronously.

Architecture

  • API Gateway — REST endpoint that accepts calculation requests and publishes to Kafka topics
  • Worker services — independent consumers per operation type (add, subtract, multiply, divide), each running in its own container
  • Kafka — message broker decoupling the API from the workers, enabling horizontal scaling of any operation independently
  • Docker Compose — full stack definition: Zookeeper, Kafka broker, API, and all workers

Why Kafka

The brief explicitly asked for async messaging. Kafka was the natural fit: durable log, consumer groups for scaling, and easy local setup via Docker. The architecture makes it trivial to add new operations without touching existing services.