sajjad.ai
An end-to-end, multi-lingual (English, Arabic, Urdu) AI-driven platform built from scratch.

Me
Context
A personal product to explore production AI engineering end to end: a multi-lingual assistant that can chat, reason over uploaded documents, and generate code or content — without leaning on a single model vendor.
The challenge
Most AI apps lock into one provider, leave latency and cost unmanaged, and treat retrieval as an afterthought.
I wanted a system that could switch between hosted and local models, ground answers in user documents, and serve English, Arabic, and Urdu cleanly — including right-to-left layouts.
Approach
- 01
Built a Clean Architecture .NET Core 8 backend with a provider-agnostic abstraction over OpenAI, DeepSeek, and local Ollama models.
- 02
Implemented a Retrieval-Augmented Generation pipeline: document ingestion, chunking, embeddings, and a vector database for semantic search to ground responses.
- 03
Designed a React (TypeScript) frontend with streaming responses, conversation history, and full RTL support for Arabic and Urdu.
Outcomes
A working multi-lingual platform handling real-time chat, document Q&A, and code generation.
Provider switching keeps responses resilient and cost-aware, with local Ollama as a fallback.
Serves as a reference implementation for the production AI patterns I bring to client and employer work.