Rewrite website as a Hyprland desktop

This commit is contained in:
SirBlob committed 2026-10-26 14:33:05 -04:00
1 parent 7c52779cf6
commit 3065ad6092
197 files changed
+5609 -17779

No files matched your search

+28
View File
@@ -0,0 +1,28 @@
{
"hobbies": [
{ "name": "Swimming", "icon": "proicons:person-swim", "description": "I enjoy swimming as a way to relax and stay active. It is my favorite sport." },
{ "name": "Baking", "icon": "proicons:cake", "description": "I love baking pastries and experimenting with new dessert recipes." },
{ "name": "Robotics", "icon": "proicons:robot", "description": "Building and programming robots to solve problems is fun." }
],
"games": [
{ "name": "Minecraft", "image": "/img/minecraft.png", "url": "https://minecraft.net" },
{ "name": "Pokemon TCG Online", "image": "/img/pokemontcg.png", "url": "https://www.pokemon.com/us/pokemon-tcg" },
{ "name": "Fire Watch", "image": "/img/firewatch.png", "url": "https://firewatchgame.com" },
{ "name": "Expedition 33", "image": "/img/e33.png", "url": "https://expedition33.com" },
{ "name": "Mini Motorways", "image": "/img/mini.png", "url": "https://store.steampowered.com/app/1127500/Mini_Motorways/" },
{ "name": "Risk", "image": "/img/risk.png", "url": "https://store.steampowered.com/app/1128810/RISK_Global_Domination/" },
{ "name": "Slay the Spire", "image": "/img/slay_the_spire.png", "url": "https://store.steampowered.com/app/646570/Slay_the_Spire/" },
{ "name": "Slay the Spire 2", "image": "/img/slay_the_spire_2.png", "url": "https://store.steampowered.com/app/2868840/Slay_the_Spire_2/" }
],
"shows": [
{ "name": "Silo", "rating": 10, "url": "https://www.imdb.com/title/tt14688458/" },
{ "name": "D.P. (KDrama)", "rating": 10, "url": "https://www.imdb.com/title/tt13024974/" },
{ "name": "Andor", "rating": 9, "url": "https://www.imdb.com/title/tt9253284/" },
{ "name": "Severance", "rating": 9, "url": "https://www.imdb.com/title/tt11280740/" },
{ "name": "The Mandalorian", "rating": 7, "url": "https://www.imdb.com/title/tt8111088/" }
],
"movies": [
{ "name": "Interstellar", "rating": 10, "url": "https://www.imdb.com/title/tt0816692/" },
{ "name": "How to Train Your Dragon", "rating": 10, "url": "https://www.imdb.com/title/tt1621800/" }
]
}
+5
View File
@@ -0,0 +1,5 @@
{
"name": "Finding Out",
"tagline": "My Engineering Blog",
"postsPerPage": 5
}
+28
View File
@@ -0,0 +1,28 @@
{
"defaultTheme": "flats",
"workspaces": [
{ "number": 1, "name": "home", "path": "/" },
{ "number": 2, "name": "about", "path": "/about" },
{ "number": 3, "name": "projects", "path": "/projects" },
{ "number": 4, "name": "blog", "path": "/blog" },
{ "number": 5, "name": "links", "path": "/links" },
{ "number": 6, "name": "portfolio", "path": "/portfolio" },
{ "number": 7, "name": "models", "path": "/models" }
],
"icons": [
{ "label": "about", "icon": "ph:user-circle-duotone", "open": { "page": "/about" } },
{ "label": "portfolio", "icon": "ph:briefcase-duotone", "open": { "page": "/portfolio" } },
{ "label": "projects", "icon": "ph:folder-open-duotone", "open": { "page": "/projects" } },
{ "label": "hackathons", "icon": "ph:trophy-duotone", "open": { "page": "/projects/hackathons" } },
{ "label": "blog", "icon": "ph:notebook-duotone", "open": { "page": "/blog" } },
{ "label": "models", "icon": "ph:cube-duotone", "open": { "page": "/models" } },
{ "label": "links", "icon": "ph:qr-code-duotone", "open": { "page": "/links" } },
{ "label": "kitty", "icon": "ph:terminal-window-duotone", "open": { "terminal": "" } },
{ "label": "whoami.sh", "icon": "ph:identification-card-duotone", "open": { "terminal": "whoami" } },
{ "label": "fastfetch.sh", "icon": "ph:cpu-duotone", "open": { "terminal": "fastfetch" } },
{ "label": "skills.sh", "icon": "ph:lightning-duotone", "open": { "terminal": "skills" } },
{ "label": "contact.sh", "icon": "ph:envelope-simple-duotone", "open": { "terminal": "contact" } },
{ "label": "github", "icon": "ph:github-logo-duotone", "open": { "url": "https://github.com/SirBlobby" } }
],
"startupCommand": "fastfetch"
}
+54
View File
@@ -0,0 +1,54 @@
[
{
"role": "Undergraduate Research Assistant, CREATE Lab",
"organization": "George Mason University, College of Engineering and Computing",
"period": "May 2026 – Present",
"highlights": [
"Built Astroswarm, a visual coding game that turns swarm control into a playable simulator, generating trial data at scale on which algorithms best defend a target.",
"Researching swarm robotics in Python and ROS for a research program on controlling robot fleets with one operator."
],
"tech": ["Python", "ROS", "Swarm Robotics"],
"links": [
{ "label": "Profile", "url": "https://create.autonomousrobotics.club/team/gagan-manjunatha" },
{ "label": "Astroswarm", "url": "https://astroswarm.autonomousrobotics.club/" },
{ "label": "GMU CEC News", "url": "https://cec.gmu.edu/news/2026-07/new-art-herding-robots" }
]
},
{
"role": "AI Summer Camp Instructor",
"organization": "ACCESS Academy",
"period": "Jul 2026 – Aug 2026",
"highlights": [
"Taught the robotics section of an AI camp for 60 rising 9th to 12th graders, guiding teams to build robot kits and design algorithms that autonomously navigated a maze."
],
"tech": ["Robotics", "Teaching"],
"links": [{ "label": "Program", "url": "https://accessacademy.cehd.gmu.edu/ai-summer-camp" }]
},
{
"role": "Lead Software Engineer",
"organization": "Raytheon Autonomous Vehicle Competition",
"period": "Dec 2025 – May 2026",
"highlights": [
"Beat four competing universities including Virginia Tech.",
"Led development of an autonomous system in Python and ROS2, enabling a UAV to scout and land on a moving UGV in an environment without GPS, validated against ArUco marker detection in Gazebo simulation."
],
"tech": ["Python", "ROS2", "Gazebo", "Computer Vision"],
"awards": ["1st Place Overall Winner"],
"links": [
{ "label": "GMU News", "url": "https://www.gmu.edu/news/2026-05/george-mason-students-fly-first-place-no-gps-no-grade-and-almost-no-problems" },
{ "label": "Video", "url": "https://www.youtube.com/watch?v=J9QkS8nLYy0" }
]
},
{
"role": "QA Automation Intern",
"organization": "Deltek",
"employmentType": "Internship · Hybrid",
"period": "Jun 2025 – Aug 2025",
"highlights": [
"Designed a workflow integrating AI into the QA automation pipeline for the GovWin IQ team.",
"Researched Model Context Protocol servers, publishing a public Selenium MCP package to NPM for agentic browser automation."
],
"tech": ["AI", "TypeScript", "Selenium", "MCP"],
"links": [{ "label": "NPM Package", "url": "https://www.npmjs.com/package/@sirblob/mcp-selenium" }]
}
]
+6
View File
@@ -0,0 +1,6 @@
[
{ "role": "Team Lead", "organization": "GMU RAVC/ARC Team", "url": "https://gmu.autonomousrobotics.club/" },
{ "role": "President", "organization": "GMU Minecraft Club", "url": "https://gmmc.sirblob.co/" },
{ "role": "Eagle Scout", "organization": "BSA" },
{ "role": "Volunteer", "organization": "Fairfax County CERT" }
]
+16
View File
@@ -0,0 +1,16 @@
[
{
"name": "Bake Potato",
"description": "A fun baked-potato 3D model for demos and testing.",
"file": "/models/BakePotato.glb",
"software": ["Blender"],
"polyCount": "1k tris"
},
{
"name": "Soda Can",
"description": "A realistic soda can GLB used for materials/tests.",
"file": "/models/Soda.glb",
"software": ["Blender"],
"polyCount": "800 tris"
}
]
+29
View File
@@ -0,0 +1,29 @@
{
"name": "Gagan Manjunatha",
"displayName": "Sir Blob",
"username": "sirblob",
"hostname": "engineering",
"title": "Computer Science Student",
"email": "sirblob0@gmail.com",
"avatar": "/blob_nerd.png",
"bio": "An engineer who loves making things. I build fun coding projects, compete in hackathons and robotics competitions, and enjoy games like Minecraft and Pokémon TCG Live. I'm interested in Open Source, Robotics, Embedded Systems, and AI/ML.",
"tagline": "My passion is using Computer Science with practical Engineering to enhance technology for the future.",
"education": {
"school": "George Mason University",
"degree": "Bachelor of Science, Computer Science",
"graduation": "Expected June 2028"
},
"socials": [
{ "name": "GitHub", "icon": "mdi:github", "url": "https://github.com/SirBlobby" },
{ "name": "LinkedIn", "icon": "mdi:linkedin", "url": "https://www.linkedin.com/in/gmanjunatha/" },
{ "name": "Devpost", "icon": "simple-icons:devpost", "url": "https://devpost.com/Sir_Blob_" },
{ "name": "Discord", "icon": "ic:baseline-discord", "url": "https://discord.com/users/sir_blob_" },
{ "name": "Email", "icon": "mdi:email", "url": "mailto:sirblob0@gmail.com" }
],
"skills": {
"Languages": ["Python", "TypeScript/JavaScript", "C/C++", "Java", "Go", "Rust", "SQL"],
"Frameworks": ["React/Next.js", "SvelteKit", "Node/Express", "Flask", "Tailwind CSS", "ROS2", "Gazebo"],
"Tools & Data": ["Docker", "Git", "Linux/Windows Server", "PostgreSQL", "MySQL", "SQLite", "MongoDB", "Redis"]
},
"interests": ["Open Source", "Robotics", "Embedded Systems", "Game Development", "AI/ML"]
}
+85
View File
@@ -0,0 +1,85 @@
[
{
"name": "HushMap",
"description": "Architected a real-time campus noise and occupancy monitoring system utilizing SvelteKit, FastAPI, and MongoDB to help students locate quiet study spaces.",
"image": "/hacks/hushmap.png",
"tags": ["Svelte", "YOLOv8", "FastAPI", "MongoDB"],
"featured": true,
"event": { "name": "Bitcamp 2026", "university": "University of Maryland", "location": "College Park, MD", "year": "2026" },
"awards": [{ "track": "Best UI/UX Hack", "place": "Winner" }],
"links": { "demo": "https://hushmap.study/", "devpost": "https://devpost.com/software/hushmap-193nia" }
},
{
"name": "LearningBuddy",
"description": "ESP32-S3 IoT study companion in C++ that streams audio over WebSockets with low latency for live lecture capture, with transcription and MongoDB indexing behind a searchable \"Desk Pet\" dashboard.",
"image": "/hacks/learningbuddy.png",
"tags": ["C++", "ESP32-S3", "WebSocket", "MongoDB", "IoT"],
"featured": true,
"event": { "name": "HackFax x PatriotHacks 2026", "university": "George Mason University", "location": "Fairfax, VA", "year": "2026" },
"awards": [{ "track": "Best use of MongoDB", "place": "Winner" }],
"links": { "code": "https://github.com/SirBlobby/LearningBuddy", "devpost": "https://devpost.com/software/studybuddy-bc0i3j" }
},
{
"name": "Carbin",
"description": "Encourage student participation in responsible waste management with smart bins that guide proper disposal.",
"image": "/hacks/carbin.png",
"tags": ["AI", "Azure", "CloudConvert", "Python", "React", "TypeScript", "API"],
"featured": true,
"event": { "name": "PatriotHacks 2024", "university": "George Mason University", "location": "Fairfax, VA", "year": "2024" },
"awards": [
{ "track": "Save the World", "place": "2nd Place" },
{ "track": "Microsoft X Cloudforce", "place": "2nd Place" }
],
"links": { "code": "https://github.com/SirBlobby/patriotHacks2024", "devpost": "https://devpost.com/software/carboniferous-akc4mj" }
},
{
"name": "Ethix",
"description": "A sustainability platform that helps users detect and report greenwashing, misleading environmental claims made by companies and products.",
"image": "/img/hoya26.png",
"tags": ["Svelte", "TypeScript", "Python", "Flask", "Tailwind", "Sustainability"],
"featured": true,
"event": { "name": "HoyaHax 2026", "university": "Georgetown University", "location": "Washington, D.C.", "year": "2026" },
"links": { "demo": "https://ethix.sirblob.co/", "code": "https://github.com/SirBlobby/Hoya26", "devpost": "https://devpost.com/software/ethix" }
},
{
"name": "Food Decisive",
"description": "Ever felt the indecisiveness of choosing what to eat? Don't fret! Decide your next bite with Food Decisive.",
"image": "/hacks/fooddecisive.png",
"tags": ["AI", "Llama3.1", "Svelte", "Node.js"],
"demoMayBeOffline": true,
"event": { "name": "VTHacks 12", "university": "Virginia Tech", "location": "Blacksburg, VA", "year": "2024" },
"links": { "demo": "https://fooddecisive.sirblob.co/", "code": "https://github.com/SirBlobby/VTHacks-12", "devpost": "https://devpost.com/software/food-decisive" }
},
{
"name": "PatSafe",
"description": "Bridging the gap between doctors and patients for seamless post-discharge care.",
"image": "/hacks/patsafe.png",
"tags": ["Javascript", "Next.js", "React", "TypeScript", "LangChain", "OpenAI"],
"event": { "name": "HoyaHax 2025", "university": "Georgetown University", "location": "Washington, D.C.", "year": "2025" },
"links": { "demo": "https://hoya-hax2025.vercel.app/", "code": "https://github.com/SirBlobby/HoyaHax2025", "devpost": "https://devpost.com/software/patsafe" }
},
{
"name": "Fauxcall",
"description": "This product is perfect for situations where you are walking at night and you feel unsafe from someone. Fauxcall lets users create a convincing fake phone call to deter potential attackers and provide a quick escape mechanism.",
"tags": ["MongoDB", "Next.js", "Python", "React", "Sesame", "Skeleton", "Twilio"],
"event": { "name": "HooHacks 2025", "university": "University of Virginia", "location": "Charlottesville, VA", "year": "2025" },
"links": { "code": "https://github.com/SirBlobby/HooHacks-12", "devpost": "https://devpost.com/software/fauxcall" }
},
{
"name": "Drink Happy",
"description": "drinkhappy.tech is a gamified hydration wellness app that helps users track drinks, earn points for healthy choices, and compete with friends. It's powered by Gemini AI for smart drink recognition.",
"image": "/hacks/drinkhappy.png",
"tags": ["API", "Auth0", "Gemini", "JavaScript", "MongoDB", "Next.js", "React", "Tailwind", "Vercel"],
"event": { "name": "Bitcamp 2025", "university": "University of Maryland", "location": "College Park, MD", "year": "2025" },
"links": { "demo": "https://drinkhappy.tech", "code": "https://github.com/SirBlobby/Bitcamp-2025", "devpost": "https://devpost.com/software/drink-happy" }
},
{
"name": "Roadcast",
"description": "Roadcast provides drivers with crash data and weather insights to choose safer routes home. The project combines historical crash data, weather feeds, and spatial analysis to surface hazardous areas and route-level safety recommendations.",
"image": "/hacks/roadcast.png",
"tags": ["React", "Node.js", "Python", "MongoDB", "Geospatial", "Mapbox"],
"demoMayBeOffline": true,
"event": { "name": "VTHacks 13", "university": "Virginia Tech", "location": "Blacksburg, VA", "year": "2025" },
"links": { "demo": "https://roadcast.sirblob.co/", "code": "https://github.com/SirBlobby/roadcast", "devpost": "https://devpost.com/software/roadcast" }
}
]
+36
View File
@@ -0,0 +1,36 @@
[
{
"name": "TypstDrive",
"description": "Self hosted collaborative Typst editor with a Rust backend, SvelteKit frontend, real time multi user editing via Yjs, and a public render API.",
"version": "2.2.0",
"period": "2026 – Present",
"featured": true,
"tags": ["Rust", "SvelteKit", "Yjs", "Typst", "Self-Hosted"],
"image": "/projects/typstdrive.png",
"links": { "code": "https://github.com/SirBlobby/TypstDrive" }
},
{
"name": "Typst Desktop",
"description": "Tauri desktop client for TypstDrive that keeps the same documents as local files and syncs them back with a three way merge.",
"version": "2.2.0",
"period": "2026 – Present",
"featured": true,
"tags": ["Tauri", "Rust", "Typst", "Offline Sync"],
"image": "/projects/typstdesktop.png",
"links": { "code": "https://github.com/SirBlobby/typst-desktop" }
},
{
"name": "Pkit",
"description": "CLI toolkit and utilities (Rust project), a small developer-focused CLI.",
"tags": ["Rust", "CLI"],
"image": "https://icons.veryicon.com/png/o/business/vscode-program-item-icon/rust-1.png",
"links": { "code": "https://github.com/dead-projects-inc/pkit-cli", "demo": "https://pkit.sirblob.co/" }
},
{
"name": "OBookLLM",
"description": "OBookLLM is a powerful, self-hosted, offline-capable alternative to NotebookLLM.",
"tags": ["Python", "LLM", "AI", "NotebookLLM"],
"image": "https://upload.wikimedia.org/wikipedia/commons/c/c3/Python-logo-notext.svg",
"links": { "code": "https://github.com/SirBlobby/OBookLLM" }
}
]
+21
View File
@@ -0,0 +1,21 @@
[
{
"name": "MCP Selenium",
"description": "Selenium automation utilities for MCP workflows, packaged for reuse.",
"tags": ["TypeScript", "Selenium"],
"featured": true,
"links": { "package": "https://www.npmjs.com/package/@sirblob/mcp-selenium" }
},
{
"name": "PokemonTCGAPI",
"description": "Unofficial NPM package wrapper for the PokemonTCG API.",
"tags": ["TypeScript", "Node.js"],
"links": { "package": "https://www.npmjs.com/package/@bosstop/pokemontcgapi" }
},
{
"name": "MCSS TS API",
"description": "TypeScript API for MC Server Soft services, published to NPM.",
"tags": ["TypeScript", "Node.js"],
"links": { "package": "https://www.npmjs.com/package/@mcserversoft/mcss-api" }
}
]
+14
View File
@@ -0,0 +1,14 @@
[
{
"name": "Astroswarm",
"organization": "CREATE Lab, George Mason University",
"period": "May 2026 – Present",
"description": "A visual coding game that turns swarm control into a playable simulator, generating trial data at scale on which algorithms best defend a target. Part of a research program on controlling robot fleets with one operator.",
"tags": ["Python", "ROS", "Swarm Robotics"],
"featured": true,
"links": {
"demo": "https://astroswarm.autonomousrobotics.club/",
"article": "https://cec.gmu.edu/news/2026-07/new-art-herding-robots"
}
}
]