Biraj

i sometimes build things from scratch to understand how they work, write blogs, play chess (1900 rapid on lichess), badminton, and read books.

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

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 as a hackathon project in 15 hours.

Model serving engine from scratch Python

a toy LLM serving engine built from scratch with batched inference and token streaming. implements auto-regressive generation loop, request queueing, and independent sequence completion. supports both streaming and non-streaming responses via FastAPI. built this to understand how systems like vLLM work internally. work in progress.

tensor visualizer JavaScript

a tool that helps you visualize multi-dimensional arrays. uses HTML canvas for rendering the image. i wrote this when i was trying to understand neural networks and tensors in pytorch.
| try it

focker: Linux containers Go

Focker is a toy container runtime written in Go. it is based on Ubuntu 22.04 rootfs. this was an attempt to understand how Docker works internally.

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.

AI search C

an AI search tool (like Perplexity) that pulls data from Google Custom Search JSON API and uses Llama 3 to generate answer with citations.

TCP server C

a single-threaded TCP server written in C with an event loop using the poll() system call, without any third-party library. the server listens on a port and echoes back received data. i've also written a simple client to test the server.

gomon: nodemon for Go files Go

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

brainfuck interpreter C

a Brainfuck interpreter in C that combines repeated instructions, like +++++ +++++ into { '+' : 10 }, speeding up execution. it can also transpile Brainfuck code to C.

web wanderer Python

a multi-threaded web crawler written in Python. uses concurrent.futures.ThreadPoolExecutor and Playwright to crawl and download web pages. it handles dynamically rendered websites, making it capable of extracting content from sites written in React, Vue, etc.

JSON parser Go

a JSON parser written in Go from scratch. prints error message with line and column number. Phil Eaton's blog post helped me write the lexer and parser. it was fun.

texterm C

a minimal, nano-like text editor written in C from scratch. i followed Build Your Own Text Editor article. learnt a lot about C and linux terminals during this.

findREp Python

a GUI tool written with Tkinter in Python to find and replace all the matches of a regular expression in files and folders (recursively). i wrote this because i wasn't aware of VS Code's search functionality at the time.


blogs