Projects & Open Source
TruthLens: An AI-Assisted Credibility Assessment Platform
Strategic Vision: Built as a Decision Support System (DSS) that augments human judgment rather than replacing it. It delivers multi-dimensional, bilingual (Arabic & English) analysis synthesizing linguistic patterns, contextual cues, and source credibility against high-velocity misinformation.
Key Metrics & Impact
Project Overview
High-Velocity Misinformation
Misinformation spreads faster than verification can keep up. Arabic content lacks automated credibility tools, and manual fact-checking cannot scale against modern platforms.
Bilingual Decision Support
Build a Decision Support System that augments human judgment, delivering bilingual (Arabic & English) credibility analysis by synthesizing linguistic patterns, sources, and AI.
End-to-End Implementation
Led the end-to-end software engineering implementation, owning architecture design, backend services, Celery/Redis async orchestration, ChromaDB RAG, and Docker setup.
Hybrid Document Pipeline
Intelligent ingestion using pdfplumber for digital PDFs (~100x faster than OCR) and falling back to pytesseract OCR (configured for dual eng+ara) for scanned files.
Technical Highlights
⚡ 66.5% Latency Reduction
Problem: Sequential execution of independent verification tasks.
Solution: Concurrent execution via asyncio.gather.
Result: 9.70s → 3.25s.
🧠 < 5 GB VRAM Deploys
Problem: Concurrent model loading causing OOM crashes.
Solution: Dynamic lifecycle swapping via Ollama.
Result: Deployed on 6 GB consumer GPUs.
📦 59.7% Smaller Docker
Problem: Image bundled CUDA and weights inflating size to 15.40 GB.
Solution: CPU PyTorch + volume weight mounts + uv optimization.
Result: 15.40 GB → 6.20 GB.
⏱️ Near-Instant Cold Starts
Problem: Model loading introducing up to 45 seconds of delay on cold start.
Solution: Pre-warm Qwen3 on boot + OLLAMA_KEEP_ALIVE=-1.
Result: Immediate inference response.
🔍 < 5 ms Early Exit
Problem: Escalating simple inputs to full LLM reasoning is resource-heavy.
Solution: Lightweight TF-IDF + Logistic Regression pre-classification.
Result: Under 5 ms classification skips LLM when confidence is high.
🛠️ Resilient JSON Parsing
Problem: Local LLMs outputting malformed JSON schemas causing parser crashes.
Solution: 4-stage JSON recovery (brace count, regex, Phi-3 syntax fallback).
Result: Highly resilient structured reports.
🛡️ Fail-Safe HTTP Clients
Problem: External OSINT API failures causing cascading backend blocks.
Solution: Central client + circuit breakers + retry transports.
Result: Outages isolated without halting pipeline.
🧩 Chrome Extension Popup
Problem: Making assessments accessible without leaving webpage contexts.
Solution: Scraper scripts enqueuing background tasks to FastAPI.
Result: One-click credibility metrics overlay over active articles.
🧪 Automated QA Testing
Problem: Concurrency issues and response timeouts during peaks.
Solution: Pytest suites, Locust load test scripts, and execution benchmarks.
Result: 100% execution safety verified under simulated workloads.
Engineering Decisions
Watch Demo
school What I Learned Building This expand_more
- • Orchestration focus: AI systems are orchestration problems more than model problems.
- • Architecture impact: Clean boundaries and design have a greater impact than just upgrading model weights.
- • Explainability: Direct structured output and source reputation are core product requirements, not just AI features.
- • Responsiveness: Decoupling tasks asynchronously via Celery and Redis dramatically improves user experience.
- • Local deployment constraints: Managing hardware resources like VRAM is a major bottleneck not found in cloud deployments.
psychology What I'd Improve Next expand_more
- • Database Session Pooling: Refactor worker DB hooks to utilize connection pools to prevent socket exhaustion during concurrent load spike events.
- • VRAM Offloading Engines: Deploy quantized models (AWQ/GPTQ) using vLLM to scale multi-user processing safely.
- • Micro-Frontends Structure: Decouple dashboard UI into separate micro-frontends (scrapers, charts) to minimize core asset weights.
- • Mock testing integration: Expand integration tests to simulate LLM endpoints to allow faster continuous builds without GPUs.
Curious about the technologies behind these systems?
See the technologies behind these systems →OpenSSF cve-bin-tool
PhishGuard Pro
securityAI-powered phishing and scam email analysis with threat probability, indicators, and explainable guidance.
BayForge AI
architectureMCP Notebook
library booksClickbait Detector
warningFake News Detector
policyFull Stack Intern
terminalCurious about the technologies behind these systems?
Explore my Engineering Stack →