Mojtaba Ahmed

Software Engineer — Backend & AI Systems

Backend engineer specializing in AI integration and voice systems. Built production-grade Whisper fine-tuning pipelines for low-resource Arabic dialects and voice biometric authentication systems for call center clients. Strong in Node.js/NestJS and Python/FastAPI, comfortable owning systems end-to-end from architecture to deployment across fintech, telecom, and SaaS.


Work Experience

4 roles
NestJS Backend Developer
Oct 2024 – Present
Suhub · Riyadh, KSA
  • Developed the Communities Section covering posting, commenting, voting, polls, and home feed algorithm, serving 19K+ users with individual communities reaching 11K+ members.
  • Built External Jobs System aggregating 120+ daily jobs scraped from Indeed, Naukrigulf, Bayt, LinkedIn, and hospital career portals.
  • Designed multi-channel notification system with "Quiet Hours" feature.
  • Built an E2E testing framework abstraction over Puppeteer, adopted by the full frontend team.
Software Engineer (Contract)
Feb 2025 – Oct 2025
Forward Technology · Khartoum, Sudan
  • Architected a self-improving Whisper fine-tuning platform for Sudanese Arabic, where human-verified transcripts are chunked into <30s segments and pushed to Kaggle, creating a continuous accuracy loop. Onboarded 6+ clients with 11+ hours of verified audio.
  • Built a voice biometric authentication system for call center verification using speaker enrollment via vector embeddings, cosine similarity with pitch normalization, and weekly-recalibrated FAR/FRR thresholds.
  • Built call sentiment analysis for banking and telecom clients processing Sudanese Arabic customer service conversations.
  • Built an automated video translation pipeline for MTN Sudan's VOD library, processing English to Arabic content with AI transcription and subtitle generation.
Full Stack Developer
Apr 2023 – Dec 2024
Strange Logic Ltd. · Seaford, UK
  • Developed a web scraping system processing 130K+ daily records from Trace Genie with relational DB storage and API layer.
  • Built an unofficial LinkedIn API library via reverse engineering, enabling automated operations without official API credentials.
  • Built a Replicate AI gateway supporting 17+ AI models serving 200+ daily users via N8N nodes and microservices.
  • Designed and implemented automated social media campaigns utilizing AI capabilities.
React JS Developer
Jul 2022 – Jan 2023
SolusPay · Khartoum, Sudan
  • Built a web app enabling smallholder farmers in South Kordofan & Blue Nile states to trade products directly with customers.
  • Designed and implemented an analytics admin dashboard using React-Admin.

Personal Projects

3 live products

PeakTranslate.com

Live ↗ peaktranslate.com
AI video & document translation SaaS with subscription billing via Stripe

Users upload videos or documents and receive translated subtitles, AI voice-over dubbing, or translated documents. Handles the full async pipeline from media ingestion to delivery.

Architecture

Client (React + Vite) │ ├──► FastAPI Server ──► Celery Workers ──► Result │ │ │ │ ├── Auth (JWT) ├── DeepL (Translation) │ ├── Stripe Billing ├── OpenAI Whisper (Transcription) │ └── PostgreSQL ├── ElevenLabs (Voice Dubbing) │ └── DO Spaces (Storage) │ └──► Redis (Queue + Cache)

Tech Stack

ReactTypeScriptVite FastAPICeleryRedis PostgreSQLAlembicStripe DeepLElevenLabsDO Spaces

Key Decisions

  • Celery + Redis for async job processing so translation and dubbing run in background workers while the API returns a job ID immediately, avoiding HTTP timeouts on multi-minute tasks.
  • Stripe 3-tier billing with Explorer/Pro/Business plans, credit-based usage, and webhook-driven lifecycle management.
  • 15+ Alembic migrations tracking schema evolution across users, subscriptions, credits, billing events, and voice-over modes.
  • Multi-format pipeline where a single job engine handles video (SRT/VTT), audio (transcription), and documents (DOCX/XLSX) through a unified interface.
  • Auth built on JWT with Argon2 hashing, Google OAuth2, and OTP email verification via Resend.

PHOENIX Quant AI

Live ↗ stocksphoenix.tech
Stock signal intelligence terminal monitoring social media for BUY/SELL signals

Automated system that monitors Twitter/X and Reddit for stock ticker mentions, scores sentiment, generates trading signals, manages a simulated $100K paper portfolio, and produces AI-written equity analyst reports served through a real-time dashboard.

Architecture

Scheduler (every 60s) │ ├── Collectors ──► Twitter (GraphQL scraping) │ Reddit (public JSON API) │ ├── Processors ──► Aggregator (mention scoring) │ Signal Engine (BUY/SELL logic) │ Filter (market cap, volume, news) │ Paper Trader (TP/SL/time exits) │ ├── Scanners ───► Yahoo Finance losers + risk filter ├── Synthesizer ─► OpenRouter LLM analyst reports └── Notifiers ──► Telegram alerts FastAPI API Server ◄──► Next.js Dashboard │ PostgreSQL (10+ tables, 50K+ mentions)

Tech Stack

Next.js 16React 19Tailwind CSS FastAPIPythonPostgreSQL VADER SentimentOpenRouter yfinanceTelegram API

Signal Pipeline

  • Collection scrapes configured Twitter accounts and subreddits every minute, extracting $TICKER mentions with deduplication.
  • Filtering validates tickers against a 400+ term blocklist, then checks market cap (>$500M), price (>$2), and volume (>500K) via yfinance.
  • Scoring aggregates mention frequency, source diversity, and VADER sentiment using logarithmic weighting.
  • Paper Trading allocates 2% virtual capital per position, with exits on 10% TP, 5% SL, or 5-day time limit.
  • AI Reports use OpenRouter to concurrently fetch financials, news, insider trades, and relative performance, producing a full analyst report on demand.

Nihongo.page

Live ↗ nihongo.page
Japanese vocabulary learning app with spaced repetition, AI feedback, and weekly audio lessons

Personalized Japanese learning platform built around spaced repetition. Users study 10 vocabulary words per day via interactive flashcards, get AI grammar feedback on practice sentences, and receive weekly generated audio scripts tailored to their vocabulary level.

Architecture

Next.js 16 (App Router — SSR + API Routes) │ ├── Auth ──────► NextAuth v5 + Google OAuth ├── Database ──► Prisma ORM ──► PostgreSQL ├── AI ────────► OpenRouter (Qwen3) — sentence review ├── TTS ───────► Alibaba DashScope (Qwen3-TTS) └── Storage ──► DO Spaces (weekly audio files)

Tech Stack

Next.js 16TypeScriptPrisma PostgreSQLNextAuth v5 OpenRouterQwen3-TTS Tailwind CSSDO SpacesUmami

Spaced Repetition System

  • LEARNING phase repeats cards at 1m and 10m intervals, graduating to REVIEW after two correct answers.
  • REVIEW phase grows the interval by ease factor (min 1.3) with four ratings: Again (reset), Hard (×1.2), Good (×ease), Easy (×ease×1.3).
  • RELEARNING phase sends failed review cards back through short intervals before returning them to the review queue.
  • Tracks interval, easeFactor, repetitions, dueDate, and nextShowAt per user-card pair.

Weekly Audio Generation

  • 3 scripts per week: 60% current + 40% new / 80% library + 20% new / 100% reinforcement.
  • User selects genre: Story, Dialogue, News Broadcast, Travel Scene, or Action Adventure.
  • Text chunked by Japanese punctuation (max 300 chars), sent to Qwen3-TTS in parallel, concatenated, and stored on DO Spaces.

Skills

Backend
Node.js TypeScript NestJS Express Python FastAPI
Frontend
React Next.js Tailwind CSS Vite
AI / ML
Whisper Fine-tuning Vector Embeddings Cosine Similarity Speech Processing OpenAI ElevenLabs DeepL Replicate OpenRouter Claude SDK
Databases
PostgreSQL MongoDB Redis Prisma Sequelize Alembic Mongoose
Infrastructure
Docker CI/CD Digital Ocean AWS Azure Linux / Ubuntu Nginx PM2
Tools
Git / GitHub Stripe Celery Puppeteer MITMProxy n8n Telegram Bot API