The Arsenal.

A production stack shaped around backend systems, self-hosted infrastructure, and applied AI work.

13

Docker containers

$0/mo

Cloud spend

80%

Test coverage

Core Languages

Python · TypeScript · SQL

Python for backend services, AI pipelines, and data work. TypeScript for serverless edge functions and frontends.

Backend

Django · Django REST Framework · FastAPI · SQLModel · Deno Edge Functions

Infrastructure

Docker · Docker Compose · Ubuntu Server · Cloudflare Tunnel · Cloudflare Access · Tailscale · Nginx · GitHub Actions

13-container Supabase stack on dedicated hardware. Zero exposed ports. WireGuard for admin. $0/mo cloud spend.

Data

PostgreSQL · Redis · pgvector · Qdrant

Relational, cache, and vector — all self-hosted.

AI & ML

RAG pipelines (pgvector, Qdrant) · LLM inference (OpenAI, Anthropic, Gemini) · Streaming chat · PyTorch · DINOv2 · Stable-Baselines3 · MediaPipe

Observability

GitHub Actions CI · 80% test coverage · Automated PostgreSQL backups

[No Grafana/Prometheus in production yet.]

Frontend

React · Next.js · Tailwind CSS

Running in Production

Two public FastAPI services run on UN1290 behind Cloudflare Tunnel.

ServiceURLWhat it doesRepo
Fashion APIfashion-api.obadaalsehli.comMulti-head fashion attribute inference with DINOv2 ViT-B/14 and 4 heads.
Squat Counter APIsquat-api.obadaalsehli.comMP4 upload to rep count and form metrics with MediaPipe Pose Landmarker. 50 MB upload limit.

Deployment baseline

  • GHCR images only; no source builds on the server.
  • Host ports bind to 127.0.0.1; Cloudflare Tunnel is the only public ingress.
  • Containers run with read-only root filesystem and dropped Linux capabilities.
  • Model artifacts mount read-only from /models/.../current.
  • Cloudflare WAF rate limit: 10 req/min per IP on demo hostnames.
Ask me anything