Let's connect on LinkedIn!

Built for my college

Every project here started with someone complaining in a corridor. Usually me.

visalan/college

Trackify

1.4k+ users

#1 Students have to calculate their CGPA and credits by hand

Aaron, Arbasil and Visalan shipped Trackify

Credits, electives and CGPA were spread across mark sheets and guesswork. Upload your grade PDF and see exactly where you stand.

Built with React, Node.js, pdf-parse, Express

Closed as fixed

~66k requests · students actually use it

Quick QB

500+ courses

#2 Question banks are scattered and hard to find

Visalan shipped Quick QB

Students upload and download question banks and answer keys for 500+ course codes. Search by subject code or name.

Built with MongoDB, Express, React, Node.js, Discord Webhooks

Closed as fixed

~66k requests · lots of appreciation from students

Idlee

Nearest free room

#3 Finding an empty classroom means scanning door QR codes

Visalan shipped Idlee

The portal shows a room's timetable only if you scan the QR code on its door. Idlee reads it for you, lists the nearest free rooms, and lets students report which ones are locked.

Built with React, TypeScript, Express, PostgreSQL, Cheerio

Polaris

0 users

#4 Students can't see where the college bus is

Visalan shipped Polaris

Drivers share their location from a Flutter app, and students on the transport list watch every bus move on a live map.

Built with React, TypeScript, Flutter, PostgreSQL, MapLibre, SSE

Still open, waiting for users

solid code base

Tech Society Platform

Club portal

#5 Club applications are hard to review and approve

Aaron, Roopak and Visalan shipped Tech Society Platform

Members apply through one form, and admins approve or reject them by community. Roles decide who can do what.

Built with React, TypeScript, Express, MongoDB, RBAC

Closed as fixed

Munch

6 machines

#6 Checking vending machine stock means walking to each one

Visalan shipped Munch

Every machine has its own QR sticker. Munch puts them all behind one link, sorted by floor.

Built with React, TypeScript

Closed as fixed

munch.visalan.me Private repo

JustResults

959 to 352 ms

#7 The results portal slows down on results day

Visalan shipped JustResults

The results page loads far more than it needs, so it struggles when everyone checks at once. This extension blocks the CSS, images and scripts, cutting load time from 959 ms to 352 ms.

Built with Chrome Extension, Performance, Web Requests

Closed as fixed

Projects

I build web stuff in the hopes that it makes someone's life slightly less annoying. Here are some projects

visalan/personal

Vizzible

One link

#8 Coding profiles are split across three sites

Visalan shipped Vizzible

Your GitHub, Codeforces and LeetCode activity on one page and one link, ready for your bio or resume.

Built with React, Express, MongoDB, GitHub OAuth

GitRid

13 users

#9 GitHub only deletes repos one at a time

Visalan shipped GitRid

Pick up to 50 repos and delete them or change their visibility in one go, with a confirm step before anything happens.

Built with React, TypeScript, Express, MongoDB, GitHub OAuth

Closed as fixed

~1.4k requests

Echo

Gmail + AI

#10 Job applications are hard to keep track of

Sujithra and Visalan shipped Echo

Echo reads your job emails with read-only Gmail access, pulls out the company, role and stage, and builds your timeline for you.

Built with React, Node.js, MongoDB, Gmail API, Groq API, OAuth

Extensions

Browser helpers that promise one feature and deliver three new buttons you don't need.

visalan/extensions

CodeFocus

Split-view editor

#11 Solving on Codeforces means switching to another editor

Visalan shipped CodeFocus

Adds a split-view editor to Codeforces problems, with a sample runner, one-click submit and a sketchpad for each problem.

Built with Chrome Extension, Codeforces, Monaco Editor

Closed as fixed

Audio Focus

Mute or duck

#12 Background tabs play over the one you're using

Visalan shipped Audio Focus

Mutes or lowers every background tab so the one you're using stays at full volume. Mute mode silences them, and Duck mode sets their volume with a slider.

Built with Chrome Extension, JavaScript, Tab Audio

Closed as fixed

LeetCode CMD+K

Java and C++

#13 Retyping the same snippets on every LeetCode problem

Visalan shipped LeetCode CMD+K

A keyboard-first command palette for LeetCode. Search Java and C++ snippets and insert them into the editor.

Built with Monaco Editor, LeetCode, Java, C++

Closed as fixed

NPM Packages

I occasionally throw code at NPM that approximately 7 people find useful. Here's some stuff I've made

Experience

I haven't worked anywhere officially yet, but my GitHub isn't empty. Looking for someone to fix that first part, Interested?

  1. August 2025

    Created a system to manage club signups, events, and projects with user roles and email verification.

    • React
    • Node
    • RBAC
  2. March 2025

    Migrated the entire React app to Redux for better state management and fixed state-related bugs.

    • React
    • Redux
    • State Management
  3. February 2025

    Collaborated with a senior to deliver a smooth, animated website that the US client loved.

    • React
    • Framer Motion
    • UI/UX

Education

Currently sitting through engineering classes while learning way more from side projects.

  1. 2023 — 2027

    Saveetha Engineering College
    B.Tech AIML

    Pursuing Artificial Intelligence and Machine Learning.

    • AIML
    • Data Science
  2. 2023

    KRM Matric School
    HSE (Grade 12)

    Completed Higher Secondary Education.