Stack & Setup
What I use.
The tools, stack, and hardware behind the systems I build at Armstrong. Updated June 2026.
Languages & Frameworks
TypeScript
Primary language for everything frontend and backend Node. Type safety catches mistakes at compile time — essential when the same data model spans API routes, UI components, and database schemas.
Python
AI and data work. FastAPI for APIs, LangChain/LangGraph for agent orchestration, Locust for load testing. The ecosystem for AI tooling is unmatched.
Next.js (App Router)
Framework for all internal web apps. Server components let me keep sensitive data server-side without a separate API layer. Used for HR-OS and KPI Tracker.
React + Vite
For apps that don't need SSR — like the Interactive Code Lab embedded in the LMS. Vite's build times are under 3 seconds, which matters when iterating fast.
Node.js
For lightweight servers and tooling. The Instructor Check-In system runs on Node with whatsapp-web.js — chosen because every instructor already has WhatsApp.
AI & Machine Learning
Google Gemini
2.0 Flash / 2.5 Flash. Primary LLM for everything: content generation, exercise grading, multimodal chat, and TTS. The Egyptian Arabic quality and native multimodal support made it the right choice over alternatives.
LangGraph
Stateful conversation graphs with conditional routing. Used in Armstrong AI to handle text, image, and voice inputs through separate processing nodes that share the same session memory. LangChain chains couldn't model this cleanly.
Qdrant
Vector database for the RAG pipeline. Managed cloud — no infra to maintain. Cosine similarity search over Gemini Embedding 001 (768-dim) vectors for course content retrieval.
FastAPI
API layer for the AI system. Async by default, Pydantic validation, auto-generated OpenAPI docs. The /docs endpoint alone saves hours of debugging time.
Data & Storage
Supabase
Managed PostgreSQL with built-in Auth and row-level security. Used for HR-OS. RLS enforces data access at the database layer — not just the API — so even a buggy route can't leak cross-tenant data.
Prisma
ORM for the KPI Tracker. Type-safe query builder catches join mistakes at compile time. The generated types flow end-to-end from database to API response without manual duplication.
PostgreSQL + pgvector
Relational store for conversation history in Armstrong AI. pgvector handles the embedding store that doesn't need Qdrant's ANN performance — simple similarity queries on small sets.
Firebase Firestore
Document store for the Interactive Code Lab. Write-heavy, user-isolated, real-time updates to the instructor dashboard. The document model fits per-user-per-exercise state perfectly.
Infrastructure & DevOps
Docker
All backend services are containerized. docker-compose bundles the app + PostgreSQL in one command. The KPI Tracker runs entirely in Docker on a VPS — one deploy.sh script handles pull, build, restart.
Vercel
Hosting for Next.js apps and static sites. Zero-config deploys, edge network, automatic preview URLs. This site runs on Vercel.
Google Cloud
Server hosting for the Check-In system. Persistent VM so the WhatsApp Web session stays alive between sessions.
Cloudflare
DNS and proxy for mostafafathy.com. Proxied CNAME to Vercel, with automatic SSL and DDoS protection. The free tier handles everything this site needs.
Firebase Hosting
CDN-backed static hosting for the Interactive Code Lab. Sub-second deploys from firebase deploy.
Tools & Editor
Claude Code
AI coding assistant for everything from architecture decisions to implementation. Used as a pair programmer that has full codebase context. This site was built with it.
VS Code
Primary editor. Extensions: Prisma, ESLint, Tailwind CSS IntelliSense, GitLens, Docker.
GitHub
Version control for all projects. Internal work lives in the Armstrong org. Personal showcase repos at
MostafaFathy1527.
Figma
Design for all UI work. The Armstrong brand system and this site's visual identity were designed in Figma before any code was written.
Postman
API testing and documentation. Used heavily during the KPI Tracker's 51-endpoint development cycle.
Notion
Project management, sprint planning, and documentation for the E-Learning team.
Hardware
Windows 11 Pro
Primary OS. WSL2 for Linux tooling when needed. PowerShell for scripting and deployment automation.