B.Tech ECE at IIIT Kalyani (Class of 2029). I build backend services, real-time WebSocket sync, and browser-side processing with Web Workers. Currently building EnclavePDF (client-side PDF compression) and contributing to Layer5 (Sistent, blowhorn-site, Meshery) and AsyncAPI. Founder of Vibrodo, a free music app.
🕒 Availability: IST (UTC+5:30) · Usually online evenings and weekends · Open to async collaboration
🎯 Target: GSoC 2027 with Layer5/Meshery and AsyncAPI, the orgs where I already contribute. Proposed a fix for mesheryctl-axi provider detection (#73), awaiting maintainer review; next up is Go backend issues in Meshery.
|
Merged PRs 9 repos (GSSoC '26) |
Merged (Layer5) blowhorn-site #250 |
Open PRs Sistent ×2 · AsyncAPI · blowhorn-site + 1 active proposal (mesheryctl-axi) |
GSSoC '26 Rank of 47,924 · Top 1% |
Projects EnclavePDF · Vibrodo |
No backend, no account, no analytics. Load the page, switch off Wi-Fi, and it still compresses.
|
In a Web Worker: image mode (pdf.js → |
In-app outbound-request indicator ( |
|
Input buffer is transferred, not copied. One page bitmap at a time. 16 MP cap per page. Worker terminated after every job. |
Binary magic-byte sanitizer for malformed mobile-scanner headers, pdf-lib fallback, password-protected PDF support. Page ↔ worker messages share one union type, so a mismatch is a compile error. |
Measured (my own test files, one run each: examples, not benchmarks)
| File | Mode | Before | After |
|---|---|---|---|
| 37-page sample PDF | Image · Balanced | 10.1 MB | 4.9 MB (52% smaller) |
| Academic calendar | Image · Balanced | 1.5 MB | 235.7 KB (85% smaller) |
| Course syllabus (mostly text) | Lossless | 696 KB | 695.8 KB |
Image mode: 52–85% smaller on my two image-heavy test files, but pages are rasterized so text is no longer selectable.
Lossless mode: keeps text selectable, saves little on text-heavy files (696 KB → 695.8 KB).
Next: per-page text/scan detection and recompressing embedded images only.
Instagram · Source is private, architecture walkthrough on request
In the spirit of Spotify and YouTube Music, but it also plays your own files. Search the cloud, play local tracks from one queue, and listen to free focus music (lofi for study, gym and more) with no subscription. Built by a team of three across IIIT Kalyani and NIT Durgapur. In development.
|
Cloud tracks (YouTube Data API v3) and local files (FLAC, WAV, ALAC, MP3) in a single playlist. If a local copy matches a cloud result, the local file plays. |
Curated royalty-free lofi and focus playlists for study, gym and chill. Free to listen. |
|
Multiple devices play the same track in sync over WebSockets. Playback is a state machine, and each client reconciles drift against server time. |
Background audio lifecycle handling, local-file indexing, and a MongoDB-backed metadata cache to cut repeat API calls. |
|
C++ solutions to LeetCode and Codeforces problems: arrays, hashing, sliding window, DP, graphs. 415+ algorithmic problems solved across platforms, tracked on Codolio. |
|
blowhorn-ai/blowhorn-site #250 (fixes #249) Purged legacy Meshery references from the issue templates and config: Blowhorn-specific environment prompts (macOS app, Chrome extension, marketing site), Jekyll → Hugo label fix, contributor links and Slack routing. Extended to
|
|
layer5io/sistent #1659 (CNCF) Base component wrapper with polymorphic ref typing and unit tests.
|
layer5io/sistent #1660 (CNCF) Theme typography tokens, stable keys, accessible labels, tests.
|
|
|
blowhorn-ai/blowhorn-site #299 (closes #293) Removes an orphan issue template that had no front matter and pointed to a legacy repo.
|
|
meshery-extensions/mesheryctl-axi #73 (CNCF) Bug:
|
|
Both Sistent PRs implement polymorphic ref typing, unit test coverage and theme token alignment, and went through in-depth maintainer review. Also analysing issues in the Meshery ecosystem: why a second decodeURIComponent on router.query throws URIError in a Meshery UI fix (#22149).
|
Redis rate-limiting middleware, Celery worker queues, Swagger/OpenAPI docs. |
JWT/OTP auth refactor, module paths, persistence layer. |
Contributed through GSSoC '26. Other repos: ml-capsule (9 PRs) and 6 more.
|
of 47,924 participants
25,092 pts · active 13 of 13 weeks Badges: GSSoC Champion · Elite |
problems solved
127 Easy · 173 Med · 46 Hard 🔥 136-day best streak · 201 active days 🎯 Focus: DP · Trees & Graphs · Game Theory · D&C |
out of 2,500
Live sessions with industry engineers |

