Skip to content
View nazsats's full-sized avatar
🎯
Focusing
🎯
Focusing

Block or report nazsats

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
nazsats/README.md

Hi, I'm Nazrul 👋

AI Engineer & Full-Stack Developer. I build LLM applications, autonomous agents and production ML systems — and I ship them, rather than leaving them in a notebook.

Currently building AI products and contributing to the open-source AI tooling I use, from Mumbai.

🌐 nazsats.com · 📄 Resume · ✍️ Blog · 💼 LinkedIn · 𝕏 @Nazsatseh


🔍 Open source

I read the source of libraries I actually use, looking for places where the code quietly disagrees with itself. 8 bugs across 5 libraries, 3 merged.

Merged

Project What I found
langchain DeepSeek reports prompt-cache usage in a top-level field, while the inherited OpenAI parser reads only a nested one — so cache savings came back absent, with no error. Fixed in both the streaming and non-streaming paths. Merged.
qdrant-client Local mode matched points the real server rejected — four range bounds checked independently, so two values could each satisfy half a range. Merged, shipped in v1.19.0.
qdrant-client Two more local-vs-server divergences: MatchExcept treated an explicit null as a value that differs from everything, and an empty should matched nothing where the server matches everything. Merged.

Open

Project What I found
Chroma add() was the only write operation rejecting a None metadata value, even though the type, the validator and upsert() all accept it.
LlamaIndex run_async_tasks silently swallowed exceptions raised inside async tasks when show_progress=True.
LlamaIndex similarity_top_k=0 returned the entire index instead of nothing — a falsy-zero check inverting the request.
Outlines Every term was wrapped in a capturing group, renumbering the groups inside a user's pattern — so Regex(r"(a)\1") raised "cannot refer to an open group" while the named-group form worked.
LangGraph Checkpoint savers disagree on list(limit=-1): InMemorySaver returns nothing, both SQLite savers return everything.

Each filed with a reproduction, a minimal fix and regression tests that fail without it.

I write them up too — LangChain Couldn't See DeepSeek's Cache Hits and Two Values, Half a Range Each.


🚀 What I'm building

Flight Delay Intelligence — a containerised PySpark pipeline and calibrated LightGBM model over 1.6M US DOT flight records. Isotonic calibration cut expected calibration error 2.5×, and the alert threshold comes from the cost of a missed delay versus a false alarm rather than the 0.5 default. The write-up covers why weather turns out to be 7%. PySpark · LightGBM · MLflow · FastAPI · Streamlit

BloodAI — upload a blood test, get it explained in human words in under 30 seconds. Flags out-of-range markers and builds a wellness plan around your actual chemistry. There's a mobile app too. Next.js · GPT-4o Vision · Firebase

Dubai AI Broker — a multi-tenant SaaS that does a real-estate agent's admin for them. Claude with tool-calling, grounded in a real database so it can never invent a listing. FastAPI · Claude · PostgreSQL · Next.js

AI Store Builder — one sentence to a complete storefront in about twenty seconds. Model output is schema-validated data rather than code, so generated content can never be executed or injected. Next.js · NestJS · Prisma · OpenAI · Zod

AutoProfit — an AI crypto trading system that executes live trades on Bybit and scores coins from news and social sentiment with an LLM. Take-profit ladders, risk controls, paper mode. Python · FastAPI · ccxt · Next.js


🛠 Stack

Languages Python · TypeScript · SQL · Solidity

AI OpenAI (GPT-4o, Vision) · Claude · LangChain · LangGraph · RAG · agents & tool-calling · MCP · vector DBs

ML & Data PySpark · LightGBM · scikit-learn · MLflow · pandas · probability calibration · drift detection

Backend FastAPI · Flask · Node.js · NestJS · PostgreSQL · Supabase · Firebase

Frontend Next.js · React · React Native · Tailwind · Framer Motion

Web3 Solidity · Hardhat · EVM · Solana · ERC-20/721/1155


📈 Also

Founded CatCents, a GameFi and DAO platform on Monad — grew it to a 30,000+ member community and raised $50,000+ across NFT launches.

Before code, I wrote — 50+ articles and 20,000+ readers. It's why I still write up every bug I find.


📬 Open to AI engineering roles and freelance workget in touch

Pinned Loading

  1. dubai-real-estate dubai-real-estate Public

    An AI assistant that does a Dubai property agent's admin: searches your own listings in plain language, matches leads, drafts the pitch. Multi-tenant.

    Python 1

  2. blood-report-analyzer blood-report-analyzer Public

    Your lab gives you numbers. This gives you sentences. Upload a blood test as a photo or PDF and get every marker explained in plain English.

    JavaScript

  3. nazsats-site nazsats-site Public

    My site and blog at nazsats.com. Next.js 16, Supabase-auth CMS, AI draft generation, GitHub integrations and a live coding-time dashboard.

    TypeScript

  4. auto-profit auto-profit Public

    Crypto trading platform: an LLM reads the narrative, the bot sizes the risk, and a Next.js dashboard shows what it did. Paper and live modes.

    Python

  5. ai-blood-report-mobile ai-blood-report-mobile Public

    The phone version of BloodAI. Scan a report with the camera, the gallery or a PDF and get a marker-by-marker action plan. React Native, Expo.

    TypeScript

  6. copy-for-llm copy-for-llm Public

    VS Code extension that copies a snippet with its file path and line range attached, so the AI you paste into knows what it is looking at.

    TypeScript