Software developer who loves turning ideas into real, working software. Go enthusiast, open-source contributor, and someone who genuinely enjoys the craft of building things.
;
}
/* ===================== About ===================== */
function About() {
const revealRef = useReveal();
return (
Hey, I'm Gajendra — a software developer from Pali, a small town in Rajasthan, India. I studied Computer Science Engineering at Chandigarh University and currently work as an SDE Intern at ZopDev.
I'm someone who fell in love with building software — not just writing code, but understanding how systems work under the hood and making them better, one piece at a time. From designing clean APIs to optimizing database queries to setting up observability — I find real satisfaction in the craft.
When I'm not coding, I'm probably contributing to open-source projects, reading about distributed systems, or capturing moments through my camera. I believe good engineering is about curiosity, consistency, and caring about the small details that add up.
Java Inhouse Summer Trainee — Chandigarh University
Mohali, Punjab, IndiaMay 2024 — June 2024 · 2 months
{traineeTech.map(t => {t})}
View details →
setOpenZopdev(false)}>
Current Role
SDE Intern at ZopDev
Backend Developer working on Go microservices, cloud infrastructure, and observability tooling. Full ownership from API design to production on-call.
Key Contributions
Shipped 20+ features and resolved 50+ bugs across Go microservices; managed 8+ releases with semantic versioning
Built MCP server and recommendation system engine for ZopNight — ZopDev's cloud cost-optimization product
Developed cloud cost-optimization engine end-to-end with 50+ compliance checks across 2 providers (AWS, Azure)
Managed on-call for 5+ services; triaged 30+ incidents with 99%+ SLA via Grafana and OpenObserve
Reduced incident detection time by 40% via Grafana alerting and centralized logging across 5+ microservices
Improved API response times by 30% by optimizing MySQL queries, adding Redis caching, and tuning indexes
Designed 50+ REST APIs (GoFr, handler-service-store), 90%+ test coverage (gomock), Swagger/OpenAPI docs
By the numbers
20+
features shipped
50+
bugs resolved
8+
releases
99%+
SLA
30%
faster APIs
90%+
test coverage
Tech Stack
{techStack.map(s => {s})}
setOpenTrainee(false)}>
Training
Java Inhouse Summer Trainee
High-level Java programming summer training at Chandigarh University, going beyond basic syntax to explore advanced concepts in JVM, concurrency, and scalable software design.
);
}
/* ===================== Project Art (GitHub OG images) ===================== */
const PROJECT_IMAGES = {
mindswap: "https://opengraph.githubassets.com/1/ShipOrBleed/mindswap",
reqflow: "https://opengraph.githubassets.com/1/ShipOrBleed/reqflow",
};
function ProjectArt({ kind }) {
const url = PROJECT_IMAGES[kind];
if (url) return ;
if (kind === "bugbuddy") return (
);
return null;
}
/* ===================== Projects ===================== */
const PROJECTS = [
{
title: "BugBuddy",
tag: "AI Platform · Coming Soon",
art: "bugbuddy",
desc: "AI-powered bug reporting platform — Chrome extension + Go backend. Report bugs in 60 seconds.",
problem: "Bug reporting is painful — it takes 10+ minutes to write a proper report with screenshots, console logs, and steps to reproduce. Non-technical users struggle even more, leading to vague bug reports that waste developer time.",
solution: "BugBuddy pairs a Chrome extension with a Go backend so anyone can file detailed, structured bug reports in under 60 seconds. AI predicts root causes automatically.",
bullets: [
"Chrome extension captures screenshots, console logs, network requests, and screen recordings in one click",
"Gemini Flash AI analyzes bug context and predicts top 3 root causes with confidence scoring",
"4 export formats (GitHub Issue, JSON, PDF, Markdown) and 4 severity levels",
"OAuth 2.0 + JWT auth, real-time WebSocket collaboration, GitHub API integration"
],
stack: ["Go", "GoFr", "MySQL", "JavaScript", "Chrome Extension", "Gemini AI", "GitHub API", "WebSocket", "Docker"],
github: "https://github.com/thzgajendra/BugBuddy",
demo: "",
},
{
title: "MindSwap",
tag: "Developer Tool · Open Source",
art: "mindswap",
desc: "Context persistence for AI coding agents — save, search, and restore conversation context across sessions.",
problem: "AI coding assistants lose all context when you start a new session. You end up re-explaining your project, preferences, and decisions every single time.",
solution: "MindSwap lets you save and search context across AI sessions. Works as an npm package and MCP server so your AI assistant remembers what matters.",
bullets: [
"Save structured context with tags and metadata from any AI coding session",
"Semantic search across saved contexts — find relevant past decisions instantly",
"Works as both an npm package and an MCP server for broad compatibility",
"Built for the ShipOrBleed workflow — fast context switching between projects"
],
stack: ["JavaScript", "MCP Server", "CLI", "npm", "Open Source"],
github: "https://github.com/ShipOrBleed/mindswap",
demo: "https://mindswap.vercel.app",
},
{
title: "reqflow",
tag: "Go Package · Open Source",
art: "reqflow",
desc: "Trace any HTTP request through your Go codebase, statically. One command shows handler → service → store.",
problem: "You join a new team, there's a bug in POST /orders. You grep for the route, cmd-click through handler → service → store, read struct tags for the DB table. You do this every time, for every repo.",
solution: "reqflow does all of that in one command. No instrumentation, no runtime — just point it at your Go code and see the complete request path with exact method names and file locations.",
bullets: [
"Static analysis — parses Go code without running it, zero instrumentation needed",
"Traces full request path: handler → service → store with exact file locations",
"Supports substring search — find all routes matching a keyword",
"Officially published Go package on pkg.go.dev"
],
stack: ["Go", "CLI", "Open Source"],
github: "https://github.com/ShipOrBleed/reqflow",
},
];
function ProjectCard({ p, onOpen }) {
return (
);
}
/* ===================== Achievements ===================== */
const ACHIEVEMENTS = [
{ g: , h: "900+ DSA Problems Solved", short: "Across LeetCode, GeeksforGeeks, and HackerRank.",
long: "Methodically worked through every major pattern — arrays, linked lists, trees, graphs, dynamic programming, greedy, segment trees, tries, union-find, concurrency. This daily practice sharpened my problem-solving under time pressure and helped me crack coding interviews with confidence.",
details: ["Platforms: LeetCode, GeeksforGeeks, HackerRank", "Patterns: DP, Graphs, Trees, Greedy, Segment Trees, Tries", "Practice: Consistent daily problem solving over 2+ years"],
links: [{ label: "LeetCode", url: "https://leetcode.com/u/thzgajendra/" }, { label: "Codolio", url: "https://codolio.com/profile/thzgajendra" }, { label: "GeeksforGeeks", url: "https://www.geeksforgeeks.org/profile/gajendra_malviya" }],
art: "problems" },
{ g: , h: "GoFr Open-Source Contributor", short: "Core modules and CLI tooling for the GoFr framework.",
long: "Active contributor to GoFr — an opinionated Go framework for accelerated microservice development used in production at ZopDev. My contributions include core framework modules and CLI tooling improvements. Working on open source taught me how senior engineers think about API design, backwards compatibility, and writing production-grade code.",
details: ["Contributions: Core modules, CLI tooling", "Framework: GoFr (Go microservice framework)", "Impact: Used in production at ZopDev daily"],
art: "github" },
{ g: , h: "LeetCode Contest #150 Global", short: "Globally ranked 150th / 30,000+ in Biweekly Contest 150.",
long: "Achieved a global rank of 150th out of 30,000+ participants in LeetCode Biweekly Contest 150. This was the result of years of consistent practice — solving problems daily, competing in weekly contests, and building deep pattern recognition under time pressure.",
details: ["Rank: #150 out of 30,000+ participants globally", "Contest: LeetCode Biweekly Contest 150", "Skills: Pattern recognition, speed coding, algorithm optimization"],
art: "leetcode" },
{ g: , h: "NPTEL National Top Performer", short: "Cloud, IoT & Edge ML course — IIT Kanpur.",
long: "Achieved national-level top performer status in the NPTEL SWAYAM 'Cloud Computing, IoT & Edge ML' course conducted by IIT Kanpur. The course covered cloud-native architectures, IoT system design, and edge ML deployment — strengthening my understanding of distributed cloud systems.",
details: ["Course: Cloud Computing, IoT & Edge ML", "Institution: IIT Kanpur via NPTEL SWAYAM", "Recognition: National-level top performer"],
links: [{ label: "View Course on NPTEL", url: "https://nptel.ac.in/courses/106104242" }],
art: "nptel" },
{ g: , h: "National Softball Championship", short: "Represented Rajasthan state at the national level.",
long: "Represented the state of Rajasthan in the National Softball Championship. Competing at the national level taught me teamwork, discipline, and performing under pressure — skills that directly translate to on-call rotations and cross-team collaboration in engineering.",
details: ["Represented: State of Rajasthan", "Level: National Championship", "Location: India", "Skills gained: Teamwork, discipline, performing under pressure"],
art: "sports" },
];
function AchievementArt({ kind }) {
if (kind === "problems") return ();
if (kind === "github") return ();
if (kind === "leetcode") return ();
if (kind === "nptel") return ();
if (kind === "sports") return ();
return null;
}
function Achievements() {
const revealRef = useReveal();
const staggerRef = useStagger(ACHIEVEMENTS.length);
const [active, setActive] = useState(null);
return (
>
)}
);
}
/* ===================== Hobbies ===================== */
const HOBBIES = [
{ icon: ,
title: "Building Things", em: "side projects", short: "Solo founder of ShipOrBleed — my GitHub org where I ship open-source developer tools.",
long: "I run ShipOrBleed, a GitHub organization where I build and maintain open-source developer tools solo. MindSwap, reqflow, and more — all shipped from here. Most weekends I'm tinkering on a new idea, and ShipOrBleed is where it all lives. I love the part where an idea becomes something you can deploy, use, and share with the world.",
stats: [{ v: "3+", l: "projects shipped" }, { v: "ShipOrBleed", l: "GitHub org" }],
links: [{ label: "ShipOrBleed on GitHub", url: "https://github.com/ShipOrBleed" }] },
{ icon: ,
title: "Photography", em: "capturing moments", short: "Love capturing the world through a lens — streets, landscapes, and everyday life.",
long: "Photography is my creative outlet. I enjoy street photography, landscapes, and finding beauty in everyday moments. It teaches me to observe details — a skill that helps in code reviews too. Check out my work on Instagram!",
hasInstaGrid: true,
links: [{ label: "Follow on Instagram", url: "https://www.instagram.com/thzseven" }] },
];
function Hobbies() {
const revealRef = useReveal();
const staggerRef = useStagger(HOBBIES.length);
const [active, setActive] = useState(null);
return (
Got an idea, a project, or just wanna vibe about tech? I'm always down for a good conversation. Drop a message — worst case, we both learn something new.