Sk. Azraf SamiBackend & Applied AI Engineer

Selected projects

Ordered by what they demonstrate, not by date. Each one links to a write-up covering the problem, the constraint and what I rejected.

  • Every call reviewed, not one in ten.

    AI Sales Coaching Platform

    Every sales call transcribed, scored against a fixed rubric, and written back to Salesforce within minutes.

    • Aircall webhook drops a call recording onto a Celery queue; transcription and scoring run as separate tasks so a slow LLM call never blocks ingestion.
    • Every transcript is scored against one fixed rubric rather than a free-form prompt, so two calls a month apart are comparable.
    • FastAPI
    • Celery
    • React 19
    • LLM
    • Aircall
    • Salesforce
    2026
  • One story, every paper, one neutral summary.

    Nirpekha Barta: AI Unbiased News Aggregation

    Clusters one story across politically diverse Bangladeshi papers, scores each source's bias, publishes a neutral Bangla summary.

    • A five-stage async pipeline — collect, cluster, bias-score, summarize, publish — where each stage is a separate Celery task, so a slow scrape never blocks publishing.
    • Articles are clustered into stories before any summarisation happens; summarising first and grouping later loses the disagreement, which is the whole product.
    • Next.js 14
    • FastAPI
    • Celery
    • LangChain
    • PostgreSQL
    • Redis

    Runners-up, Infinity AI BuildFest 2026 (InfoTech), CloudCamp BD

  • There is no write path to find.

    MCP Servers Monorepo

    Self-contained MCP servers, including a database-agnostic read-only SQL server that turns plain English into guarded queries.

    • Read-only by construction — the server exposes no write path at all, so a prompt injection has nothing to reach for rather than being talked out of using it.
    • Database-agnostic, so the same guarded surface works across engines instead of one bespoke integration per database.
    • TypeScript
    • Model Context Protocol
    • Node.js
    2026
  • It checks its own answer before returning it.

    LocalLens: Conversational AI Agent

    A LangGraph multi-agent system that answers questions about places by searching, reading reviews, and fact-checking its own summary.

    • A LangGraph orchestrator runs a five-stage graph — intent, geolocation, multi-source search, review and sentiment, grounded summary — rather than one prompt doing all five badly.
    • Results stream to the client over SSE, so a multi-second graph traversal shows progress instead of a spinner.
    • Python
    • LangGraph
    • LangChain
    • FastAPI
    • Playwright
    2025
  • Nothing leaves the machine.

    RAG Docs Assistant

    Documentation Q&A that crawls docs or ingests PDF/DOCX/HTML and answers from a local LLM. No external API, nothing leaves the machine.

    • Ingests either a crawled docs site or uploaded PDF/DOCX/HTML, so the same index serves published docs and internal ones.
    • Token-aware chunking rather than fixed character splits, so a chunk boundary does not land mid-sentence and strand the context a retrieved passage needs.
    • Python
    • FastAPI
    • PostgreSQL
    • pgvector
    • Ollama
    • Docker
    2025
  • The standup writes itself, for nothing.

    Standup Bot

    Turns Bitbucket commits and Jira activity into a daily standup digest on Telegram, running on Cloudflare Workers and D1 at zero cost.

    • Pulls Bitbucket commits and PRs by polling or webhook, and Jira activity alongside, then reconciles both into one per-person digest.
    • Runs on Cloudflare Workers with a scheduled trigger; D1 holds the state needed to know what has already been reported.
    • Cloudflare Workers
    • D1 (SQLite)
    • Telegram Bot API
    • Jira API
    • Bitbucket API