Skip to content
View nborwankar's full-sized avatar

Highlights

  • Pro

Block or report nborwankar

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
nborwankar/README.md

Nitin Borwankar

I build tools and knowledge systems where software engineering meets AI — making AI-era software trustworthy through specified, certified components, making enterprise codebases answerable without hallucination, and applying the right geometry to the structure of code. Along the way I write books about what I learn and occasionally point the same machinery at storytelling.

Author of Vector Databases (O'Reilly).


💼 Professional focus

Software security in the age of AI

When AI writes a growing share of the world's code, "trust it because someone read the source" stops scaling. Trust has to attach to the component instead, the way the IC industry attaches it to chips: datasheets with behavioral contracts, exhaustive failure taxonomies, declared side effects, certification tiers, sandboxed runtimes.

Industrial Software Assembly (early-stage, not yet public) is that program: a component catalog applying IC datasheet practices to software — datasheet generation, gap analysis, and substitutability mapping over Apache Spark's Java ecosystem — with WebAssembly as the sandboxed runtime target for certified components, and an assurance model that runs from language-level guarantees up through machine-checked proofs (Lean 4, Dafny/Z3).

Knowledge bases for enterprise code bases

Retrieval that engineers can trust: grounded answers over large private codebases, with hallucination treated as a defect, not a personality trait.

  • Vector Databases (O'Reilly) — the book on the storage layer that makes this possible

Current work: tri-modal code search — lexical, semantic, and structural signals over enterprise-scale codebases — and zero-hallucination retrieval, where answers come from retrieved evidence or not at all (not yet public).

Geometric structure of code hierarchies

Package hierarchies are trees, and trees don't embed well in flat space. I apply hierarchy-aware geometry to Apache-scale codebases (Spark and 19 other Apache projects) — measuring exactly when it wins over standard embeddings and how few dimensions you can get away with. First numbers land with the writeup — see Independent research below.

🎨 Creative

The story-shapes trifecta — Kurt Vonnegut observed that stories have shapes: emotional arcs you can graph as fortune vs. time.

  • kurt — generative storytelling from Vonnegut's 8 shapes: LLM pipeline, corpus curation, 295 curated stories
  • flatoons — semantic animation: expressive 2D characters rendered from semantic descriptions as resolution-independent SVG (118 tests)

Shapes → stories → pictures. Same engineering discipline, different muse.

🔬 Independent research

The mathematics underneath the geometry work above — hyperbolic embeddings of code structure — plus the tools I had to build to do it on a Mac:

  • mlx-manopt — Riemannian optimization on Apple Silicon: MLX-native PyManopt port, full API parity, 15 manifolds, 5 optimizers
  • mlx-hyperbolic — hyperbolic neural-net primitives (Poincaré + Lorentz) on Apple Silicon — 122× over PyManopt

An empirical finding is emerging from this work on how floating-point precision — not geometry — sets the usable dimension floor of hyperbolic embeddings. Writeup in progress; numbers land there first.

Also in the record: mechanistic interpretability of small LMs with sparse autoencoders (emotion features in Qwen3.5-2B), Matryoshka embeddings for knowledge bases, and one carefully documented negative result on ReLU attention — because those count too.

Writing: Vector Embeddings: A practical approach — in progress, first of a three-book series on embeddings and mechanistic interpretability.

🧰 Tools

A grab bag of things I built because I needed them:

  • mcpmon — "Wireshark for MCP": traffic observability for the Model Context Protocol (147 tests)
  • claudetools — safety-hook system for Claude Code: guardrails that intercept destructive agent actions before they execute
  • tandc — Terms & Conditions risk analyzer — CLI + web UI, Claude-powered, MIT
  • embedding_tools — backend-agnostic embedding ops across NumPy / MLX / PyTorch — on PyPI
  • aishell — intelligent CLI with 5-provider LLM integration and MCP support

Full project portfolio: what-hath-claude-wrought

Pinned Loading

  1. VectorDatabaseBook VectorDatabaseBook Public

    Code and content from my book Vector Databases published by OReilly

    Python 14 5

  2. LearnDataScience LearnDataScience Public

    Open Content for self-directed learning in data science

    Jupyter Notebook 3k 1.6k

  3. convaix convaix Public

    AI conversation exchange — store, search, share across ChatGPT, Claude, Gemini

    Python 1

  4. kurt kurt Public

    Generative storytelling from Vonnegut's 8 story shapes — LLM pipeline, corpus curation, fine-tuning

    Python

  5. mlx-manopt mlx-manopt Public

    MLX-native Riemannian optimization for Apple Silicon. Fast manifold optimization with PyManopt-compatible API.

    Python

  6. embedding_tools embedding_tools Public

    Backend-agnostic array operations for embedding experiments. Seamless switching between NumPy, MLX (Apple Silicon), and PyTorch (CUDA/MPS) with zero code changes.

    Python 1