I build products that ship.
AI systems, full-stack applications, developer tools, and edge-first infrastructure — from idea to production.
📦 October 2026: I consolidated all of my work from @SH20RAJ into this account — 330+ repositories with full commit history, every commit authored here as @playlikeboy. The complete archive also lives in the @sh20raj-backup org and on GitLab.
|
CampusLoop AI-native developer tooling Open-source infrastructure |
I care about:
|
| Project | What it is | Core engineering |
|---|---|---|
| CampusLoop | Verified campus social network with feeds, chat, matching, stories, communities and utilities | Next.js · Cloudflare · PostgreSQL · Drizzle · WebRTC |
| SopKit | Privacy-first collection of browser utilities running primarily on-device | Web APIs · WebAssembly · SEO · Performance |
| Debo | AI memory and retrieval system | RAG · Embeddings · Hybrid Search · Agents |
| IndexFast | Automated indexing and SEO tooling with MCP integrations | Next.js · PostgreSQL · Drizzle · MCP |
| Sanskrit | Experimental programming language with Devanagari syntax | Lexer · Parser · Interpreter · CLI |
| SopPlayer | Lightweight HTML5 media player distributed through a CDN | JavaScript · Media APIs · Library Engineering |
More things I've built
Bitotsav '26 · KishanAI · Solus · Linespedia · SnapAttend · SketchFlow · CodeSeek · Picser
| AI Systems RAG · Agents · MCP · Embeddings · LLM workflows |
Product Engineering Next.js · React · TypeScript · Node.js · APIs |
| Data & Backend PostgreSQL · MongoDB · Redis · Drizzle · Prisma |
Cloud & Edge Cloudflare Workers · Serverless · Edge Runtime · CI/CD |
| Developer Tools npm packages · CLIs · VS Code extensions · Browser APIs |
Infra & Automation WebSockets · queues · crawling · scraping · automation |
TypeScript · JavaScript · Python · Rust · React · Next.js · Node.js · PostgreSQL · Cloudflare · Docker
I enjoy entering unfamiliar codebases, understanding the system, and shipping focused fixes.
Recent contribution areas
- Google Gemini CLI — environment handling, terminal propagation, PTY / child-process behavior, and tests.
- Rocket.Chat — React state/query fixes, accessibility, type safety, and error handling.
- MoFA — testing infrastructure, report exporters, timeout helpers, and reliability work.
Good open source work is often less about the size of the diff and more about understanding the system behind it.
Upstream pull requests from @playlikeboy — 4 merged · 16 in review · 14 issues filed (updated 2026-11-10, refreshed automatically)
Merged
| Merged | Repository | Pull request | What it does |
|---|---|---|---|
| 2026-11-01 | codex-team/editor.js | #3040 fix(inline-toolbar): do not show "Convert to" when there is nothing to convert to | Inline toolbar hides the "Convert to" entry when no conversion target exists. |
| 2026-10-25 | preactjs/preact | #5331 fix(types): allow list attribute on all valid input types | Type definitions allow the list attribute on every valid input type. |
| 2026-10-22 | campusloop-space/dsaloop | #1 feat: full online compiler, CodeMirror 6 workspace, and multi-language DSA judge engine | Online compiler, CodeMirror 6 workspace and multi-language DSA judge engine. |
| 2026-10-22 | acm-bitmesra/acm-bitmesra.github.io | #3 feat: student developer platform with verified identities, rankings, … | Student developer platform with verified identities and rankings. |
In review
| Opened | Repository | Pull request | What it does |
|---|---|---|---|
| 2026-11-10 | kmesh-net/kmesh | #1989 fix(cni): print the previous result when CNI_ARGS cannot be loaded | kmesh-cni prints the previous CNI result instead of panicking with a nil dereference when CNI_ARGS cannot be parsed. |
| 2026-11-10 | kmesh-net/kmesh | #1987 fix(dns): key the refresh queue by domain to avoid duplicate loops | DNS refresh queue is keyed by domain, so repeated xDS updates for one hostname no longer start duplicate refresh loops. |
| 2026-11-05 | kmesh-net/kmesh | #1983 waypoint: compare dataplane-mode label case-insensitively like the daemon | kmeshctl waypoint compares the istio.io/dataplane-mode label case-insensitively, matching the daemon's enrollment check. |
| 2026-11-02 | codex-team/editor.js | #3041 fix(sanitizer): merge sanitize rules for the same tag instead of overwriting them | Sanitizer merges rules declared for the same tag instead of overwriting them. |
| 2026-11-02 | jaegertracing/jaeger | #10024 fix(sampling): Reject out-of-range params in file strategies | File-based remote sampling now rejects probabilistic params outside [0,1] and rate limits outside int32 at startup and on hot reload, instead of serving them to SDKs. |
| 2026-11-01 | meta/lexical | #9705 [lexical-react][lexical-playground] Feature: Draggable individual list items (draft) | |
| 2026-11-01 | kmesh-net/kmesh | #1977 utils: decide command success by exit status, not stderr | utils.Execute decides success by exit status; stderr output alone (e.g. iptables-legacy warnings) no longer counts as failure. |
| 2026-10-31 | asyncapi/website | #5880 fix: resolve edit links that 404 for bindings and specification pages | Fixes edit-page links that returned 404 for bindings and specification pages. |
| 2026-10-31 | asyncapi/studio | #1397 test(studio): add jest runner and unit tests for server-api and specification services | Adds a Jest runner and unit tests for the server-api and specification services. |
| 2026-10-25 | radix-ui/primitives | #4252 fix(Select): gate hideOthers on positioned state to avoid hiding active trigger (#4250) | |
| 2026-10-25 | radix-ui/primitives | #4251 fix(DismissableLayer): tie inside pointer capture mark to event identity (#4249) | |
| 2026-10-24 | meta/lexical | #9458 [lexical-markdown] Feature: Support ordered lists that use the ')' delimiter | |
| 2026-10-24 | campusloop-space/opportunities | #1 Add opportunity quality ratings, filters, logos and poster fallbacks (draft) | |
| 2026-10-22 | micromark/micromark | #255 fix(core-commonmark): allow ordered list with leading zeros to interrupt paragraph | |
| 2026-10-22 | pingdotgg/t3code | #23775 fix(server): suppress redundant keybindings change emission on unchanged revalidation | |
| 2026-10-22 | meta/lexical | #9447 [lexical-markdown] Bug Fix: Preserve NodeState, mode and detail of text nodes with tabs on import |
Issues reported upstream (bugs found, reproduced and documented; several carry a ready fix)
| Opened | Repository | Issue | Status | Note |
|---|---|---|---|---|
| 2026-11-10 | drizzle-team/drizzle-orm | #6667 [BUG]: drizzle-kit pull with camel casing turns FIRST_NAME into firstNAME since rc.5 | open | drizzle-kit pull camel-cased FIRST_NAME as firstNAME since rc.5. Fix with tests is ready on the fork branch fix/kit-pull-camel-screaming-snake; drizzle-orm limits PR creation to collaborators, so the branch is linked from the issue. |
| 2026-11-10 | kmesh-net/kmesh | #1991 kmeshctl secret create fails with AlreadyExists when the existing secret has no spi | open | |
| 2026-11-10 | kmesh-net/kmesh | #1990 mcp: get_mesh_namespaces misses namespaces labelled istio.io/dataplane-mode=kmesh (case mismatch with the daemon) | open | |
| 2026-11-10 | kmesh-net/kmesh | #1988 kmesh-cni: CmdAdd panics with a nil dereference when CNI_ARGS cannot be loaded | open | |
| 2026-11-10 | jaegertracing/jaeger | #10116 ES/OpenSearch SPM queries grouped by operation are capped at 10 operations per service | open | |
| 2026-11-10 | jaegertracing/jaeger | #10115 [Bug]: Elasticsearch SPM call rates are low by (lookback-1)/lookback and zero when ratePer <= step | open | |
| 2026-11-10 | jaegertracing/jaeger | #10114 [Bug]: Prometheus metrics reader sends the wrong rate window for ratePer values that are not a single unit | open | |
| 2026-11-05 | kmesh-net/kmesh | #1982 kmeshctl waypoint: dataplane-mode label compared case-sensitively, disagrees with the daemon's enrollment check | open | |
| 2026-11-02 | jaegertracing/jaeger | #10023 [Bug]: File sampling provider serves out-of-range probabilistic and ratelimiting params | open | |
| 2026-11-01 | kmesh-net/kmesh | #1980 pkg/utils: HashName maps are read by the dual-engine bpf dump while the workload processor writes them (concurrent map crash) | open | |
| 2026-11-01 | kmesh-net/kmesh | #1979 mcp: config_dump tool returns 404 when the optional mode argument is omitted | open | |
| 2026-11-01 | kmesh-net/kmesh | #1978 pkg/dns: repeated AddDomainInQueue calls for one hostname start duplicate refresh loops that never stop | open | |
| 2026-11-01 | kmesh-net/kmesh | #1976 pkg/utils: Execute reports failure whenever the command writes to stderr, even on exit 0 | open | |
| 2026-10-21 | json-schema-org/website | #2576 🐛 Bug: Headings with inline code or formatting produce truncated anchor IDs, breaking TOC and internal links | open |
| 50+ | 5,000+ | AI × OSS |
|---|---|---|
| npm packages created | participants supported by Bitotsav '26 engineering ecosystem | the intersection I keep exploring |
Contribution activity
Portfolio · GitHub · GitLab · LinkedIn · Dev.to · Peerlist · CodePen · YouTube · 21st.dev
DrivePlyr20 — Google Drive proxy video player with multiple HTML5 player integrations. The backup repository preserves the original history and includes migration work to use the backup Sopplayer CDN distribution.


