{"version":"https://jsonfeed.org/version/1","title":"Kanishk Sachdev - Blog","home_page_url":"https://www.kanishksachdev.com","feed_url":"https://www.kanishksachdev.com/feed?format=json","description":"Articles about software engineering, physics simulations, and building things","items":[{"id":"https://www.kanishksachdev.com/blog/homelab-architecture","url":"https://www.kanishksachdev.com/blog/homelab-architecture","title":"My Multi-Server Homelab: The Full Architecture","content_text":"A visual deep dive into my homelab setup spanning three VPSes, a Tailscale mesh, Mullvad VPN tunneling, and 30+ containers working together.","date_published":"2026-04-06T00:00:00.000Z"},{"id":"https://www.kanishksachdev.com/blog/distributed-cron","url":"https://www.kanishksachdev.com/blog/distributed-cron","title":"The Cron Job That Ran Three Times: Building Distributed Locks on Cloud Run","content_text":"When we deployed HackPSU's NestJS app to Cloud Run, every instance started firing the same cron jobs simultaneously. Hackers got triple cancellation emails and our sender reputation tanked. Here's how we fixed it with Firebase RTDB.","date_published":"2026-04-01T00:00:00.000Z"},{"id":"https://www.kanishksachdev.com/blog/wikipedia-network-graph","url":"https://www.kanishksachdev.com/blog/wikipedia-network-graph","title":"Building a Wikipedia Network Graph","content_text":"How I built a graph database of Wikipedia articles to analyze connections, discover knowledge patterns, and learn about graph algorithms.","date_published":"2025-08-10T00:00:00.000Z","image":"https://www.kanishksachdev.com/wikipedia-network-graph/philosophy.png"},{"id":"https://www.kanishksachdev.com/blog/hackpsu-webauthn","url":"https://www.kanishksachdev.com/blog/hackpsu-webauthn","title":"Adding Passkey Authentication to HackPSU: When Passwords Just Aren't Cutting It","content_text":"How we implemented WebAuthn passkey authentication for HackPSU using Next.js and Firebase, creating a seamless biometric login experience that actually works in production.","date_published":"2025-08-03T00:00:00.000Z","image":"https://www.kanishksachdev.com/projects/api.png"},{"id":"https://www.kanishksachdev.com/blog/hackpsu-easter-eggs","url":"https://www.kanishksachdev.com/blog/hackpsu-easter-eggs","title":"Hidden in Plain Sight: Easter Eggs in the HackPSU Website","content_text":"A deep dive into the interactive easter eggs we secretly embedded throughout the HackPSU Fall 2025 website – from memory games triggered by starfish to fish that chase your cursor around the screen.","date_published":"2025-07-27T00:00:00.000Z","image":"https://www.kanishksachdev.com/hackpsu-easter-eggs/Memory%20Match.png"},{"id":"https://www.kanishksachdev.com/blog/tiny-compute-engine","url":"https://www.kanishksachdev.com/blog/tiny-compute-engine","title":"How We Turned a $5 Compute Engine Into a Swiss Army Knife","content_text":"Picture this: you need a static IP for API whitelisting, but Vercel charges $20/month and Cloud Run setups are overkill. So we grabbed the cheapest GCP Compute Engine instance and crammed 6 different services into it.","date_published":"2025-07-20T00:00:00.000Z"},{"id":"https://www.kanishksachdev.com/blog/job-script","url":"https://www.kanishksachdev.com/blog/job-script","title":"The Job Search Spreadsheet That Drove Me to Automation","content_text":"Picture this: spending 2+ hours daily copy-pasting job listings into a Google Sheet, only to realize half of them are in Toronto or for the wrong graduation year. Here's how I built a Python script that does the boring stuff.","date_published":"2025-07-13T00:00:00.000Z"},{"id":"https://www.kanishksachdev.com/blog/hackpsu-inventory","url":"https://www.kanishksachdev.com/blog/hackpsu-inventory","title":"Building a Real‑Time Inventory Management System for HackPSU","content_text":"How we designed and built a comprehensive inventory tracking system for HackPSU using Next.js, React Query, and NestJS to manage thousands of items across multiple event locations.","date_published":"2025-07-06T00:00:00.000Z","image":"https://www.kanishksachdev.com/projects/inventory.png"},{"id":"https://www.kanishksachdev.com/blog/rust-maps-renderer","url":"https://www.kanishksachdev.com/blog/rust-maps-renderer","title":"Weekend Project: Building a High-Performance Maps Renderer in Rust","content_text":"What started as a 'let me try rendering OpenStreetMap data' turned into a full-blown parallel map rendering engine. Here's how I built a system that processes millions of geographic features and renders beautiful maps with airports (because I love planes).","date_published":"2025-06-29T00:00:00.000Z","image":"https://www.kanishksachdev.com/maps/nyc.png"},{"id":"https://www.kanishksachdev.com/blog/quantity-transaction-optimzation","url":"https://www.kanishksachdev.com/blog/quantity-transaction-optimzation","title":"Denormalizing Inventory Quantity for Sub-Second Reads at THON","content_text":"A deep dive into moving expensive SUM queries off the read path in Django by denormalizing inventory quantities and syncing via signals.","date_published":"2025-06-22T00:00:00.000Z","image":"https://www.kanishksachdev.com/quantity-transaction-optimization/timing.png"},{"id":"https://www.kanishksachdev.com/blog/ble-checkin","url":"https://www.kanishksachdev.com/blog/ble-checkin","title":"Building a BLE‑Powered Check‑In System with ESP32","content_text":"How I prototyped a Bluetooth Low Energy check-in system for HackPSU using ESP32, Next.js, and Firebase.","date_published":"2025-06-15T00:00:00.000Z","image":"https://www.kanishksachdev.com/projects/checkin.png"},{"id":"https://www.kanishksachdev.com/blog/hackpsu-auth","url":"https://www.kanishksachdev.com/blog/hackpsu-auth","title":"Designing a Domain-Wide Auth System for HackPSU","content_text":"How I built a robust authentication system for HackPSU that secures multiple subdomains using Next.js, Firebase, and session cookies.","date_published":"2025-06-08T00:00:00.000Z","image":"https://www.kanishksachdev.com/hackpsu-auth/login.png"},{"id":"https://www.kanishksachdev.com/blog/hackpsu-email-delivery","url":"https://www.kanishksachdev.com/blog/hackpsu-email-delivery","title":"Building a Bulk Email System for HackPSU","content_text":"How we built a scalable email delivery system for HackPSU to send thousands of personalized emails with templates, tracking, and automated workflows.","date_published":"2025-06-01T00:00:00.000Z","image":"https://www.kanishksachdev.com/hackpsu-email-delivery/flow.png"},{"id":"https://www.kanishksachdev.com/blog/hackpsu-finance","url":"https://www.kanishksachdev.com/blog/hackpsu-finance","title":"Building an Automated Finance System for HackPSU","content_text":"How I built a comprehensive reimbursement management system with automated PDF generation, email workflows, and real-time analytics for HackPSU using Next.js, NestJS, and some creative PDF manipulation.","date_published":"2025-05-25T00:00:00.000Z","image":"https://www.kanishksachdev.com/projects/finance.png"}]}