00

What KitePDF is

KitePDF is an asynchronous PDF processing platform. The public product surface is kitepdf.pro: users upload documents, spend credits, and poll for job status until a compressed or transformed file is ready to download. Under the hood it is not a single script—it is a small distributed system with a Go API gateway, queue-backed workers, object storage, and a Next.js frontend.

01

Who this series is for

Beginners get diagrams first, a plain-language glossary, and one happy-path job flow before any Terraform. Operators and backend engineers get compose matrices, queue routing, internal callback contracts, and how observability differs between LocalStack-shaped stacks and real AWS on EC2.

02

What you should already know

  • Comfort with Docker and docker compose (start/stop services, read logs).
  • HTTP basics: methods, status codes, JSON request bodies.
  • Optional: curiosity about Terraform and AWS—no Kubernetes required for the first parts.
03

How the series is organized

Each part stands alone but builds on earlier mental models. Part 2 covers architecture in depth; later parts walk deployments and scaling.

PartTopicStatus
1About this seriesYou are here
2System architecturePublished with this series launch
3Local development (infra.local)Planned
4Prod-shaped local stack (LocalStack)Planned
5Real AWS on EC2 (prod.aws)Planned
6Scaling workers and queuesPlanned
7Observability (Loki vs CloudWatch)Planned
8CI, migrations, and operationsPlanned
04

Repo map in one screen

The application repository is organized by runtime role. Use this map when you clone the repo or open a PR.

repository-layout.txtbash
repository/
├── api-gateway/ # Go API (auth, credits, jobs, callbacks)
├── frontend/ # Next.js app
├── workers/node/ # Node worker (compress via Ghostscript)
├── workers/python/ # Python worker (merge, OCR, split, …)
├── nginx/ # Reverse proxy configs
├── infra/localstack/ # Terraform → LocalStack
├── infra/aws/ # Terraform → real AWS
├── otel/ # OpenTelemetry collector (prod-localstack)
└── docker-compose.*.yml # Infra and app stacks
05

How to follow along

Clone the repository, install Node 20+, Go, Docker, and Terraform. For day-to-day development, start local infra from the repo root with npm install and npm run infra:up, then run database migrations and start the API gateway and workers as described in the README.

06

What is next

Continue to Part 2—KitePDF system architecture—for component responsibilities, the compress job lifecycle, dual databases, and a preview of deployment topologies from laptop to AWS.