NOW PLAYING

Kajal
Jotwani

Kajal Jotwani — portraithi, that's me ↑

I build backends, break systems (on purpose), and sometimes make code sing.

Final-year CS undergrad into backend engineering, systems, and how intelligent things work under the hood. On the side, I turn algorithms into art and keystrokes into music.

Read the workBook a chat

about

I'm a final-year Computer Science undergrad who likes the unglamorous parts of software: the backends, the protocols, the systems that quietly hold everything up. Currently diving into AI and MCP — understanding how modern intelligent systems are actually built genuinely fascinates me.

I contribute to open source because it's the best classroom I've found. And when I'm not shipping, I'm usually making generative art or live-coding music — the same loops and functions, just pointed at beauty instead of throughput.

CURRENTLY

  • ▸ exploring AI systems & MCP
  • ▸ Learning about Causal AI
  • ▸ contributing to open source
  • ▸ writing about what I learn

OFF THE CLOCK

  • ♡ if I'm not coding, I'm probably running or at the gym
  • ♡ fueled by coffee, curiosity, and dreams bigger than my comfort zone
PythonTypeScriptC++Node.jsThree.jsBlenderShadersSQLGitLinuxPythonTypeScriptC++Node.jsThree.jsBlenderShadersSQLGitLinux

the journey

step by step, curiosity did the steering — tap a step for the full story.

…and the next chapter is loading ✦

selected work

turn ♪ on, then hover a waveform — every project has its own beat.

SentinelForge

01

A privacy-first AI developer platform.

Ask questions about your documents and code and get answers with citations you can click through to the exact page or line. Give it a coding task and get a plan, the evidence, a unified diff, and real test output from a disposable copy of your repo — nothing is written until you press Approve.

LINER NOTES — WHAT I DID

Designed and built the whole platform in strictly-typed Python: local-first retrieval with on-device embeddings and a SQLite index, patch generation run in a sandbox, 12 MCP tools, Ollama support for fully offline use, and a 1,000+ test suite — all of it running in 512MB.

PythonFastAPIMCPRAG

CodeMind

02

The repo that remembers.

A persistent memory graph for a codebase — it stores why the code is the way it is, watches new commits, and when someone unknowingly contradicts an established decision it forces a reconciliation: confirm the change is intentional, or catch the regression before it ships.

LINER NOTES — WHAT I DID

Built on Cognee Cloud for the WeMakeDevs hackathon — commit watching, contradiction detection against the memory graph, and the reconciliation flow where the memory itself can be wrong, get challenged, and correct itself, the way a real teammate's understanding would.

PythonKnowledge GraphsCogneeAI

GoGitViz

03

Your true contribution graph, in the terminal.

GitHub's graph only counts what you push to GitHub. GoGitViz scans every local repository on your machine — private, offline, GitLab, all of it — and renders a colored GitHub-style heatmap of your real commit history, right in the terminal.

LINER NOTES — WHAT I DID

Written in Go: filesystem-wide repo discovery, commit indexing by author email, and a configurable six-month heatmap drawn with terminal colors. Built because my actual coding activity deserved a truthful picture.

GoCLIGit

WE4US

04

Community platform for the Women Engineers program.

An alumni-portal-cum-community-page for the Google × TalentSprint WE community — the program I was a scholar in — built around Lemmy with a React frontend and Phoenix services.

LINER NOTES — WHAT I DID

Contributor on the platform my own cohort uses: merged pull requests across the React/TypeScript frontend and the Lemmy integration — features, fixes, and plumbing.

ReactTypeScriptLemmyPhoenix

This website

05

A portfolio disguised as an instrument.

The page you're on. A professional portfolio with a secret: the scroll bar is a playhead, the background is generative art, and the keyboard makes music when you let it.

LINER NOTES — WHAT I DID

Designed and built with Next.js and a hand-rolled WebAudio engine — no audio libraries. The background is a generative flow field, keystrokes play an FM e-piano, every project card gets a drum groove seeded by its own name, and blog posts settle Chladni sand figures. All copy lives in one JSON file; the score is live-codeable at /play.

Next.jsWebAudioCanvasTypeScript

open source

the orgs I've shipped code into — every card links to the receipts.

field notes

I document what I learn — the wins, the walls, the weird bugs.

say hi

ask me anything

Anonymous. No login, no trace — ask about GSoC, code, careers, or the meaning of semicolons.

let's build something together

open to opportunities, collaborations, and good conversations — book a slot on my calendar or drop me a line.

FIND ME ON