Bhavya Malhotra - Student Developer

bhavya@portfolio:~

$ whoami

name: Bhavya Malhotra

role: Student Developer

exploring: Python · web development · systems

education: Senior Secondary Student

currently_building: Riven · WebTransport

currently working on

WebTransport for Riven

scroll ↓
who is this guy

Student developer, learning by building.

I'm Bhavya, a student developer who learns by building things and exploring how software works.

I've made web apps, desktop software, Python tools, and bots. Right now, I'm working on Riven and exploring what I want to build next.

5 projects shipped
2 certifications
17 years old
∞ things left to learn
what i work with

Skills & Learning

I'm exploring different areas of software, with growing interests in systems, network protocols, and low-level programming.

⚡

Backend Development

FastAPI Pydantic PyMongo MongoDB Atlas PyJWT JWT Auth Cookie Handling Discord.py SQLite
🖥️

Frontend & Desktop

JavaScript (basics) HTML / CSS PyWebView yt-dlp Multithreading PyInstaller (learning)
🌐

Systems & Protocols

Network Protocols Internet Communication HTTP/3 & QUIC Low-level Programming
💻

Languages

Python JavaScript C (learning)
comfortable actively learning
things i've actually built

Projects

Real projects with real backend logic. UIs were AI-assisted - the systems behind them weren't.

swipe to explore01 / 05
Open Source Ecosystem

Rivora Ecosystem

An ecosystem for building modern Python web servers and frameworks around a shared application contract.

RCP v2 is now released, with support for applications using HTTP/3 and WebTransport. Riven is the first server implementation in the Rivora ecosystem and currently supports HTTP/3 over QUIC. I'm working on adding WebTransport support to Riven.

released: RCP v2 - the shared application contract now supports HTTP/3 and WebTransport.
Riven status: Supports HTTP/3 over QUIC. I'm working on adding WebTransport support.
Python RCP Riven HTTP/3 QUIC WebTransport asyncio aioquic
PyPI Package

NetraX

An asynchronous Python wrapper for Nmap with typed models, structured exceptions, and built-in scan profiles.

Built to make Nmap easier to integrate into modern Python applications. Instead of dealing with subprocess management, XML parsing, and raw command output, NetraX provides an async API that returns structured dataclass models. It includes built-in scan profiles, configurable timeouts, permission checks, automatic Nmap validation, JSON/dictionary export, and detailed exception handling while remaining dependency-free.

what i learned: Async subprocess management, XML parsing, package architecture, dataclass modelling, exception design, PyPI publishing, semantic versioning, and project documentation
Python asyncio Nmap XML Dataclasses PyPI
Desktop App

RaagaX

A music player for Windows and Linux that streams directly from YouTube - no middle server.

UI and PyInstaller spec file were AI-assisted, but everything else is mine - FastAPI backend embedded in the app, yt-dlp for direct stream URLs (no buffering through a server), PyWebView for the native window. Multithreading to keep the UI from freezing on big playlists. Handles frozen vs non-frozen state paths, Linux dependency scripts, and Discord rich presence. Ships as a zip with a single exe.

what i learned: PyInstaller frozen paths, Linux build scripts, yt-dlp stream URL extraction, multithreading for audio, Discord IPC for rich presence
FastAPI PyWebView yt-dlp Multithreading PyInstaller Python
Web App

Fukray — Discord Community Backend

The backend powering a community website for a Discord server.

The UI was AI-generated, but the backend is entirely mine - FastAPI with MongoDB Atlas, proper JWT auth with short-lived tokens (security over convenience), cookie handling, login and access management. Includes a quotes system where users can add and delete quotes using BSON ObjectID lookups and proper JSON/BSON type conversion. Security was the focus throughout.

what i learned: JWT expiry and refresh logic, BSON/JSON type handling, PyMongo aggregations, cookie security flags, FastAPI dependency injection
FastAPI PyMongo MongoDB Atlas PyJWT Python
Discord Bot

VoiceForge

Temporary voice channels that create and delete themselves - no manual cleanup needed.

Started as a single-server bot, grew into a proper multi-server architecture with a control panel. The hard part wasn't making channels - it was carefully handling Discord API rate limiting so the bot doesn't get banned. Users create a voice channel, everyone joins, it disappears when empty. Clean, no clutter.

what i learned: Rate limiting strategies, multi-guild bot architecture, SQLite for persistent guild configs, Pydantic for config validation
discord.py Pydantic SQLite Python
verified learning

Certifications

🛡️
Tutedude

Cybersecurity

Foundational cybersecurity concepts - threat landscape, defensive principles, attack vectors, and security practices.

view certificate ↗
⚔️
Tutedude

Ethical Hacking

Ethical hacking methodology - reconnaissance, scanning, exploitation techniques, and responsible disclosure.

view certificate ↗
📚
In Progress

More coming soon

I'm continuing to learn and explore different areas of software. More certifications and milestones will be added as I go.

where i've been

Education

Apr 2014 – Mar 2023

Air Force School, Jammu

UKG through Class 8 - foundational years. School activities, building curiosity, figuring out what actually interests me.

Jul 2024 – Jun 2025

NIOS - Class 10 (Secondary)

National Institute of Open Schooling. Completed secondary education - the flexibility helped me spend more time actually building things.

May 2026 – Jun 2027 current

NIOS - Class 12 (Senior Secondary)

Currently in senior secondary. Alongside school, I'm building projects, exploring different areas of software, and finding out what kind of developer I want to be.

let's connect

Let's Connect

I'm a student developer building projects and learning as I go. If you have feedback, want to collaborate, or just want to talk about software, I'd be happy to hear from you.