- Built a 2D educational exploration game with procedural island generation.
- Generated the questions by scraping the web and refining them with AI.
- Built an adaptive difficulty system using a Q-learning model.
- Added a day-night cycle, weather effects and support for keyboard, gamepad and touch controls.
- Godot Engine
- GDScript
- Web scraping
- Q-learning
- Simplex Noise
- Built a scalable food ordering platform on a Go microservices backend.
- Split the backend into independent services - auth, order, delivery and more - so each could scale on its own.
- Handled background work with RabbitMQ and API rate limits with Redis.
- Took payments through Razorpay.
- Containerized every service with Docker.
- Built the React frontend for restaurants, ordering and delivery partners.
- Go
- PostgreSQL
- Redis
- RabbitMQ
- Razorpay
- Docker
- React
- Built a cross-platform softphone that registers to a SIP PBX and places real calls - the open-source system I worked on during my internship.
- Handled the full call life cycle over SIP signalling, with WebRTC carrying the audio.
- Wrote a native Android foreground service so the client stays registered and can be woken by an incoming call.
- Stood up an Asterisk PBX in a devcontainer - pjsip, rtp and dialplan config - so the whole thing could be tested end to end without a provider.
- Stored credentials in secure storage and kept the call log in a local SQLite database.
- Flutter
- Dart
- SIP
- WebRTC
- Asterisk
- Kotlin
- Docker
- Built an Android app to send SOS alerts over Bluetooth/Wi-Fi mesh, even without internet.
- Added multi-hop relay with Nearby Connections so alerts can travel across many phones.
- Captured GPS location automatically and kept the app running in the background during emergencies.
- Saved alerts locally with Drift and synced them to the cloud with Dio when internet was available.
- Used Riverpod for clean state management and Firebase for analytics.
- Flutter
- Dart
- Nearby Connections
- Riverpod
- Firebase
- Dio
- Drift
- WebView
- Developed a secure collaborative editor with Google OAuth.
- Enabled role-based file management, sharing and privacy controls.
- Implemented real-time multi-user editing and live user tracking with Socket.IO.
- Used the Gemini API for grammar correction, content generation and translation.
- Node.js
- Express.js
- MongoDB
- Socket.IO
- Gemini AI
- Built a full-stack social app with real-time chat using Socket.IO and MongoDB.
- Added login security with bcrypt and session handling using express-session.
- Built a friends system to send, accept, and decline requests.
- Used Socket.IO rooms for instant two-way chat between users.
- Saved chat history in MongoDB and rendered pages with EJS, including editable profiles.
- Node.js
- Express
- MongoDB
- Mongoose
- Socket.IO
- EJS
- bcrypt
- express-session
- Led the development of a college event management dashboard.
- Built a fast QR-code scanner system for tracking student attendance in real-time.
More builds
- Built a native Android app that runs a whole gym offline - members, plans, payments, expenses, leads and class schedules.
- Modelled six Room tables behind a repository layer so every screen reads from one source of truth.
- Added QR check-in: the app generates a member code and scans it back with CameraX.
- Scheduled renewal reminders as SMS through WorkManager, so they fire even after a reboot.
- Set up GitHub Actions to build and publish a release APK on every tagged commit.
- Kotlin
- Jetpack Compose
- Room
- CameraX
- WorkManager
- GitHub Actions
- Implemented the MACAW media access protocol end to end - RTS, CTS, DS, DATA, ACK.
- Built the same topology twice, in ns-3 and in OMNeT++, to check the behaviour held in both simulators.
- Placed neighbour nodes around the sender and receiver to reproduce the hidden and exposed terminal problems the protocol exists to solve.
- Rendered the exchange in NetAnim to watch collisions and back-offs frame by frame.
- Built a shared dashboard for tracking placement companies, rounds, notices and resources.
- Wrote around twenty API routes over libSQL, covering companies, events, notices, resources and per-user progress.
- Rolled my own auth - hashed passwords and server sessions - instead of pulling in a library.
- Added a Llama 3.3 70B assistant on Groq that answers questions against the tracker’s own data.
- Shipped it as a shared tool - admins edit, everyone else reads.
- Next.js
- TypeScript
- Turso
- Groq
- Built an installable timetable app in plain HTML, CSS and JavaScript - no framework, no build step.
- Cached every asset in a service worker, so the whole thing keeps working with no signal.
- Onboarded each student once - section, batch, both professional electives and an open elective - then showed only their classes.
- Marked the current period live against the day’s slots, with room codes and faculty pulled from the timetable data.
- Set up a Jenkins pipeline that syntax-checks the scripts and publishes to the gh-pages branch.
- JavaScript
- PWA
- Service Worker
- Jenkins
- GitHub Pages
- Built a Telegram bot that turns a message like “ML exam May 5 at 10am 3 hours” into a real calendar event.
- Parsed the text with Llama 3.3 70B on Groq, pulling out title, start, duration and category.
- Handled edits and deletes conversationally, re-parsing the instruction against the existing event.
- Wrote events through the Google Calendar API with OAuth, colour-coding them by category.
- Packaged it to run either as a long-poll worker or on AWS Lambda.
- Python
- Groq
- Telegram Bot API
- Google Calendar API
- AWS Lambda
- Built a React Native app that records the places you actually go and lets you attach notes to each one.
- Stored every place as coordinates plus a first visit, a last visit and a running visit count.
- Kept the whole thing on-device in AsyncStorage, so it needs no account and no backend.
- Split it into two tabs - where you are now, and everywhere you have saved.
- React Native
- Expo
- TypeScript
- AsyncStorage
- Built a revision site covering networking, DBMS and SQL, operating systems and OOP.
- Wrote each subject as a typed content module, so every topic gets its own table of contents and reading progress bar.
- Added a command palette, so any topic is a couple of keystrokes away instead of a scroll.
- Bundled in a full system design guide and a preparation roadmap alongside the subject notes.
- Deployed on Vercel at vishnudocs.vercel.app.
- React
- TypeScript
- Vite
- Tailwind CSS
- Framer Motion
- Built a credit-weighted SGPA and CGPA calculator for the NMAMIT grading scheme.
- Kept it to one screen with no sign-in - enter credits and grades, get the number.
- Small enough that the whole calculator is a single React component.
- Built a noticeboard for students to pass on books, drafters and lab gear instead of binning them.
- Paged the listings through a swappable frame, with an upload flow for putting something up.
- One of my first builds - plain HTML, CSS and a small Express server, no framework anywhere.
- HTML
- CSS
- JavaScript
- Express.js
- Put every semester’s notes behind a single short link that NMAMIT students used through the year.
- Indexed Google Drive folders per subject, so material could be added without touching the site.
- Served it as a static page on GitHub Pages - no server, no cost, nothing to keep running.
- HTML
- Google Drive
- GitHub Pages