Biraj

full-stack engineer, 3+ years. i like owning a product end to end: the UX users feel, the API under it, and the infra it runs on. i also write toy versions of things i want to understand, like a TCP server with event loop in C or Linux containers in Go. currently building shellular.dev, which lets you remotely use your dev environment from your phone so you ship from anywhere.

biraj.pub@gmail.com

GitHub github.com/biraj21 Twitter x.com/biraj21_ Lichess lichess.org/@/biraj21 LinkedIn linkedin.com/in/biraj21

work experience

(you can click on the role summary to see the details)

projects

Hanging Piece: AI chess coach TypeScript

an AI chess coach that explains your mistakes in plain English: why a move was bad, and what you should have played instead. Stockfish does the evaluation, Gemini 3 does the explaining. 500 signups. open sourced both frontend and backend.

TCP server in C C

a single-threaded TCP server written in C with an event loop using the poll() system call, without any third-party library. also wrote an HTTP server in C and a WebSocket server in Node.js, both with no dependencies.

texterm: nano-like text editor in C C

a terminal text editor written from scratch in C. raw mode terminal handling, custom rendering, and text manipulation without ncurses or any third-party library.

Focker: Linux containers Go

a toy container runtime written in Go to understand Docker internals. implements Linux namespace isolation (PID, mount, UTS), runs processes inside an extracted Ubuntu 22.04 root filesystem, and supports bind mounts for sharing host directories with containers.

LLM serving engine from scratch Python

a toy LLM server built from scratch with batched inference, auto-regressive generation loop for token streaming, request queueing, and independent sequence completion. supports both streaming and non-streaming responses via FastAPI. also includes Whisper for STT.

DotDB: in-browser vector database TypeScript

a lightweight vector database that runs entirely in the browser. supports cosine similarity search, persistent storage via IndexedDB, and batch operations. uses transformers.js with bge-small-en-v1.5 for generating embeddings. implements brute-force k-NN search.
| try it

NumPy from scratch in Go Go

i was implementing neural networks from scratch in Go, and as a byproduct of it, i created my own version of NumPy for tensor operations like +, -, *, /, matrix multiplication, transpose, etc. it also supports broadcasting.

Obsy: AI observability platform Next.js Node.js TypeScript

Obsy is an AI observability tool that provides insights into AI operations. it has a Node.js SDK that automatically instruments OpenAI, Pinecone and Vercel's AI SDK. the dashboard shows LLM trace, with timing and usage metrics for each stage. built this in a hackathon.

Gomon: nodemon for Go files Go

a CLI tool to run Go programs in watch mode. to watch for changes, it uses kqueue() system call on macOS and inotify on Linux. no third-party dependencies.


education & interests

self-taught. although i did go to college but i never went to collect my degree because i always wanted to be a dropout. i play chess (1900 rapid on lichess), badminton, and sometimes read books.