About
Where I've worked, what I've shipped, and the tools that survived.
I'm a full stack architect at CambrianEdge.ai, where I lead the architecture of an AI-native marketing platform. B.Tech in CSE with a DevOps specialisation. Based in Delhi NCR.
The work sits between the application and the pipeline that ships it. I use AI aggressively. An agent wrote most of what runs on this domain, and I read every diff before it lands. If the model isn't responsible for the outcome the user cares about, it's decoration, and it comes out.
Most of what I learn goes out in public, the misses included. A portfolio that answers on port 22. A multiplayer live-coding jam booth built over a weekend. A SaaS I never launched. The receipts are on GitHub and X.
Work
CambrianEdge.ai
Full Stack Architect
Leading architecture and development of CambrianEdge, an AI-native marketing platform. Designing systems that hold up for enterprise clients without becoming ceremony.
Gutenberg Communications
Full Stack Developer Intern
Designed and shipped AI solutions that streamline marketing workflows and content creation for multiple clients. Built and maintained the admin dashboard for monitoring and managing the AI tool, on real-time data visualisation. Developed real-time collaboration on rich text editors, on the OpenAI Assistant API.
plutosONE
Full Stack Developer Intern
Developed a multi-channel marketing communication platform, streamlining message delivery. Built a system for monitoring pm2 applications, for stability and performance. Integrated an in-house OAuth system, improving security and shortening the login path.
Alongside the roles above I was Secretary of the Xe-Tech Club at UPES, established by Xebia, and organised XeFest. Third place at INFAthon 4.0, Informatica's nationwide coding competition. Participated in eYantra at IIT Bombay, 2021. Volunteered at Adharshila NGO as an IT teacher. There is a resume too, and the rest is on LinkedIn.
Projects
mohak.tuiAn SSH-accessible terminal portfolio in Go: Bubble Tea, Wish, and an AI chat behind a command interface. Runs in Termux on a phone, proxied out to tui.bmohak.xyz. Run: ssh bmohak.xyz
SyncUp DJA multiplayer live-coding jam booth: shared Strudel patterns, timed rounds, and an audience. Built at the Cursor buildathon.
SlipA local capture inbox. Select text, press a chord, and it becomes a markdown file you own.
CopperA local-first capture inbox for AI-assisted work. Native SDK app with a TypeScript core.
UncutAn anonymous board for college students, with a custom anonymous auth system so anonymity actually holds.
CBoardingA whiteboard and notes app with a GPT-powered rich text editor, a drawing canvas, and export.
- Archived
EchoAn anonymous social platform. Amplify the voice, drop the identity.
- Archived
WordsmithA text utility for manipulation and formatting. Web app and Docker container.
Open source
Recently pushed
- TypeScript · yesterday
bmohak.xyzPersonal site. A timeline instead of a hero section. Next.js 16, Bun, TypeScript 7.
- TypeScript · 10 days ago
slipA local capture inbox. Select text, press a chord, and it becomes a markdown file.
- TypeScript · 18 days ago
copperA local-first capture inbox for AI-assisted work. Native SDK app: TypeScript core, declarative markup UI, no JS runtime in the binary.
- TypeScript · last month
syncup-djsMultiplayer live-coding jam booth: shared Strudel patterns, timed rounds, and an AI DJ.
Sent to other people's repositories
- open
vercel-labs/native#318canvas: carry click modifiers into press Msg arms
- merged
bae-sh/tiptap-extension-resize-image#42fix: extend ImageResizeOptions to include ImageOptions
- closed
upstash/realtime#4feat: add support for both @upstash/redis and ioredis clients with unified adapter
- merged
udecode/plate#4627Add capibility to configure WS Provider in YjsPlugin
- open
DavidHDev/haiku#139feat(hooks): Create `useDevToolsDetector` hook with tests and docs
Live from the GitHub API, cached for a day. All 81 repos.
Education
I hold a B.Tech in Computer Science & Engineering with a DevOps specialisation from the University of Petroleum and Energy Studies, Dehradun (2021 – 2025), graduating with an 8.31 CGPA. Before that, XII (CBSE) at Preet Public School in Delhi in 2020, at 89%.
Stack
- Claude CodePrimary agent. Every diff still gets read before it lands.
- CursorEditor when the work wants a canvas rather than a terminal.
- CodexSecond opinion on the ones that resist the first.
- AI SDKEvery model behind one interface. SyncUp DJ talks to it through the Gateway.
- StreamdownMarkdown that survives being streamed a token at a time.
- TanStack StartRouter and Start. What the last two apps were actually built on.
- Next.jsThis site. App Router, on 16.
- ViteEverything that is not Next. Also what Electron builds through.
- React19. Server components where they earn it.
- Tailwind CSSv4. The design tokens live in one file.
- Base UIThe primitives under shadcn here, and under Slip.
- shadcn/uiComponents as source I own, not a dependency I wait on.
- Bubble TeaCharm's TUI stack: Bubbles, Lip Gloss, Wish. mohak.tui is all four.
- WishSSH as an app server. It is what makes ssh bmohak.xyz answer.
- ElectronSlip ships on it. electron-vite for the build, electron-builder for the rest.
- ZigCopper's core. build.zig, app.zon, and no JS runtime in the binary.
- BunRuntime, package manager, test runner. 3m 44s to 30s.
- TypeScriptOn 7, on the native compiler.
- GoAnything that has to be one binary on a server.
- PythonScripts, scrapers, and anything with a model on the other end.
- HonoAPIs that should not need a framework meeting.
- ElysiaWhen the API is Bun-native and the types should be end to end.
- ZodThe boundary between what I hope arrived and what did.
- TurborepoEvery one of these repos is a monorepo eventually.
- Ultraciteoxlint and oxfmt behind one preset. Zero config is the point.
- GitUnderneath everything, including the thing below.
- JujutsuGit underneath, an undo log on top. Rebases stop being an event.
- SigNozTraces, metrics and logs in one place instead of three bills.
- evlogStructured logs, wide events and structured errors behind one API. A drop-in for console.log that a platform can read.
- DockerBoring infrastructure compounds.
- KubernetesWhen the thing genuinely needs it, which is less often than people think.
- AWSWhere the long-running pieces sit.
- VercelWhere the frontends sit.
- GitHub ActionsDefault CI. Jenkins and Ansible when the estate predates it.
- PostgreSQLDefault datastore until something proves it is not.
- RedisQueues, caches, locks.