const mohan = engineer + student + shipper;
cs undergrad at nyu tandon. full-stack engineer with detours into embedded firmware and 3d scenes. strong bias toward shipping, mild obsession with making things feel good.
This site is my portfolio. Instead of a marketing page, I made it look like a code editor, because that's where I actually live. Click around. Open files. Run commands. Ask the assistant.
the basics
yaml
location: new york, ny
school: nyu tandon, class of 2027
focus: full-stack, distributed systems, embedded
shipping: flareo v1.2 (cloudflare workers + postgres)
learning: rust on weekends
status: open to summer 2026 internships
what's this thing built with
The whole site is one React component. No router. No state library. Tailwind for utility classes, plain CSS for animations, custom SVGs everywhere.
›React + Tailwind drive the UI
›Lucide for icons, Geist and Geist Mono for type
›Custom SVG penguin wanders the left panel. Handwritten state machine. Click him. Drag him.
›The chat assistant runs in mock mode today, with a clean swap path to a real LLM via Vercel serverless route. Everything else is fully client-side.
what you can actually do here
This isn't a static page. Most of the IDE works:
›Browse the file tree on the left. Real markdown, real code blocks, real content. The projects/ folder is where the engineering writeups live.
›Use the side panels. The activity bar swaps the left panel between file tree, content search, recent commits, my stack as a list of installed extensions, achievements, timeline, and contact.
›Talk to the assistant on the right. It actually answers. Try asking "why hire her?" or "tell me about flareo". Type / for slash commands.
›Open the terminal at the bottom. ls, cat, whoami, whois all work. The bottom panel also has OUTPUT (live activity log) and PORTS (every place you can find me online).
try the terminal
bash
$ whoami
mohan lu, undergrad @ nyu tandon, full-stack engineer
$ ls projects
flareo.md
particle-canvas.md
arduino-rover.md
$ cat projects/flareo.md
# opens the file in the editor
$ help
# shows the full command list
The terminal remembers command history (up/down arrows). help lists everything available.
quick links
If you'd rather skip the tour:
›bio: about/bio.sh
›resume: about/resume.pdf
›best project: projects/flareo.md
›all my links: open the PORTS tab in the bottom panel
›email me: the mail icon in the activity bar (fastest way)
Thanks for stopping by. If you build something cool, I'd love to hear about it.