<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Kuldeep Pisda</title><link>https://kdpisda.in/author/kd/</link><description>Recent content on Kuldeep Pisda</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Thu, 30 Apr 2026 16:40:34 +0530</lastBuildDate><atom:link href="https://kdpisda.in/author/kd/index.xml" rel="self" type="application/rss+xml"/><item><title>April in Review: 30 Days of Daily Blogging as a Solo Founder</title><link>https://kdpisda.in/april-in-review-30-days-of-daily-blogging-as-a-solo-founder/</link><pubDate>Thu, 30 Apr 2026 16:40:34 +0530</pubDate><guid>https://kdpisda.in/april-in-review-30-days-of-daily-blogging-as-a-solo-founder/</guid><description/></item><item><title>MCP Servers for the Rest of Us: Building a Ghost Admin API Integration</title><link>https://kdpisda.in/mcp-servers-for-the-rest-of-us-building-a-ghost-admin-api-integration/</link><pubDate>Wed, 29 Apr 2026 08:32:37 +0530</pubDate><guid>https://kdpisda.in/mcp-servers-for-the-rest-of-us-building-a-ghost-admin-api-integration/</guid><description/></item><item><title>Cross-Border Income for Indian Developers: FEMA, LRS, and Entity Structuring</title><link>https://kdpisda.in/cross-border-income-for-indian-developers-fema-lrs-and-entity-structuring/</link><pubDate>Mon, 27 Apr 2026 10:52:52 +0530</pubDate><guid>https://kdpisda.in/cross-border-income-for-indian-developers-fema-lrs-and-entity-structuring/</guid><description/></item><item><title>Building django-rls: From Side Project to Conference Workshop</title><link>https://kdpisda.in/building-django-rls-from-side-project-to-conference-workshop/</link><pubDate>Fri, 10 Apr 2026 10:04:06 +0530</pubDate><guid>https://kdpisda.in/building-django-rls-from-side-project-to-conference-workshop/</guid><description/></item><item><title>DISTINCT ON, LATERAL Joins, and FILTER: PostgreSQL Patterns Every Django Dev Needs</title><link>https://kdpisda.in/distinct-on-lateral-joins-and-filter-postgresql-patterns-every-django-dev-needs/</link><pubDate>Thu, 09 Apr 2026 10:02:54 +0530</pubDate><guid>https://kdpisda.in/distinct-on-lateral-joins-and-filter-postgresql-patterns-every-django-dev-needs/</guid><description/></item><item><title>Building Production-Ready AI Voice Agents: Lessons from the Trenches</title><link>https://kdpisda.in/building-production-ready-ai-voice-agents-lessons-from-the-trenches/</link><pubDate>Thu, 02 Apr 2026 16:23:23 +0530</pubDate><guid>https://kdpisda.in/building-production-ready-ai-voice-agents-lessons-from-the-trenches/</guid><description/></item><item><title>A Pragmatic Django REST Framework Tutorial for Real World APIs</title><link>https://kdpisda.in/a-pragmatic-django-rest-framework-tutorial-for-real-world-apis/</link><pubDate>Sat, 20 Dec 2025 15:23:15 +0530</pubDate><guid>https://kdpisda.in/a-pragmatic-django-rest-framework-tutorial-for-real-world-apis/</guid><description>&lt;p&gt;So you&amp;rsquo;ve built a killer Django application. The models are tight, the admin is humming, and your server side templates are doing exactly what they should. Then, the inevitable happens.&lt;/p&gt;
&lt;p&gt;Someone asks, &amp;ldquo;Hey, can we get an API for the new mobile app?&amp;rdquo; Or maybe you&amp;rsquo;re itching to plug in a modern frontend like React or Vue. Suddenly, just serving up HTML isn&amp;rsquo;t going to cut it anymore.&lt;/p&gt;
&lt;p&gt;This is a classic crossroads for a Django developer. I&amp;rsquo;ve been there. The first time I hit this wall, I remember spending hours just trying to figure out how to wrestle my perfectly good Django models into clean, predictable JSON. I tried building the JSON responses by hand, which I now know is a nightmare I recommend everyone avoid. The whole concept of a &amp;ldquo;serializer&amp;rdquo; felt like some kind of dark art.&lt;/p&gt;</description></item><item><title>Conversational AI Use Cases: 12 Startup Ready Applications to Boost Growth</title><link>https://kdpisda.in/conversational-ai-use-cases-12-startup-ready-applications-to-boost-growth/</link><pubDate>Fri, 19 Dec 2025 15:05:22 +0530</pubDate><guid>https://kdpisda.in/conversational-ai-use-cases-12-startup-ready-applications-to-boost-growth/</guid><description>&lt;p&gt;The customer support channel in our Slack was on fire. Not in a good way. Every notification was another ticket, another question, another user blocked. Our small team was spending half its day context switching between writing production grade code and answering the same three questions about API key permissions. We knew AI was the supposed answer, but the hype felt distant. It was all about futuristic AGI, not about solving our immediate, very human problem of being overwhelmed. The real question wasn&amp;rsquo;t &amp;ldquo;what is the future of AI,&amp;rdquo; but &amp;ldquo;what can we &lt;em&gt;actually&lt;/em&gt; build with this stuff, right now, with a Django backend and a Next.js frontend?&amp;rdquo;&lt;/p&gt;</description></item><item><title>Database Backup Strategies for Resilient Data Protection</title><link>https://kdpisda.in/database-backup-strategies-for-resilient-data-protection/</link><pubDate>Thu, 18 Dec 2025 14:50:00 +0530</pubDate><guid>https://kdpisda.in/database-backup-strategies-for-resilient-data-protection/</guid><description>&lt;p&gt;I remember the night when our small team faced a data wipeout we never saw coming. A single mistyped command erased half our records and I found myself pacing the office floor, heart in my throat, asking: were our database backup strategies really up to the task? That sleepless moment taught me that having backups is one thing but trusting them is another. Let us pause and reflect: if you have ever stared at a backup error with no clue why it failed, you are in good company.&lt;/p&gt;</description></item><item><title>Ship Confidently: A No BS Guide on How to Implement Feature Flags</title><link>https://kdpisda.in/ship-confidently-a-no-bs-guide-on-how-to-implement-feature-flags/</link><pubDate>Thu, 18 Dec 2025 10:42:13 +0530</pubDate><guid>https://kdpisda.in/ship-confidently-a-no-bs-guide-on-how-to-implement-feature-flags/</guid><description>&lt;p&gt;It was 11 PM on a Tuesday. The team was buzzing, ready to ship a massive overhaul of our checkout system. We&amp;rsquo;d dotted every &amp;lsquo;i&amp;rsquo; and crossed every &amp;rsquo;t&amp;rsquo;. The code was clean, and every single test passed with flying colors. What could possibly go wrong?&lt;/p&gt;
&lt;p&gt;We hit the deploy button.&lt;/p&gt;
&lt;p&gt;Then, the alerts started. A trickle at first, then a flood. Latency was spiking. Error rates were shooting through the roof. An insidious bug, one that had slipped past all our careful staging environments, was now running wild in production. The war room assembled in an instant, fueled by stale coffee and that familiar, sinking feeling of dread.&lt;/p&gt;</description></item><item><title>My Top 12 Picks for the Best Container Orchestration Tools in 2025</title><link>https://kdpisda.in/my-top-12-picks-for-the-best-container-orchestration-tools-in-2025/</link><pubDate>Wed, 17 Dec 2025 15:37:14 +0530</pubDate><guid>https://kdpisda.in/my-top-12-picks-for-the-best-container-orchestration-tools-in-2025/</guid><description>&lt;p&gt;Our Django application sailed smoothly through development. But deploying it felt like trying to conduct a chaotic orchestra with a broken baton. Services were out of sync, scaling was a nightmare, and observability was a black hole. It was one of those moments where you realize the map is not the territory. This painful experience sent me deep into the world of container management, searching for the &lt;strong&gt;best container orchestration tools&lt;/strong&gt; that could bring harmony to our production environment. We needed a system that could not only manage containers but also handle the complex demands of our future workload, including GenAI and voice AI features.&lt;/p&gt;</description></item><item><title>Ship Confidently: A No BS Guide on How to Implement Feature Flags</title><link>https://kdpisda.in/ship-confidently-a-no-bs-guide-on-how-to-implement-feature-flags-2/</link><pubDate>Tue, 16 Dec 2025 10:45:00 +0530</pubDate><guid>https://kdpisda.in/ship-confidently-a-no-bs-guide-on-how-to-implement-feature-flags-2/</guid><description>&lt;p&gt;It was 11 PM on a Tuesday. The team was buzzing, ready to ship a massive overhaul of our checkout system. We’d dotted every ‘i’ and crossed every ‘t’. The code was clean, and every single test passed with flying colors. What could possibly go wrong?&lt;/p&gt;
&lt;p&gt;We hit the deploy button.&lt;/p&gt;
&lt;p&gt;Then, the alerts started. A trickle at first, then a flood. Latency was spiking. Error rates were shooting through the roof. An insidious bug, one that had slipped past all our careful staging environments, was now running wild in production. The war room assembled in an instant, fueled by stale coffee and that familiar, sinking feeling of dread.&lt;/p&gt;</description></item><item><title>Navigating the Labyrinth: A Practical Guide to Distributed Systems Design Patterns</title><link>https://kdpisda.in/navigating-the-labyrinth-a-practical-guide-to-distributed-systems-design-patterns/</link><pubDate>Mon, 15 Dec 2025 13:54:32 +0530</pubDate><guid>https://kdpisda.in/navigating-the-labyrinth-a-practical-guide-to-distributed-systems-design-patterns/</guid><description>&lt;p&gt;Distributed systems design patterns are the established, reusable solutions to the messy, real world problems you hit when an application grows beyond a single machine. Think of them less as abstract theory and more as &lt;strong&gt;battle tested blueprints&lt;/strong&gt; for building systems that can handle scale and chaos without falling over.&lt;/p&gt;
&lt;h2 id="when-your-monolith-starts-to-groan"&gt;When Your Monolith Starts to Groan&lt;a class="heading-anchor" href="#when-your-monolith-starts-to-groan" aria-hidden="true" tabindex="-1"&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;We have all been there. It starts with small things. An API endpoint that is a few hundred milliseconds too slow. A database table lock that freezes up a key user workflow.&lt;/p&gt;</description></item><item><title>Developer Productivity Metrics That Don't Feel Like Surveillance</title><link>https://kdpisda.in/developer-productivity-metrics-that-dont-feel-like-surveillance/</link><pubDate>Sun, 14 Dec 2025 13:40:01 +0530</pubDate><guid>https://kdpisda.in/developer-productivity-metrics-that-dont-feel-like-surveillance/</guid><description>&lt;p&gt;Ever been asked that dreaded question: &amp;ldquo;How do we know the engineering team is being productive?&amp;rdquo; It sends a chill down your spine, doesn&amp;rsquo;t it? My mind immediately jumps to nightmares of stopwatches, keystroke counters, and managers celebrating the person who wrote the most lines of code.&lt;/p&gt;
&lt;p&gt;I once worked on a project where a developer was lionized for committing thousands of lines of code in a single week. We celebrated his &amp;ldquo;output.&amp;rdquo; The problem? We spent the next two weeks debugging the bloated, overly complex mess he&amp;rsquo;d created. That experience drove home a critical lesson: measuring the wrong thing is worse than measuring nothing at all. It&amp;rsquo;s like judging a novel by its word count instead of its plot.&lt;/p&gt;</description></item><item><title>My Top 12 Application Performance Monitoring Tools for Startups in 2025</title><link>https://kdpisda.in/my-top-12-application-performance-monitoring-tools-for-startups-in-2025/</link><pubDate>Sat, 13 Dec 2025 13:10:29 +0530</pubDate><guid>https://kdpisda.in/my-top-12-application-performance-monitoring-tools-for-startups-in-2025/</guid><description>&lt;p&gt;We have all been there. It is 2 AM, a PagerDuty alert screams, and you are staring at a dashboard where latency has gone vertical. The system, once a purring engine, is now a sputtering mess. Was it a bad deploy? A rogue Celery task? A database query that decided to tour your entire dataset? This is the moment every engineer at a growing startup dreads. It is not just a bug; it is a black box. You need visibility, not just logs. I have spent countless nights in that exact darkness, and this article is the map I wish I had. It is my practical guide to choosing from the best application performance monitoring tools without getting lost in marketing speak.&lt;/p&gt;</description></item><item><title>My Top 12 Picks For The Best Secrets Management Tools In 2025</title><link>https://kdpisda.in/my-top-12-picks-for-the-best-secrets-management-tools-in-2025/</link><pubDate>Fri, 12 Dec 2025 13:10:42 +0530</pubDate><guid>https://kdpisda.in/my-top-12-picks-for-the-best-secrets-management-tools-in-2025/</guid><description>&lt;p&gt;I still remember the feeling. A late night Slack alert, a frantic search through git history, and the cold realization that a &lt;code&gt;.env&lt;/code&gt; file had been committed. We have all been there, or at least we have all heard the horror stories. Managing secrets like API keys, database credentials, and certificates feels like a solved problem until it very much is not.&lt;/p&gt;
&lt;p&gt;The leap from local development to a shared, secure, and auditable system is a huge one. It&amp;rsquo;s a journey from &amp;lsquo;I hope nobody finds this&amp;rsquo; to &amp;lsquo;I know exactly who accessed what, and when.&amp;rsquo; That one leaked API key a few years back taught me a hard lesson about the critical need for robust security, a principle that applies everywhere, even when &lt;a href="https://inabit.com/updates/blog/self-custodial-security?ref=kdpisda.in"&gt;understanding self custodial security&lt;/a&gt; for digital assets. This guide is that journey, mapped out for you.&lt;/p&gt;</description></item><item><title>10 Penetration Testing Best Practices Your Startup Can't Ignore in 2025</title><link>https://kdpisda.in/10-penetration-testing-best-practices-your-startup-cant-ignore-in-2025/</link><pubDate>Thu, 11 Dec 2025 13:15:36 +0530</pubDate><guid>https://kdpisda.in/10-penetration-testing-best-practices-your-startup-cant-ignore-in-2025/</guid><description>&lt;p&gt;I remember this one client. Their file upload feature seemed totally harmless, but it turned into a gaping backdoor for an attacker. It wasn&amp;rsquo;t some wild, zero day exploit you see in movies; it was a simple misconfiguration that just spiraled out of control. This story is surprisingly common in the startup world. You are building fast, shipping features, and security can feel like a brake pedal you really do not want to press. But what if we thought of it as a seatbelt instead?&lt;/p&gt;</description></item><item><title>10 Data Encryption Best Practices Your Startup Can't Ignore in 2025</title><link>https://kdpisda.in/10-data-encryption-best-practices-your-startup-cant-ignore-in-2025/</link><pubDate>Wed, 10 Dec 2025 13:06:44 +0530</pubDate><guid>https://kdpisda.in/10-data-encryption-best-practices-your-startup-cant-ignore-in-2025/</guid><description>&lt;p&gt;I remember a late night debugging session where a mysterious data corruption bug turned out to be a poorly implemented encryption routine. It was a painful lesson: good encryption is not just about security, it is about system reliability and building trust. We often treat encryption as a complex, arcane topic reserved for security specialists, but for a modern startup, it is as fundamental as your database choice. Getting it wrong can lead to catastrophic data breaches, regulatory fines, and a complete loss of user confidence. Getting it right means building a resilient, trustworthy product from the ground up.&lt;/p&gt;</description></item><item><title>Stop Asking "Who Can Do What?" Start Asking "What Can This Role Do?" - A Guide to Role Based Access Control Implementation</title><link>https://kdpisda.in/stop-asking-who-can-do-what-start-asking-what-can-this-role-do-a-guide-to-role-based-access-control-implementation/</link><pubDate>Tue, 09 Dec 2025 12:55:38 +0530</pubDate><guid>https://kdpisda.in/stop-asking-who-can-do-what-start-asking-what-can-this-role-do-a-guide-to-role-based-access-control-implementation/</guid><description>&lt;p&gt;Picture this: it&amp;rsquo;s a quiet Tuesday afternoon. Too quiet. A frantic Slack message pops up from a junior developer. &amp;ldquo;Uh, guys&amp;hellip; I think I might have just tried to delete the production database.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;We&amp;rsquo;ve all felt that cold sweat, right? That heart in your throat moment when a simple command goes horribly wrong.&lt;/p&gt;
&lt;p&gt;&lt;picture&gt;
 &lt;source type="image/webp" srcset="https://kdpisda.in/stop-asking-who-can-do-what-start-asking-what-can-this-role-do-a-guide-to-role-based-access-control-implementation/role-based-access-control-implementation-coding-humor_hu_4e037861694a81e5.webp 400w, https://kdpisda.in/stop-asking-who-can-do-what-start-asking-what-can-this-role-do-a-guide-to-role-based-access-control-implementation/role-based-access-control-implementation-coding-humor_hu_d10acadeb26f4b9c.webp 800w, https://kdpisda.in/stop-asking-who-can-do-what-start-asking-what-can-this-role-do-a-guide-to-role-based-access-control-implementation/role-based-access-control-implementation-coding-humor_hu_8b1d603700dd1408.webp 1024w" sizes="(min-width: 46rem) 704px, 100vw"&gt;
 &lt;img src="https://kdpisda.in/stop-asking-who-can-do-what-start-asking-what-can-this-role-do-a-guide-to-role-based-access-control-implementation/role-based-access-control-implementation-coding-humor_hu_82468906c8e10b5a.jpg" srcset="https://kdpisda.in/stop-asking-who-can-do-what-start-asking-what-can-this-role-do-a-guide-to-role-based-access-control-implementation/role-based-access-control-implementation-coding-humor_hu_d67f38ac0a8b9881.jpg 400w, https://kdpisda.in/stop-asking-who-can-do-what-start-asking-what-can-this-role-do-a-guide-to-role-based-access-control-implementation/role-based-access-control-implementation-coding-humor_hu_cdcc33db72c9789d.jpg 800w, https://kdpisda.in/stop-asking-who-can-do-what-start-asking-what-can-this-role-do-a-guide-to-role-based-access-control-implementation/role-based-access-control-implementation-coding-humor_hu_82468906c8e10b5a.jpg 1024w" sizes="(min-width: 46rem) 704px, 100vw"
 width="1024" height="576"
 alt="Sketch of a developer contemplating &amp;lsquo;rm -tf (production)&amp;rsquo; on a laptop at a desk." loading="lazy" decoding="async"&gt;
&lt;/picture&gt;&lt;/p&gt;</description></item><item><title>10 Pragmatic Best Practices for REST API Design That Actually Work</title><link>https://kdpisda.in/10-pragmatic-best-practices-for-rest-api-design-that-actually-work/</link><pubDate>Mon, 08 Dec 2025 13:06:43 +0530</pubDate><guid>https://kdpisda.in/10-pragmatic-best-practices-for-rest-api-design-that-actually-work/</guid><description>&lt;p&gt;I remember the first production API I shipped. It felt like a triumph. Then the first wave of real traffic hit, and the celebration turned into a frantic scramble through logs, chasing a cascade of confusing &lt;code&gt;500&lt;/code&gt; errors. We&amp;rsquo;d built something functional, but we hadn&amp;rsquo;t built it thoughtfully. It&amp;rsquo;s a journey many of us take. A well designed API is the bedrock of a scalable application, but getting it right involves so much more than just exposing database tables over HTTP. It&amp;rsquo;s about crafting a clear, resilient, and intuitive contract between services that developers, real humans like you and me, can actually enjoy using.&lt;/p&gt;</description></item><item><title>10 Real World Event Driven Architecture Examples That Actually Work</title><link>https://kdpisda.in/10-real-world-event-driven-architecture-examples-that-actually-work/</link><pubDate>Sun, 07 Dec 2025 13:02:56 +0530</pubDate><guid>https://kdpisda.in/10-real-world-event-driven-architecture-examples-that-actually-work/</guid><description>&lt;p&gt;Your monolith was a hero. It launched your MVP, got you to product market fit, and handled everything you threw at it. But now, it&amp;rsquo;s sending you smoke signals. API response times are creeping up, a minor bug in one module takes down the entire system, and deploying a simple feature has become a week long ritual of fear and coffee. It feels like the system is warning you that the tightly coupled, synchronous world it was built for is holding back your growth.&lt;/p&gt;</description></item><item><title>Event Driven Architecture Patterns: Your Guide to Building Scalable Apps That Don't Break</title><link>https://kdpisda.in/event-driven-architecture-patterns-your-guide-to-building-scalable-apps-that-dont-break/</link><pubDate>Sat, 06 Dec 2025 13:00:59 +0530</pubDate><guid>https://kdpisda.in/event-driven-architecture-patterns-your-guide-to-building-scalable-apps-that-dont-break/</guid><description>&lt;p&gt;Let&amp;rsquo;s be honest. Event driven architecture can sound like one of those buzzwords engineers throw around to sound smart. But it&amp;rsquo;s not just jargon; it&amp;rsquo;s a totally different way of thinking about how the parts of your application talk to each other. I remember the first time I really got it, it felt like a lightbulb moment.&lt;/p&gt;
&lt;p&gt;Instead of services directly calling each other and waiting for a response (the digital equivalent of being put on hold), they just announce things that have happened. &amp;ldquo;Hey, a new user signed up!&amp;rdquo; Other services that care can listen in and react. This creates systems that are incredibly decoupled, scalable, and way more resilient to the chaos of the real world.&lt;/p&gt;</description></item><item><title>A Guide to Product Development Lifecycle Stages</title><link>https://kdpisda.in/a-guide-to-product-development-lifecycle-stages/</link><pubDate>Fri, 05 Dec 2025 12:55:50 +0530</pubDate><guid>https://kdpisda.in/a-guide-to-product-development-lifecycle-stages/</guid><description>&lt;p&gt;Let&amp;rsquo;s be honest, the phrase &lt;strong&gt;product development lifecycle stages&lt;/strong&gt; sounds a bit corporate, like something you&amp;rsquo;d see on a PowerPoint slide in a windowless conference room. But I promise you, it&amp;rsquo;s less about red tape and more about having a reliable map for a very treacherous journey. It&amp;rsquo;s the framework that guides an idea from that first &amp;ldquo;what if?&amp;rdquo; napkin sketch all the way to launch day and beyond.&lt;/p&gt;
&lt;p&gt;Without a map, you are just wandering in the wilderness. A good framework turns chaotic brainstorming into a focused, step by step process, and dramatically increases the odds you&amp;rsquo;ll build something people actually want.&lt;/p&gt;</description></item><item><title>10 Sprint Planning Best Practices That Will Save Your Startup's Sanity</title><link>https://kdpisda.in/10-sprint-planning-best-practices-that-will-save-your-startups-sanity/</link><pubDate>Thu, 04 Dec 2025 12:48:04 +0530</pubDate><guid>https://kdpisda.in/10-sprint-planning-best-practices-that-will-save-your-startups-sanity/</guid><description>&lt;p&gt;I&amp;rsquo;ve been in that Monday morning meeting. You know the one. Coffee in hand, staring down a two hour calendar invite for &amp;ldquo;Sprint Planning.&amp;rdquo; You brace yourself for a rambling discussion, scope creep happening in real time, and a team that leaves feeling more confused than committed. It&amp;rsquo;s the kind of meeting that truly could have been an email, or at least a much more focused conversation.&lt;/p&gt;
&lt;p&gt;I once led a team where our planning sessions became so bloated we called them &amp;lsquo;sprint meandering&amp;rsquo;. We would consistently overcommit, wildly underestimate complexity, and then spend the next two weeks firefighting our way to the finish line. It felt like we were always one step behind. It was exhausting, demoralizing, and completely unsustainable. That painful experience forced me to get serious about finding a better way, moving from chaotic guesswork to a structured, predictable process.&lt;/p&gt;</description></item><item><title>10 Continuous Integration Best Practices That Won't Make You Cry</title><link>https://kdpisda.in/10-continuous-integration-best-practices-that-wont-make-you-cry/</link><pubDate>Wed, 03 Dec 2025 12:55:10 +0530</pubDate><guid>https://kdpisda.in/10-continuous-integration-best-practices-that-wont-make-you-cry/</guid><description>&lt;p&gt;I once watched a startup&amp;rsquo;s entire deployment grind to a halt for a full day. The cause? A tiny, untested dependency change that snowballed into a cascade of failures. It was a classic &amp;lsquo;works on my machine&amp;rsquo; tragedy that cost them momentum and morale, a silent battle fought in the heart of their pipeline.&lt;/p&gt;
&lt;p&gt;That experience taught me a hard lesson: a Continuous Integration (CI) pipeline isn&amp;rsquo;t just an automation tool; it is the central nervous system of your engineering team. When it is healthy, you move fast and with confidence. When it is neglected, it becomes a source of constant friction, a tangled mess of slow builds, flaky tests, and deployment anxiety. This journey is about transforming that pipeline from a point of pain into a source of power.&lt;/p&gt;</description></item><item><title>Test Automation Best Practices That Won't Make You Want to Flip Your Desk</title><link>https://kdpisda.in/test-automation-best-practices-that-wont-make-you-want-to-flip-your-desk/</link><pubDate>Tue, 02 Dec 2025 12:50:48 +0530</pubDate><guid>https://kdpisda.in/test-automation-best-practices-that-wont-make-you-want-to-flip-your-desk/</guid><description>&lt;p&gt;We have all been there. You push a feature, the CI pipeline lights up green, and you move on, only to find a frantic message hours later about a regression in production. That momentary confidence shatters, replaced by a sinking feeling. It&amp;rsquo;s a common story in fast moving startups and scale ups, where the pressure to ship often turns test suites into a fragile, high maintenance burden. The problem is not a lack of tests, but a lack of strategy. Flaky tests and unexpected breaks are often symptoms of deeper issues, where the cost of maintaining the test suite starts to outweigh its benefits.&lt;/p&gt;</description></item><item><title>A Technical Specification Template That Actually Prevents Disasters</title><link>https://kdpisda.in/a-technical-specification-template-that-actually-prevents-disasters/</link><pubDate>Mon, 01 Dec 2025 12:51:45 +0530</pubDate><guid>https://kdpisda.in/a-technical-specification-template-that-actually-prevents-disasters/</guid><description>&lt;p&gt;A solid &lt;strong&gt;technical specification template&lt;/strong&gt; is supposed to be the blueprint your engineering team needs. It&amp;rsquo;s the critical translation layer between an ambitious business goal and the concrete plan to build it. But let&amp;rsquo;s be honest, most of them are bureaucratic chores that end up gathering dust in a forgotten Confluence page.&lt;/p&gt;
&lt;h2 id="the-blank-page-before-the-code-storm"&gt;The Blank Page Before The Code Storm&lt;a class="heading-anchor" href="#the-blank-page-before-the-code-storm" aria-hidden="true" tabindex="-1"&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;We&amp;rsquo;ve all been there. A brilliant idea, a fired up team, and a vague one liner in a project ticket.&lt;/p&gt;</description></item><item><title>Disaster Recovery Planning Checklist: The Guide I Wish I Had Years Ago</title><link>https://kdpisda.in/disaster-recovery-planning-checklist-the-guide-i-wish-i-had-years-ago/</link><pubDate>Sun, 30 Nov 2025 12:34:46 +0530</pubDate><guid>https://kdpisda.in/disaster-recovery-planning-checklist-the-guide-i-wish-i-had-years-ago/</guid><description>&lt;p&gt;It&amp;rsquo;s 3 AM, and your phone lights up with a PagerDuty alert. The main database is just… gone. Not slow, not lagging. Unresponsive. As an engineering lead, my stomach used to drop just thinking about this. We were all moving at light speed, shipping features, chasing that elusive product market fit. Who has time to plan for a catastrophe that might never happen?&lt;/p&gt;
&lt;p&gt;I learned the hard way. A client of mine once had their entire Redis cluster—the one handling every critical user session—vaporize because of a misconfigured cloud script. The scramble to recover was a painful, frantic ballet of engineers trying to remember how everything was wired together. It revealed just how fragile our &amp;ldquo;it will probably be fine&amp;rdquo; assumptions were. That experience forced us to stop and ask the real question: what is our actual plan when things go sideways?&lt;/p&gt;</description></item><item><title>12 Essential Application Security Testing Tools for 2025</title><link>https://kdpisda.in/12-essential-application-security-testing-tools-for-2025/</link><pubDate>Sat, 29 Nov 2025 12:39:00 +0530</pubDate><guid>https://kdpisda.in/12-essential-application-security-testing-tools-for-2025/</guid><description>&lt;p&gt;It started with a weird log entry. A seemingly harmless error that, after hours of digging, turned out to be a potential security hole. It was a wake up call. As developers, we are focused on shipping features, but what happens when the pressure to deliver creates blind spots? This is not just a story about a bug; it is about realizing that our CI/CD pipelines needed a better gatekeeper. We had a problem, and the solution required a systematic way to catch these issues before they reached production, turning a manual, reactive process into an automated, proactive one.&lt;/p&gt;</description></item><item><title>8 Practical Test Driven Development Examples for Real World Code</title><link>https://kdpisda.in/8-practical-test-driven-development-examples-for-real-world-code/</link><pubDate>Fri, 28 Nov 2025 12:37:44 +0530</pubDate><guid>https://kdpisda.in/8-practical-test-driven-development-examples-for-real-world-code/</guid><description>&lt;p&gt;&amp;ldquo;Just write the test first.&amp;rdquo; It sounds so simple, right? But I remember staring at a blank test file for a new feature, completely paralyzed. My mind raced: &amp;ldquo;How can I test something that doesn&amp;rsquo;t exist? What if I write the wrong test? Am I just wasting time?&amp;rdquo; The promise of bug free, beautiful code felt miles away from the reality of my blinking cursor.&lt;/p&gt;
&lt;p&gt;This article is the guide I wish I had back then. It&amp;rsquo;s a journey from that initial doubt to genuine &amp;ldquo;aha&amp;rdquo; moments. We&amp;rsquo;re not going to just talk about the theory of Test Driven Development. We&amp;rsquo;ll walk through eight concrete &lt;strong&gt;test driven development examples&lt;/strong&gt;, starting with the simple stuff and leveling up to the gnarly, real world challenges you actually face, like user authentication, shopping carts, and even complex API endpoints.&lt;/p&gt;</description></item><item><title>Your Software Architecture Documentation Is Lying to You</title><link>https://kdpisda.in/your-software-architecture-documentation-is-lying-to-you/</link><pubDate>Thu, 27 Nov 2025 12:38:46 +0530</pubDate><guid>https://kdpisda.in/your-software-architecture-documentation-is-lying-to-you/</guid><description>&lt;p&gt;&amp;ldquo;The documentation is in the code.&amp;rdquo; I can&amp;rsquo;t count how many times I&amp;rsquo;ve heard this, usually from a well meaning senior engineer right before I spend the next three days spelunking through a codebase just to figure out what a single microservice is supposed to do.&lt;/p&gt;
&lt;p&gt;Let&amp;rsquo;s be honest with each other. Most software architecture documentation is a ghost. It&amp;rsquo;s a pale, outdated echo of a system that once existed, haunting your Confluence space or a forgotten Google Drive folder. You follow the &lt;code&gt;README&lt;/code&gt;, and it breaks. You look at a diagram, and it shows services that were decommissioned a year ago.&lt;/p&gt;</description></item><item><title>High Availability Architecture That Actually Works</title><link>https://kdpisda.in/high-availability-architecture-that-actually-works/</link><pubDate>Wed, 26 Nov 2025 12:26:15 +0530</pubDate><guid>https://kdpisda.in/high-availability-architecture-that-actually-works/</guid><description>&lt;p&gt;It always starts with that frantic 3 AM alert: &lt;em&gt;&amp;lsquo;The site is down.&amp;rsquo;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;We have all been there. That sinking feeling as you scramble to figure out what just broke is a rite of passage for many of us in the industry. I still remember the cold sweat from my first major production outage; it felt like the entire internet was staring at me.&lt;/p&gt;
&lt;p&gt;This guide is for every engineer who has stared at that error screen and vowed, &amp;ldquo;never again.&amp;rdquo; We are not talking about abstract theory here; we are talking about practical, battle tested high availability architecture that keeps your services running, your users happy, and most importantly, lets you get a good night&amp;rsquo;s sleep.&lt;/p&gt;</description></item><item><title>A Startup Tech Consultant Might Be The Best Money You Ever Spend</title><link>https://kdpisda.in/a-startup-tech-consultant-might-be-the-best-money-you-ever-spend/</link><pubDate>Tue, 25 Nov 2025 12:29:54 +0530</pubDate><guid>https://kdpisda.in/a-startup-tech-consultant-might-be-the-best-money-you-ever-spend/</guid><description>&lt;p&gt;It&amp;rsquo;s a story I&amp;rsquo;ve seen play out a dozen times. You&amp;rsquo;ve got a world beating idea, but the journey from that spark of genius to a real, scalable product feels like you&amp;rsquo;re trying to find your way through a thick fog. The pressure to make perfect technical decisions right out of the gate is intense. This is exactly where a good startup tech consultant proves their worth.&lt;/p&gt;
&lt;h2 id="that-blurry-line-between-a-big-idea-and-a-real-product"&gt;That Blurry Line Between a Big Idea and a Real Product&lt;a class="heading-anchor" href="#that-blurry-line-between-a-big-idea-and-a-real-product" aria-hidden="true" tabindex="-1"&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;Picture this. We had a client, a small team buzzing with excitement and running on fumes and coffee, huddled around a whiteboard. They had a killer concept for a GenAI platform that helps small businesses whip up marketing content. The market need was there, they were getting great feedback, and the energy was electric.&lt;/p&gt;</description></item><item><title>What Do Product Engineering Consultants Actually Do? (And When Do You Call One?)</title><link>https://kdpisda.in/what-do-product-engineering-consultants-actually-do-and-when-do-you-call-one/</link><pubDate>Mon, 24 Nov 2025 12:16:47 +0530</pubDate><guid>https://kdpisda.in/what-do-product-engineering-consultants-actually-do-and-when-do-you-call-one/</guid><description>&lt;p&gt;Ever felt that slow, creeping dread as your product roadmap starts to slip? You have a game changing idea, maybe even some seed funding, but the actual execution has ground to a halt. Your in house team is brilliant, but they&amp;rsquo;re completely swamped, juggling legacy bugs while trying to ship new features.&lt;/p&gt;
&lt;p&gt;This is the exact moment leaders start looking for help. It&amp;rsquo;s a scenario I&amp;rsquo;ve seen play out dozens of times. The pressure builds, and the gut reaction is to either start the slow, painful process of hiring more full time engineers or just let the project stagnate, hoping the team eventually catches up. Both options feel slow and incredibly risky.&lt;/p&gt;</description></item><item><title>10 Code Review Best Practices That Actually Work in 2025</title><link>https://kdpisda.in/10-code-review-best-practices-that-actually-work-in-2025/</link><pubDate>Sun, 23 Nov 2025 12:29:29 +0530</pubDate><guid>https://kdpisda.in/10-code-review-best-practices-that-actually-work-in-2025/</guid><description>&lt;p&gt;I once pushed a change that brought a production API to its knees. The culprit? A seemingly harmless database query that nobody caught in review. We have all been there: the endless back and forth, the vague &amp;lsquo;please fix&amp;rsquo; comments, the anxiety of hitting &amp;lsquo;merge&amp;rsquo;. Code review can feel like a chore, a bottleneck, or worse, a battleground. But what if it could be a team&amp;rsquo;s greatest superpower for learning and building resilient systems?&lt;/p&gt;</description></item><item><title>A Technical Roadmap Template That Actually Works</title><link>https://kdpisda.in/a-technical-roadmap-template-that-actually-works/</link><pubDate>Sat, 22 Nov 2025 12:20:27 +0530</pubDate><guid>https://kdpisda.in/a-technical-roadmap-template-that-actually-works/</guid><description>&lt;p&gt;Staring at a blank document trying to create a technical roadmap from scratch is a special kind of painful. It feels like you are supposed to conjure a perfect, visionary strategy out of thin air. The good news? You do not have to.&lt;/p&gt;
&lt;p&gt;I once worked on a project that nearly went off the rails because our &amp;ldquo;roadmap&amp;rdquo; was nothing more than a feature list passed down from the product team. Everyone was scrambling, priorities shifted daily, and a quiet sense of chaos settled in. The &lt;em&gt;actual&lt;/em&gt; plan was hidden in plain sight, scattered across Jira, Slack, and the brains of our senior engineers. It was buried in the tech debt tickets we kept putting off, the infrastructure upgrades we all knew were coming, and the unspoken dependencies between teams that only blew up during a crisis.&lt;/p&gt;</description></item><item><title>From Zero to Scalable APIs in Django — A Full-Day Hands-On Workshop in Bengaluru</title><link>https://kdpisda.in/from-zero-to-scalable-apis-in-django-a-full-day-hands-on-workshop-in-bengaluru/</link><pubDate>Fri, 21 Nov 2025 14:51:54 +0530</pubDate><guid>https://kdpisda.in/from-zero-to-scalable-apis-in-django-a-full-day-hands-on-workshop-in-bengaluru/</guid><description>&lt;p&gt;I’m hosting a full-day, in-person Django workshop in Bengaluru designed for developers who want to learn how to build, test, and scale Django REST APIs the right way. This is a fast-paced, hands-on day where we code together, write tests that actually catch bugs, and talk about the backend patterns that matter in real projects.&lt;/p&gt;
&lt;p&gt;This isn’t a webinar or a theory-heavy seminar. It’s a day of real coding, practical learning, and building something substantial from scratch.&lt;/p&gt;</description></item><item><title>Fractional CTO Services Your Tech Scaling Playbook</title><link>https://kdpisda.in/fractional-cto-services-your-tech-scaling-playbook/</link><pubDate>Fri, 21 Nov 2025 12:14:20 +0530</pubDate><guid>https://kdpisda.in/fractional-cto-services-your-tech-scaling-playbook/</guid><description>&lt;p&gt;So, what exactly are &lt;strong&gt;fractional CTO services&lt;/strong&gt;? Let&amp;rsquo;s try an analogy. Think of it as having a seasoned airline captain on call. You don&amp;rsquo;t need them for the entire flight when autopilot is humming along, but you absolutely need their expertise for the tricky takeoff, navigating turbulence, and sticking the landing. That&amp;rsquo;s a fractional CTO for your business: high level technical leadership, on a flexible, part time basis.&lt;/p&gt;
&lt;p&gt;You get the strategic guidance and team mentorship you desperately need, without the massive financial commitment of a full time executive salary. It is a strategic lifeline, especially for startups hitting that tricky point where growth starts to outpace their technology.&lt;/p&gt;</description></item><item><title>Cracking the Code: Your Humane Guide to System Design Interview Preparation</title><link>https://kdpisda.in/cracking-the-code-your-humane-guide-to-system-design-interview-preparation/</link><pubDate>Thu, 20 Nov 2025 21:05:20 +0530</pubDate><guid>https://kdpisda.in/cracking-the-code-your-humane-guide-to-system-design-interview-preparation/</guid><description>&lt;p&gt;System design interview preparation can feel like you&amp;rsquo;re standing at the bottom of a massive mountain, looking up, with no map. It&amp;rsquo;s overwhelming. The trick is to turn that anxiety into a structured journey. We&amp;rsquo;ll start by nailing the core concepts like scalability and caching, then practice with a solid framework, and finally, we&amp;rsquo;ll break down real world systems to see the trade offs engineers make every single day.&lt;/p&gt;
&lt;h2 id="why-system-design-interviews-feel-so-terrifying"&gt;Why System Design Interviews Feel So Terrifying&lt;a class="heading-anchor" href="#why-system-design-interviews-feel-so-terrifying" aria-hidden="true" tabindex="-1"&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;&lt;picture&gt;
 &lt;source type="image/webp" srcset="https://kdpisda.in/cracking-the-code-your-humane-guide-to-system-design-interview-preparation/0a473196-914a-482e-81e5-aaf4c641cc64_hu_bc7b0c46eb9a430c.webp 400w, https://kdpisda.in/cracking-the-code-your-humane-guide-to-system-design-interview-preparation/0a473196-914a-482e-81e5-aaf4c641cc64_hu_72466831c6092e1a.webp 800w, https://kdpisda.in/cracking-the-code-your-humane-guide-to-system-design-interview-preparation/0a473196-914a-482e-81e5-aaf4c641cc64_hu_d872dfc81a7331b5.webp 1024w" sizes="(min-width: 46rem) 704px, 100vw"&gt;
 &lt;img src="https://kdpisda.in/cracking-the-code-your-humane-guide-to-system-design-interview-preparation/0a473196-914a-482e-81e5-aaf4c641cc64_hu_616b8f3b22bc2130.jpg" srcset="https://kdpisda.in/cracking-the-code-your-humane-guide-to-system-design-interview-preparation/0a473196-914a-482e-81e5-aaf4c641cc64_hu_44a22395331a84e1.jpg 400w, https://kdpisda.in/cracking-the-code-your-humane-guide-to-system-design-interview-preparation/0a473196-914a-482e-81e5-aaf4c641cc64_hu_d9b59cbe87a57917.jpg 800w, https://kdpisda.in/cracking-the-code-your-humane-guide-to-system-design-interview-preparation/0a473196-914a-482e-81e5-aaf4c641cc64_hu_616b8f3b22bc2130.jpg 1024w" sizes="(min-width: 46rem) 704px, 100vw"
 width="1024" height="576"
 alt="A person looking overwhelmed while staring at a complex whiteboard filled with system design diagrams." loading="lazy" decoding="async"&gt;
&lt;/picture&gt;&lt;/p&gt;</description></item><item><title>A Guide to REST API Design Principles</title><link>https://kdpisda.in/a-guide-to-rest-api-design-principles/</link><pubDate>Sat, 01 Nov 2025 15:49:44 +0530</pubDate><guid>https://kdpisda.in/a-guide-to-rest-api-design-principles/</guid><description>&lt;p&gt;REST API design principles aren&amp;rsquo;t just abstract rules; they&amp;rsquo;re the architectural guardrails that keep your APIs scalable, maintainable, and predictable. When you follow these well worn paths—like using a uniform interface and keeping communication stateless—you end up building logical and consistent web services. Think of them as battle tested guidelines that prevent your system from imploding.&lt;/p&gt;
&lt;h2 id="the-night-an-api-flaw-almost-broke-production"&gt;The Night an API Flaw Almost Broke Production&lt;a class="heading-anchor" href="#the-night-an-api-flaw-almost-broke-production" aria-hidden="true" tabindex="-1"&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;It was a Tuesday night. A deployment that seemed completely routine went live, and within an hour, our server load started to spike—hard. The culprit? An API endpoint that looked fine on the surface but secretly violated a core REST principle we&amp;rsquo;d completely overlooked.&lt;/p&gt;</description></item><item><title>A Guide to Humane Django Model Forms</title><link>https://kdpisda.in/a-guide-to-humane-django-model-forms/</link><pubDate>Fri, 31 Oct 2025 15:40:46 +0530</pubDate><guid>https://kdpisda.in/a-guide-to-humane-django-model-forms/</guid><description>&lt;p&gt;&lt;a href="https://www.djangoproject.com/?ref=kdpisda.in"&gt;Django&lt;/a&gt; ModelForms are a lifesaver. They are a brilliant shortcut for creating forms straight from your Django models, automatically handling fields, basic validation, and saving data. It&amp;rsquo;s a core feature that truly embodies the framework&amp;rsquo;s &amp;ldquo;Don&amp;rsquo;t Repeat Yourself&amp;rdquo; philosophy.&lt;/p&gt;
&lt;h2 id="why-manual-forms-are-a-recipe-for-burnout"&gt;Why Manual Forms Are a Recipe for Burnout&lt;a class="heading-anchor" href="#why-manual-forms-are-a-recipe-for-burnout" aria-hidden="true" tabindex="-1"&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;Let&amp;rsquo;s be real: writing HTML forms by hand can be a soul crushing task. First, you carefully define all your fields in &lt;code&gt;models.py&lt;/code&gt;. Then, you jump over to &lt;code&gt;forms.py&lt;/code&gt; and define almost the exact same fields all over again. Finally, you wire it all up in the view, crossing your fingers that you did not misspell a field name somewhere along the way.&lt;/p&gt;</description></item><item><title>Why Your Django App Will Eventually Thank You for Using PostgreSQL</title><link>https://kdpisda.in/why-your-django-app-will-eventually-thank-you-for-using-postgresql/</link><pubDate>Thu, 30 Oct 2025 15:33:34 +0530</pubDate><guid>https://kdpisda.in/why-your-django-app-will-eventually-thank-you-for-using-postgresql/</guid><description>&lt;p&gt;Pairing &lt;strong&gt;Django and PostgreSQL&lt;/strong&gt; isn&amp;rsquo;t just a popular choice; it&amp;rsquo;s a rite of passage for building web applications that are meant to last. I think of it as a strategic decision, pairing Django&amp;rsquo;s wonderfully abstract Object Relational Mapper (ORM) with PostgreSQL&amp;rsquo;s almost obsessive focus on data integrity and performance. This is the foundation you pour when you&amp;rsquo;re building a skyscraper, not a garden shed.&lt;/p&gt;
&lt;h2 id="why-django-and-postgresql-are-such-good-friends"&gt;Why Django and PostgreSQL Are Such Good Friends&lt;a class="heading-anchor" href="#why-django-and-postgresql-are-such-good-friends" aria-hidden="true" tabindex="-1"&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;&lt;picture&gt;
 &lt;source type="image/webp" srcset="https://kdpisda.in/why-your-django-app-will-eventually-thank-you-for-using-postgresql/5c7a87c0-b8f2-4177-a864-b38f9ba634a5_hu_22d2ec495b3fa7b5.webp 400w, https://kdpisda.in/why-your-django-app-will-eventually-thank-you-for-using-postgresql/5c7a87c0-b8f2-4177-a864-b38f9ba634a5_hu_52ba536deaee55ca.webp 800w, https://kdpisda.in/why-your-django-app-will-eventually-thank-you-for-using-postgresql/5c7a87c0-b8f2-4177-a864-b38f9ba634a5_hu_6e9224160fb227f9.webp 1024w" sizes="(min-width: 46rem) 704px, 100vw"&gt;
 &lt;img src="https://kdpisda.in/why-your-django-app-will-eventually-thank-you-for-using-postgresql/5c7a87c0-b8f2-4177-a864-b38f9ba634a5_hu_41cae78b4ed543df.jpg" srcset="https://kdpisda.in/why-your-django-app-will-eventually-thank-you-for-using-postgresql/5c7a87c0-b8f2-4177-a864-b38f9ba634a5_hu_7094524278d18b55.jpg 400w, https://kdpisda.in/why-your-django-app-will-eventually-thank-you-for-using-postgresql/5c7a87c0-b8f2-4177-a864-b38f9ba634a5_hu_d4ff24e24f2fce59.jpg 800w, https://kdpisda.in/why-your-django-app-will-eventually-thank-you-for-using-postgresql/5c7a87c0-b8f2-4177-a864-b38f9ba634a5_hu_41cae78b4ed543df.jpg 1024w" sizes="(min-width: 46rem) 704px, 100vw"
 width="1024" height="576"
 alt="A stylized image showing the Django and PostgreSQL logos side by side, symbolizing their partnership." loading="lazy" decoding="async"&gt;
&lt;/picture&gt;&lt;/p&gt;</description></item><item><title>A Guide to Django REST Framework Authentication That Won't Put You to Sleep</title><link>https://kdpisda.in/a-guide-to-django-rest-framework-authentication-that-wont-put-you-to-sleep/</link><pubDate>Wed, 29 Oct 2025 15:28:57 +0530</pubDate><guid>https://kdpisda.in/a-guide-to-django-rest-framework-authentication-that-wont-put-you-to-sleep/</guid><description>&lt;p&gt;Let&amp;rsquo;s be honest. Setting up &lt;strong&gt;Django REST Framework authentication&lt;/strong&gt; can feel like assembling IKEA furniture in the dark. You know all the pieces are there—sessions, tokens, JWTs—but the instructions seem written in another language, and you have this nagging fear that one wrong move will leave your API wide open.&lt;/p&gt;
&lt;p&gt;I have been there. I once got stuck on a bug for hours before realizing my frontend was sending the &lt;code&gt;Authorization&lt;/code&gt; header with a lowercase &amp;ldquo;a&amp;rdquo;. It&amp;rsquo;s the kind of thing that makes you question your life choices.&lt;/p&gt;</description></item><item><title>How to Create a Django Application That Doesn't Fall Apart</title><link>https://kdpisda.in/how-to-create-a-django-application-that-doesnt-fall-apart/</link><pubDate>Tue, 28 Oct 2025 15:26:09 +0530</pubDate><guid>https://kdpisda.in/how-to-create-a-django-application-that-doesnt-fall-apart/</guid><description>&lt;p&gt;The command to &lt;code&gt;django create application&lt;/code&gt; is simple: &lt;code&gt;python manage.py startapp &amp;lt;app_name&amp;gt;&lt;/code&gt;. It instantly generates a new directory with essential files like &lt;code&gt;models.py&lt;/code&gt; and &lt;code&gt;views.py&lt;/code&gt;. But here&amp;rsquo;s the trap I fell into early on: you can only run this command &lt;em&gt;after&lt;/em&gt; you have set up a Django project. And understanding the difference between a project and an application is the first boss battle every new Django developer faces.&lt;/p&gt;
&lt;h2 id="setting-the-stage-before-you-type-a-single-command"&gt;Setting The Stage Before You Type a Single Command&lt;a class="heading-anchor" href="#setting-the-stage-before-you-type-a-single-command" aria-hidden="true" tabindex="-1"&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;&lt;picture&gt;
 &lt;source type="image/webp" srcset="https://kdpisda.in/how-to-create-a-django-application-that-doesnt-fall-apart/2f62e32b-2497-413f-89bc-db73a9c64d5a_hu_d57fc7f5db74b509.webp 400w, https://kdpisda.in/how-to-create-a-django-application-that-doesnt-fall-apart/2f62e32b-2497-413f-89bc-db73a9c64d5a_hu_3567dffdffd1dc36.webp 800w, https://kdpisda.in/how-to-create-a-django-application-that-doesnt-fall-apart/2f62e32b-2497-413f-89bc-db73a9c64d5a_hu_9a9f3c88f226d64.webp 1200w, https://kdpisda.in/how-to-create-a-django-application-that-doesnt-fall-apart/2f62e32b-2497-413f-89bc-db73a9c64d5a_hu_4190a8aa1739f6c2.webp 1392w" sizes="(min-width: 46rem) 704px, 100vw"&gt;
 &lt;img src="https://kdpisda.in/how-to-create-a-django-application-that-doesnt-fall-apart/2f62e32b-2497-413f-89bc-db73a9c64d5a_hu_9896672b5d0d71f6.jpg" srcset="https://kdpisda.in/how-to-create-a-django-application-that-doesnt-fall-apart/2f62e32b-2497-413f-89bc-db73a9c64d5a_hu_7efef850daf921ce.jpg 400w, https://kdpisda.in/how-to-create-a-django-application-that-doesnt-fall-apart/2f62e32b-2497-413f-89bc-db73a9c64d5a_hu_2120a18cb6b9c81.jpg 800w, https://kdpisda.in/how-to-create-a-django-application-that-doesnt-fall-apart/2f62e32b-2497-413f-89bc-db73a9c64d5a_hu_d2d0e096e63d423d.jpg 1200w, https://kdpisda.in/how-to-create-a-django-application-that-doesnt-fall-apart/2f62e32b-2497-413f-89bc-db73a9c64d5a_hu_9896672b5d0d71f6.jpg 1392w" sizes="(min-width: 46rem) 704px, 100vw"
 width="1392" height="752"
 alt="Infographic about django create application" loading="lazy" decoding="async"&gt;
&lt;/picture&gt;&lt;/p&gt;</description></item><item><title>Django Website Hosting Made Simple</title><link>https://kdpisda.in/django-website-hosting-made-simple/</link><pubDate>Mon, 27 Oct 2025 15:16:47 +0530</pubDate><guid>https://kdpisda.in/django-website-hosting-made-simple/</guid><description>&lt;p&gt;Hosting a Django website means taking your application from your local computer and putting it on a server where the whole world can see it. This isn&amp;rsquo;t just about running &lt;code&gt;manage.py runserver&lt;/code&gt;. We&amp;rsquo;re talking about a real production setup with a &lt;strong&gt;WSGI server like Gunicorn&lt;/strong&gt;, a &lt;strong&gt;reverse proxy like Nginx&lt;/strong&gt;, and a robust &lt;strong&gt;database like PostgreSQL&lt;/strong&gt;.&lt;/p&gt;
&lt;h2 id="from-localhost-to-a-live-django-website"&gt;From Localhost To A Live Django Website&lt;a class="heading-anchor" href="#from-localhost-to-a-live-django-website" aria-hidden="true" tabindex="-1"&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;Let&amp;rsquo;s be real: deploying your first Django app feels like a rite of passage. You&amp;rsquo;ve built something awesome on your machine, it runs perfectly, but getting it onto a live URL often feels like navigating a maze of acronyms and config files. It&amp;rsquo;s that leap every developer has to make—from the cozy, controlled world of &lt;code&gt;localhost&lt;/code&gt; to the wild west of the internet.&lt;/p&gt;</description></item><item><title>7 Top Tier Django Web Hosting Platforms for 2025</title><link>https://kdpisda.in/7-top-tier-django-web-hosting-platforms-for-2025/</link><pubDate>Sun, 26 Oct 2025 14:57:58 +0530</pubDate><guid>https://kdpisda.in/7-top-tier-django-web-hosting-platforms-for-2025/</guid><description>&lt;p&gt;I still remember the feeling. My first &amp;lsquo;real&amp;rsquo; Django project was finally done. The models were clean, the views were snappy, and the admin panel was humming. But then the panic set in. That terrifying question every developer faces: &lt;em&gt;&amp;ldquo;Okay… now how do I get this thing on the internet?&amp;rdquo;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;That question launches you into a maze of choices, a chaotic jungle of cloud consoles, jargon filled landing pages, and deceptively simple platforms. You are not just picking a service; you are choosing your partner in production, the foundation your application will live or die on. This guide is the map I wish I had back then. We are going to navigate the world of Django web hosting together, looking at seven solid options, not as a boring feature list, but as a series of trade offs you will face on your journey from local development to a live, production grade application.&lt;/p&gt;</description></item><item><title>12 Best Django Web Hosts For Your Next Project in 2025</title><link>https://kdpisda.in/12-best-django-web-hosts-for-your-next-project-in-2025/</link><pubDate>Sat, 25 Oct 2025 14:27:51 +0530</pubDate><guid>https://kdpisda.in/12-best-django-web-hosts-for-your-next-project-in-2025/</guid><description>&lt;p&gt;You&amp;rsquo;ve done it. That moment of triumph when &lt;code&gt;python manage.py runserver&lt;/code&gt; fires up without a single error is pure magic. But I have learned the hard way that the journey from &lt;code&gt;localhost:8000&lt;/code&gt; to a live, production grade application is a completely different adventure. I remember my first real deployment; it felt like navigating a maze blindfolded, bombarded with a dictionary of acronyms: PaaS, IaaS, VPS, and WSGI. It is terrifyingly easy to get stuck in analysis paralysis.&lt;/p&gt;</description></item><item><title>Hosting for Django: My Quest for the Perfect Launchpad</title><link>https://kdpisda.in/hosting-for-django-my-quest-for-the-perfect-launchpad/</link><pubDate>Fri, 24 Oct 2025 13:59:56 +0530</pubDate><guid>https://kdpisda.in/hosting-for-django-my-quest-for-the-perfect-launchpad/</guid><description>&lt;p&gt;We have all been there. Your Django app runs flawlessly on &lt;code&gt;localhost&lt;/code&gt;, a perfect little digital kingdom where you are king. Then comes deployment day. Suddenly, you are wrestling a multi headed hydra of Nginx configs, Gunicorn workers, and cryptic &lt;code&gt;502 Bad Gateway&lt;/code&gt; errors. The kingdom is on fire.&lt;/p&gt;
&lt;p&gt;I once spent an entire weekend battling a deployment to a bare metal server, convinced I was a genius sysadmin in the making. Turns out, my brilliant firewall rules were blocking the database. I was not a genius. That humbling experience sparked a quest, a personal journey to find hosting for Django that felt less like a wrestling match and more like a partnership. As a CTO, I needed something that would let me sleep at night.&lt;/p&gt;</description></item><item><title>So You've Built a Django App. Now What? A Guide to Django Web Hosts in 2025</title><link>https://kdpisda.in/so-youve-built-a-django-app-now-what-a-guide-to-django-web-hosts-in-2025/</link><pubDate>Thu, 23 Oct 2025 13:43:02 +0530</pubDate><guid>https://kdpisda.in/so-youve-built-a-django-app-now-what-a-guide-to-django-web-hosts-in-2025/</guid><description>&lt;p&gt;You&amp;rsquo;ve done it. The models are clean, the views are crisp, and the templates are sharp. Your Django app runs beautifully on &lt;code&gt;localhost:8000&lt;/code&gt;. Now comes the moment of truth, the question that sends a little shiver down every developer&amp;rsquo;s spine: deployment. Where is this thing going to live?&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve been there, staring at a dozen browser tabs, trying to decipher the differences between a PaaS, a VPS, and a serverless platform. It can feel like you&amp;rsquo;re trying to pick a new car by comparing a unicycle, a sedan, and a freight train. They all have wheels, but they solve very different problems. The wrong choice can lead to late nights, unexpected bills, and a lot of frustration.&lt;/p&gt;</description></item><item><title>12 Best Python Frameworks for Web Development in 2025</title><link>https://kdpisda.in/12-best-python-frameworks-for-web-development-in-2025/</link><pubDate>Wed, 22 Oct 2025 13:27:51 +0530</pubDate><guid>https://kdpisda.in/12-best-python-frameworks-for-web-development-in-2025/</guid><description>&lt;p&gt;I remember my first time choosing a Python web framework. It felt like standing before a giant wall of switches, each promising a different path to a working application. Do I need a full stack solution with all batteries included like Django? Or a lightweight toolkit like Flask that lets me build from the ground up? The decision paralysis is real, especially for CTOs and founders where the wrong architectural choice can mean months of lost time.&lt;/p&gt;</description></item><item><title>DjangoDay India 2025: A Dream Finally Taking Shape 🇮🇳</title><link>https://kdpisda.in/djangoday-india-2025-a-dream-finally-taking-shape-2/</link><pubDate>Tue, 21 Oct 2025 14:27:20 +0530</pubDate><guid>https://kdpisda.in/djangoday-india-2025-a-dream-finally-taking-shape-2/</guid><description>&lt;p&gt;When I first walked onto the stage at &lt;a href="https://2022.djangocon.us/tutorials/using-django-for-serving-rest-apis-with/?ref=kdpisda.in"&gt;&lt;strong&gt;DjangoCon US 2022&lt;/strong&gt;&lt;/a&gt;, I had no idea how deeply that experience would shape my next few years.&lt;/p&gt;
&lt;p&gt;I had been working with Django for over five years, building startups, shipping products, teaching teams, and evangelizing the framework that made me fall in love with backend development. But that moment at DjangoCon — meeting people who cared so deeply about an open-source framework and its community — changed how I looked at tech altogether.&lt;/p&gt;</description></item><item><title>A Guide to App Development with Python</title><link>https://kdpisda.in/a-guide-to-app-development-with-python/</link><pubDate>Tue, 21 Oct 2025 13:54:03 +0530</pubDate><guid>https://kdpisda.in/a-guide-to-app-development-with-python/</guid><description>&lt;p&gt;It usually starts with a simple idea. A spark. But turning that spark into a functional application people can actually use feels like a huge leap, especially if you know Python mostly for its clean syntax in scripting or data science. You start to wonder, &amp;ldquo;Can my favorite language &lt;em&gt;really&lt;/em&gt; build a full blown app?&amp;rdquo;&lt;/p&gt;
&lt;p&gt;The good news? The answer is a resounding yes. &lt;strong&gt;App development with Python is not only possible but increasingly popular&lt;/strong&gt;, thanks to its powerful frameworks and a community that has your back.&lt;/p&gt;</description></item><item><title>PHP vs Python Which Side of the Fence Should You Be On</title><link>https://kdpisda.in/php-vs-python-which-side-of-the-fence-should-you-be-on/</link><pubDate>Mon, 20 Oct 2025 13:28:05 +0530</pubDate><guid>https://kdpisda.in/php-vs-python-which-side-of-the-fence-should-you-be-on/</guid><description>&lt;p&gt;So, you&amp;rsquo;re about to start a new project. You&amp;rsquo;ve got a brilliant idea, a blank editor, and a big decision to make. Suddenly, the old PHP vs Python debate pops into your head, and it feels less like a technical choice and more like picking a side in a holy war.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve been there. Staring at the screen, wondering which path leads to glory and which one leads to a pit of despair filled with legacy code. The truth is, it&amp;rsquo;s not that dramatic. &lt;strong&gt;PHP was built from the ground up for the web, while Python is a multi purpose tool that also happens to be fantastic at it, along with data, AI, and a million other things.&lt;/strong&gt; Your decision really just boils down to the problem you&amp;rsquo;re trying to solve.&lt;/p&gt;</description></item><item><title>A Guide to Predictive Analysis Machine Learning (Without the Headaches)</title><link>https://kdpisda.in/a-guide-to-predictive-analysis-machine-learning-without-the-headaches/</link><pubDate>Sun, 19 Oct 2025 13:28:38 +0530</pubDate><guid>https://kdpisda.in/a-guide-to-predictive-analysis-machine-learning-without-the-headaches/</guid><description>&lt;p&gt;Predictive analytics. The phrase itself sounds a little intimidating, doesn&amp;rsquo;t it? It conjures up images of complex algorithms and impenetrable math. But at its core, it&amp;rsquo;s about something deeply human: using the data you already have to make sharp, educated guesses about the future. It&amp;rsquo;s the engine that combines machine learning and good old statistical modeling to find patterns hidden in plain sight. The real goal? To move your business from constantly putting out fires to preventing them in the first place.&lt;/p&gt;</description></item><item><title>10 Powerful Artificial Intelligence Ideas Ready for 2025</title><link>https://kdpisda.in/10-powerful-artificial-intelligence-ideas-ready-for-2025/</link><pubDate>Sat, 18 Oct 2025 13:38:50 +0530</pubDate><guid>https://kdpisda.in/10-powerful-artificial-intelligence-ideas-ready-for-2025/</guid><description>&lt;p&gt;It feels like we are all swimming in an ocean of AI hype. Every day brings a new model, a new demo, a new claim that changes everything. I get it. The noise can be overwhelming. As an engineer building these systems for startups, I have seen the struggle firsthand: leaders want to leverage AI, but the path from a cool concept to a production grade feature is filled with potholes. We once had a client come to us with a grand vision for an AI system, only to realize after a few weeks of exploration that the real, immediate value was hiding in a much smaller, more focused application.&lt;/p&gt;</description></item><item><title>So You Want to Build a Fintech App? Let's Talk About What's Really at Stake</title><link>https://kdpisda.in/so-you-want-to-build-a-fintech-app-lets-talk-about-whats-really-at-stake/</link><pubDate>Fri, 17 Oct 2025 13:38:22 +0530</pubDate><guid>https://kdpisda.in/so-you-want-to-build-a-fintech-app-lets-talk-about-whats-really-at-stake/</guid><description>&lt;p&gt;Fintech application development isn&amp;rsquo;t your average coding gig. You&amp;rsquo;re not just spinning up another social media app; you&amp;rsquo;re building the digital vaults that hold people&amp;rsquo;s money, their savings, their futures. It&amp;rsquo;s all about &lt;strong&gt;trust&lt;/strong&gt; and &lt;strong&gt;precision&lt;/strong&gt;, and the stakes are terrifyingly high from the very first commit.&lt;/p&gt;
&lt;p&gt;This is why that initial discovery phase, the part everyone wants to rush through, isn&amp;rsquo;t just a box to check on a project plan. It&amp;rsquo;s the most critical part of your entire journey. Skip it, and you&amp;rsquo;re building on quicksand.&lt;/p&gt;</description></item><item><title>Your Tech Stack Feels Like It’s Held Together With Duct Tape? Let’s Talk Technical Consulting</title><link>https://kdpisda.in/your-tech-stack-feels-like-its-held-together-with-duct-tape-lets-talk-technical-consulting/</link><pubDate>Thu, 16 Oct 2025 13:02:04 +0530</pubDate><guid>https://kdpisda.in/your-tech-stack-feels-like-its-held-together-with-duct-tape-lets-talk-technical-consulting/</guid><description>&lt;p&gt;Have you ever stared at a bug report so strange it felt like the laws of physics were bending just for your application? Or maybe your team is locked in a fierce debate about which new technology to adopt, knowing that the wrong choice could set you back a year. We have all been there. That knot in your stomach is a signal that you might need a different kind of help.&lt;/p&gt;</description></item><item><title>Your Essential Product Launch Checklist Template</title><link>https://kdpisda.in/your-essential-product-launch-checklist-template/</link><pubDate>Wed, 15 Oct 2025 13:09:47 +0530</pubDate><guid>https://kdpisda.in/your-essential-product-launch-checklist-template/</guid><description>&lt;p&gt;A solid &lt;strong&gt;product launch checklist template&lt;/strong&gt; is your team&amp;rsquo;s single source of truth. It&amp;rsquo;s what turns launch day chaos into a repeatable, scalable process. Think of it as the framework that maps out every task, from early strategy to post launch analysis, ensuring your marketing, sales, and product teams are perfectly in sync.&lt;/p&gt;
&lt;h2 id="that-pre-launch-anxiety-you-know-too-well"&gt;That Pre Launch Anxiety You Know Too Well&lt;a class="heading-anchor" href="#that-pre-launch-anxiety-you-know-too-well" aria-hidden="true" tabindex="-1"&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;It&amp;rsquo;s 2 AM. The launch is hours away, and you&amp;rsquo;re wide awake, running through a mental list of everything that could possibly go wrong. Did the final press release get approved? Is the support team &lt;em&gt;actually&lt;/em&gt; ready for the flood of tickets? I have been there. My team and I once found a critical payment gateway bug just hours before a major go live. The panic was real.&lt;/p&gt;</description></item><item><title>A Guide to Startup MVP Development Services</title><link>https://kdpisda.in/a-guide-to-startup-mvp-development-services/</link><pubDate>Tue, 14 Oct 2025 13:05:02 +0530</pubDate><guid>https://kdpisda.in/a-guide-to-startup-mvp-development-services/</guid><description>&lt;p&gt;Every founder starts with a spark. That brilliant, intoxicating idea that feels destined to change the world. I know the feeling. The late nights sketching user flows on a whiteboard, so sure you&amp;rsquo;ve cracked the code for the next big thing.&lt;/p&gt;
&lt;p&gt;That energy is a founder&amp;rsquo;s superpower, but if we&amp;rsquo;re being honest, it can also be a little dangerous.&lt;/p&gt;
&lt;p&gt;&lt;picture&gt;
 &lt;source type="image/webp" srcset="https://kdpisda.in/a-guide-to-startup-mvp-development-services/d1d3ed70-4b36-423e-8f10-e14bef68c1ad_hu_4173ba57f63f4b83.webp 400w, https://kdpisda.in/a-guide-to-startup-mvp-development-services/d1d3ed70-4b36-423e-8f10-e14bef68c1ad_hu_e19d6070c211c7fc.webp 800w, https://kdpisda.in/a-guide-to-startup-mvp-development-services/d1d3ed70-4b36-423e-8f10-e14bef68c1ad_hu_bb68088a726001bc.webp 1024w" sizes="(min-width: 46rem) 704px, 100vw"&gt;
 &lt;img src="https://kdpisda.in/a-guide-to-startup-mvp-development-services/d1d3ed70-4b36-423e-8f10-e14bef68c1ad_hu_3dcf4471f308a456.jpg" srcset="https://kdpisda.in/a-guide-to-startup-mvp-development-services/d1d3ed70-4b36-423e-8f10-e14bef68c1ad_hu_d088fa96e5405364.jpg 400w, https://kdpisda.in/a-guide-to-startup-mvp-development-services/d1d3ed70-4b36-423e-8f10-e14bef68c1ad_hu_338579c35ddc2e1b.jpg 800w, https://kdpisda.in/a-guide-to-startup-mvp-development-services/d1d3ed70-4b36-423e-8f10-e14bef68c1ad_hu_3dcf4471f308a456.jpg 1024w" sizes="(min-width: 46rem) 704px, 100vw"
 width="1024" height="576"
 alt="A person working on a laptop with a lightbulb icon above their head, symbolizing a startup idea." loading="lazy" decoding="async"&gt;
&lt;/picture&gt;&lt;/p&gt;</description></item><item><title>Your Guide to Next.js Development Services for Real Business Growth</title><link>https://kdpisda.in/your-guide-to-next-js-development-services-for-real-business-growth/</link><pubDate>Mon, 13 Oct 2025 12:55:50 +0530</pubDate><guid>https://kdpisda.in/your-guide-to-next-js-development-services-for-real-business-growth/</guid><description>&lt;p&gt;Is your website secretly a boat anchor? It looks fine on the surface, but under the water, it&amp;rsquo;s heavy, slow, and holding your business back. I&amp;rsquo;ve seen it countless times: a potential customer lands on a site, waits five… six… seven seconds for it to load, and just clicks away. That&amp;rsquo;s a lost sale. A direct hit to your revenue. This isn&amp;rsquo;t just a tech headache; it&amp;rsquo;s a business problem that quietly strangles your growth.&lt;/p&gt;</description></item><item><title>Mastering the Many to Many Relationship</title><link>https://kdpisda.in/mastering-the-many-to-many-relationship/</link><pubDate>Sun, 12 Oct 2025 13:02:37 +0530</pubDate><guid>https://kdpisda.in/mastering-the-many-to-many-relationship/</guid><description>&lt;p&gt;A &lt;strong&gt;many to many relationship&lt;/strong&gt; is one of those concepts that feels a little abstract until you absolutely need it, and then it feels like hitting a brick wall. In simple terms, it&amp;rsquo;s when one record in a table can link to multiple records in another table, and the reverse is also true. Think about students and courses: one student can enroll in &lt;em&gt;many&lt;/em&gt; courses, and a single course is made up of &lt;em&gt;many&lt;/em&gt; students. This is the classic many to many scenario, and it&amp;rsquo;s the backbone of countless real world applications.&lt;/p&gt;</description></item><item><title>A Guide to Engineering Productivity Measurement</title><link>https://kdpisda.in/a-guide-to-engineering-productivity-measurement/</link><pubDate>Sat, 11 Oct 2025 13:02:18 +0530</pubDate><guid>https://kdpisda.in/a-guide-to-engineering-productivity-measurement/</guid><description>&lt;p&gt;It always starts the same way. A well meaning manager, maybe feeling some pressure from above, asks for a &amp;ldquo;productivity report.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;That request sends a quiet wave of panic through the engineering team. Suddenly, everyone&amp;rsquo;s scrambling to pull numbers and create charts filled with metrics that just feel… hollow. Lines of code? Story points? It&amp;rsquo;s a familiar scramble, and if you&amp;rsquo;ve been in this industry long enough, you&amp;rsquo;ve probably felt that same sinking feeling.&lt;/p&gt;</description></item><item><title>How to Choose a Technology Stack Without Losing Your Mind</title><link>https://kdpisda.in/how-to-choose-a-technology-stack-without-losing-your-mind/</link><pubDate>Fri, 10 Oct 2025 12:45:24 +0530</pubDate><guid>https://kdpisda.in/how-to-choose-a-technology-stack-without-losing-your-mind/</guid><description>&lt;p&gt;Picking the right technology stack is one of those early, terrifying decisions. Get it right, and you&amp;rsquo;re flying. Get it wrong, and you&amp;rsquo;re tangled in technical debt before you&amp;rsquo;ve even found your first customer. This isn&amp;rsquo;t just about code; it&amp;rsquo;s a strategic choice that pits your immediate needs against your future dreams, directly impacting your &lt;strong&gt;development speed&lt;/strong&gt;, &lt;strong&gt;scalability&lt;/strong&gt;, and, let&amp;rsquo;s be honest, how much this whole adventure is going to &lt;strong&gt;cost&lt;/strong&gt;.&lt;/p&gt;</description></item><item><title>A Guide to a Realistic Software Project Estimate</title><link>https://kdpisda.in/a-guide-to-a-realistic-software-project-estimate/</link><pubDate>Thu, 09 Oct 2025 12:47:44 +0530</pubDate><guid>https://kdpisda.in/a-guide-to-a-realistic-software-project-estimate/</guid><description>&lt;p&gt;A realistic software project estimate is really just a forecast. It&amp;rsquo;s your best guess at the time and resources you&amp;rsquo;ll need to get a project over the finish line, based on everything you know right now. It means breaking the work down, digging into past data, and using proven techniques to guess at the effort involved, all while remembering it&amp;rsquo;s a probability, not a promise.&lt;/p&gt;
&lt;h2 id="the-agony-and-ecstasy-of-software-estimation"&gt;The Agony and Ecstasy of Software Estimation&lt;a class="heading-anchor" href="#the-agony-and-ecstasy-of-software-estimation" aria-hidden="true" tabindex="-1"&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;&lt;picture&gt;
 &lt;source type="image/webp" srcset="https://kdpisda.in/a-guide-to-a-realistic-software-project-estimate/e438c88c-061e-4d18-8b74-5d6678d0c523_hu_9a6d8b361e37ea97.webp 400w, https://kdpisda.in/a-guide-to-a-realistic-software-project-estimate/e438c88c-061e-4d18-8b74-5d6678d0c523_hu_ae5e6ad9aa254fcd.webp 800w, https://kdpisda.in/a-guide-to-a-realistic-software-project-estimate/e438c88c-061e-4d18-8b74-5d6678d0c523_hu_17384495bc7abb0a.webp 1024w" sizes="(min-width: 46rem) 704px, 100vw"&gt;
 &lt;img src="https://kdpisda.in/a-guide-to-a-realistic-software-project-estimate/e438c88c-061e-4d18-8b74-5d6678d0c523_hu_b091fad8817d1a2e.jpg" srcset="https://kdpisda.in/a-guide-to-a-realistic-software-project-estimate/e438c88c-061e-4d18-8b74-5d6678d0c523_hu_70ee6e4fa08dbed1.jpg 400w, https://kdpisda.in/a-guide-to-a-realistic-software-project-estimate/e438c88c-061e-4d18-8b74-5d6678d0c523_hu_153d7a9efb7ba9b0.jpg 800w, https://kdpisda.in/a-guide-to-a-realistic-software-project-estimate/e438c88c-061e-4d18-8b74-5d6678d0c523_hu_b091fad8817d1a2e.jpg 1024w" sizes="(min-width: 46rem) 704px, 100vw"
 width="1024" height="576"
 alt="A developer looking stressed while surrounded by complex diagrams, symbolizing the difficulty of software project estimation." loading="lazy" decoding="async"&gt;
&lt;/picture&gt;&lt;/p&gt;</description></item><item><title>Software Development Cost Estimation Doesn't Have to Be a Lie</title><link>https://kdpisda.in/software-development-cost-estimation-doesnt-have-to-be-a-lie/</link><pubDate>Wed, 08 Oct 2025 12:42:08 +0530</pubDate><guid>https://kdpisda.in/software-development-cost-estimation-doesnt-have-to-be-a-lie/</guid><description>&lt;p&gt;It always starts with a simple, almost innocent question from a client or stakeholder: &amp;ldquo;So, how much is this going to cost?&amp;rdquo;&lt;/p&gt;
&lt;p&gt;If you have ever been on the receiving end of that question, you know it&amp;rsquo;s a minefield. Answering it feels less like a calculation and more like trying to predict the future, often with the same accuracy as a weather forecast a month out. I&amp;rsquo;ve been there, and the sweat is real.&lt;/p&gt;</description></item><item><title>Technical Due Diligence Checklist: The Terrifying Skeletons Hiding in Your Next Acquisition</title><link>https://kdpisda.in/technical-due-diligence-checklist-the-terrifying-skeletons-hiding-in-your-next-acquisition/</link><pubDate>Tue, 07 Oct 2025 12:35:06 +0530</pubDate><guid>https://kdpisda.in/technical-due-diligence-checklist-the-terrifying-skeletons-hiding-in-your-next-acquisition/</guid><description>&lt;p&gt;Picture this. You&amp;rsquo;re weeks away from closing a deal on a promising startup. The pitch was slick, the numbers look great, and the team seems sharp. But a nagging feeling persists. I&amp;rsquo;ve had that feeling. It&amp;rsquo;s the one that whispers, &lt;em&gt;what skeletons are hiding in the codebase?&lt;/em&gt; What if their &amp;lsquo;scalable&amp;rsquo; infrastructure is actually a house of cards held together by duct tape and hope?&lt;/p&gt;
&lt;p&gt;I have been there, both as a consultant brought in to clean up the mess and as an engineer seeing the hidden cracks firsthand. The truth is, a gut feeling will not save you from millions in technical debt. You need a structured, systematic approach to peel back the layers and inspect the engine room. This process is not just about avoiding disaster; it&amp;rsquo;s about understanding the true value and potential of what you are buying. It&amp;rsquo;s about quantifying the risks and identifying the hidden strengths.&lt;/p&gt;</description></item><item><title>8 Unmissable API Documentation Best Practices for 2025</title><link>https://kdpisda.in/8-unmissable-api-documentation-best-practices-for-2025/</link><pubDate>Mon, 06 Oct 2025 12:26:00 +0530</pubDate><guid>https://kdpisda.in/8-unmissable-api-documentation-best-practices-for-2025/</guid><description>&lt;p&gt;You&amp;rsquo;ve built a powerful, elegant API. The code is clean, the architecture is scalable, and the performance is lightning fast. So you ship it. But then… crickets. Adoption stalls, support tickets pile up, and you hear whispers that integrating your service is a nightmare. What went wrong? It probably was not your code. It was the silent killer of even the most brilliant APIs: bad documentation.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve been there. I&amp;rsquo;ve written documentation that I thought was clear, only to find out it was a riddle wrapped in an enigma. Poor docs turn a powerful tool into an unusable black box, wasting developer time and destroying user trust. This is the story of how we learned to fix that.&lt;/p&gt;</description></item><item><title>Top 9 Microservices Architecture Best Practices for 2025</title><link>https://kdpisda.in/top-9-microservices-architecture-best-practices-for-2025/</link><pubDate>Sun, 05 Oct 2025 12:22:42 +0530</pubDate><guid>https://kdpisda.in/top-9-microservices-architecture-best-practices-for-2025/</guid><description>&lt;p&gt;I remember the exact moment our monolith started to creak under its own weight. It was a Tuesday, and a seemingly tiny deployment for the user profile page brought down the entire checkout process. The business was frantic, and my team was in a frantic scramble, untangling dependencies we did not even know existed. That night, over cold pizza, we decided something had to change. We were stepping into the world of microservices.&lt;/p&gt;</description></item><item><title>Retrieval Augmented Generation The Secret Sauce For Smarter AI</title><link>https://kdpisda.in/retrieval-augmented-generation-the-secret-sauce-for-smarter-ai/</link><pubDate>Sat, 04 Oct 2025 12:44:21 +0530</pubDate><guid>https://kdpisda.in/retrieval-augmented-generation-the-secret-sauce-for-smarter-ai/</guid><description>&lt;p&gt;Have you ever asked a chatbot a simple question and gotten a beautifully confident, yet completely wrong answer? I&amp;rsquo;ve been there. A while back, my team was building an internal tool to help our developers navigate our ever changing API documentation. The base Large Language Model was a wizard at explaining general coding concepts. But when we asked about a specific, recently updated endpoint, it hallucinated parameters that just didn&amp;rsquo;t exist.&lt;/p&gt;</description></item><item><title>Your Guide to Testing Software Requirements Before You Write a Single Line of Code</title><link>https://kdpisda.in/your-guide-to-testing-software-requirements-before-you-write-a-single-line-of-code/</link><pubDate>Fri, 03 Oct 2025 11:01:25 +0530</pubDate><guid>https://kdpisda.in/your-guide-to-testing-software-requirements-before-you-write-a-single-line-of-code/</guid><description>&lt;p&gt;Ever poured weeks into a feature that matched the spec sheet perfectly, only to watch it land with a thud? I have. It&amp;rsquo;s a gut wrenching feeling. You followed the map, but the map led you off a cliff.&lt;/p&gt;
&lt;p&gt;This is the silent killer of so many projects: we focus so intensely on &lt;em&gt;building the thing right&lt;/em&gt; that we forget to ask if we&amp;rsquo;re even &lt;em&gt;building the right thing&lt;/em&gt;. &amp;ldquo;Testing software requirements&amp;rdquo; is the formal name for this gut check. It&amp;rsquo;s the process of interrogating your plan before the first line of code is ever written, saving you from the nightmare of building beautiful software that nobody actually wants.&lt;/p&gt;</description></item><item><title>What Is Test Driven Development? A Guide to Saner Coding</title><link>https://kdpisda.in/what-is-test-driven-development-a-guide-to-saner-coding/</link><pubDate>Thu, 02 Oct 2025 12:14:42 +0530</pubDate><guid>https://kdpisda.in/what-is-test-driven-development-a-guide-to-saner-coding/</guid><description>&lt;p&gt;We’ve all been there. It’s &lt;strong&gt;10 PM&lt;/strong&gt; on a Tuesday, and an alert screams from your monitoring dashboard. A critical feature, one that was working perfectly just hours ago, has suddenly broken in production.&lt;/p&gt;
&lt;p&gt;The pressure mounts with every passing minute as you dive into the codebase, frantically trying to pinpoint the source of the chaos. Every change you consider feels like a massive gamble. Did your last deployment cause this? Was it an obscure edge case nobody thought of? Fixing one thing might silently break three others. I once spent an entire afternoon chasing a bug like this, only to find a single misplaced comma. It&amp;rsquo;s maddening.&lt;/p&gt;</description></item><item><title>Starting a Django Project Without the Headaches</title><link>https://kdpisda.in/starting-a-django-project-without-the-headaches/</link><pubDate>Wed, 01 Oct 2025 13:30:00 +0530</pubDate><guid>https://kdpisda.in/starting-a-django-project-without-the-headaches/</guid><description>&lt;p&gt;Staring at a blank terminal, about to start a new project, can be surprisingly intimidating. I remember my first few times getting completely lost in a jungle of tutorials, each one swearing it had the &amp;ldquo;one true way&amp;rdquo; to set things up. The noise and conflicting advice can make you second guess your very first command before you have even typed it.&lt;/p&gt;
&lt;p&gt;This guide is here to cut through all that. We are going to walk through the initial setup, step by step, and clear up the common sticking points. This is not just about blindly running commands; it is about understanding &lt;em&gt;why&lt;/em&gt; you are doing what you are doing, so you can start your project with confidence.&lt;/p&gt;</description></item><item><title>Mastering the Django Model Form</title><link>https://kdpisda.in/mastering-the-django-model-form/</link><pubDate>Tue, 30 Sep 2025 00:41:52 +0530</pubDate><guid>https://kdpisda.in/mastering-the-django-model-form/</guid><description>&lt;p&gt;A &lt;strong&gt;Django ModelForm&lt;/strong&gt; is a special kind of class that automatically builds a form right from a Django model. Think of it as a smart bridge; it looks at your model&amp;rsquo;s fields and creates the corresponding form fields for you. This simple trick slashes the amount of boilerplate code you have to write for creating, updating, and validating data.&lt;/p&gt;
&lt;h2 id="the-hidden-cost-of-manual-form-building"&gt;The Hidden Cost of Manual Form Building&lt;a class="heading-anchor" href="#the-hidden-cost-of-manual-form-building" aria-hidden="true" tabindex="-1"&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;Remember the last time you built a standard web form from scratch? You had to define every single field in a &lt;code&gt;forms.py&lt;/code&gt; file, cook up specific validation logic, and then painstakingly map each input back to your database model inside the view. It&amp;rsquo;s a repetitive, error prone grind I like to call &amp;ldquo;form boilerplate hell.&amp;rdquo;&lt;/p&gt;</description></item><item><title>The Great Encryption Heist: Symmetric vs Asymmetric Keys Explained Through Hollywood Magic</title><link>https://kdpisda.in/the-great-encryption-heist-symmetric-vs-asymmetric-keys-explained-through-hollywood-magic/</link><pubDate>Tue, 26 Aug 2025 00:16:18 +0530</pubDate><guid>https://kdpisda.in/the-great-encryption-heist-symmetric-vs-asymmetric-keys-explained-through-hollywood-magic/</guid><description>&lt;h2 id="act-i-the-setup---why-we-need-encryption"&gt;Act I: The Setup - Why We Need Encryption&lt;a class="heading-anchor" href="#act-i-the-setup---why-we-need-encryption" aria-hidden="true" tabindex="-1"&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;Picture this: You&amp;rsquo;re Ethan Hunt from Mission Impossible, and you need to send classified information across enemy territory. One wrong move, and your message falls into the wrong hands. This is exactly why we need encryption – it&amp;rsquo;s our digital disguise, our cyber invisibility cloak.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://tenor.com/view/dropping-the-knife-ethan-hunt-mission-impossible-the-final-reckoning-losing-hold-of-the-knife-shocked-gif-10213742574556966485?ref=kdpisda.in"&gt;Dropping The Knife Ethan Hunt GIF&lt;/a&gt;from &lt;a href="https://tenor.com/search/dropping+the+knife-gifs?ref=kdpisda.in"&gt;Dropping The Knife GIFs&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In the world of cybersecurity, we have two main protagonists in our encryption thriller: &lt;strong&gt;Symmetric Keys&lt;/strong&gt; and &lt;strong&gt;Asymmetric Keys&lt;/strong&gt;. Think of them as two different approaches to the same mission – keeping secrets safe.&lt;/p&gt;</description></item><item><title>What are JWTs and how secure are they?</title><link>https://kdpisda.in/what-are-jwts-and-how-secure-are-they/</link><pubDate>Mon, 25 Aug 2025 23:59:56 +0530</pubDate><guid>https://kdpisda.in/what-are-jwts-and-how-secure-are-they/</guid><description>&lt;p&gt;JSON Web Tokens (JWTs) have become a cornerstone of modern web authentication, offering a stateless and scalable approach to user authentication and authorization. But with great power comes great responsibility – and the need to understand both their capabilities and potential security pitfalls.&lt;/p&gt;
&lt;h2 id="what-are-json-web-tokens"&gt;What are JSON Web Tokens?&lt;a class="heading-anchor" href="#what-are-json-web-tokens" aria-hidden="true" tabindex="-1"&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;JSON Web Tokens are an open standard (RFC 7519) that defines a compact and self-contained way to securely transmit information between parties as a JSON object. Unlike traditional session-based authentication that stores user data on the server, JWTs contain all necessary information within the token itself.&lt;/p&gt;</description></item><item><title>Docker Setup Guide: A Hollywood Blockbuster Edition</title><link>https://kdpisda.in/docker-setup-guide-a-hollywood-blockbuster-edition/</link><pubDate>Wed, 23 Jul 2025 23:54:46 +0530</pubDate><guid>https://kdpisda.in/docker-setup-guide-a-hollywood-blockbuster-edition/</guid><description>&lt;p&gt;Look, I&amp;rsquo;ve been where you are. Staring at Docker documentation, feeling like you&amp;rsquo;re trying to decipher alien technology. So let me break this down using something we all understand – movies – and then get into the real technical meat. Grab a coffee, this is going to be a proper deep dive.&lt;/p&gt;
&lt;h2 id="what-is-docker-the-matrix-has-you"&gt;What is Docker? The Matrix Has You&lt;a class="heading-anchor" href="#what-is-docker-the-matrix-has-you" aria-hidden="true" tabindex="-1"&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;figure class="kg-card kg-embed-card"&gt;&lt;iframe frameborder="0" height="400" src="https://tenor.com/embed/25628490" width="600"&gt;&lt;/iframe&gt;&lt;/figure&gt;
&lt;p&gt;Remember when Neo took the red pill in &lt;em&gt;The Matrix&lt;/em&gt; and discovered that his entire world was actually a simulation? Docker containers are similar – they&amp;rsquo;re lightweight, portable environments that simulate a complete runtime environment for your application.&lt;/p&gt;</description></item><item><title>How to store passwords securely in the Database?</title><link>https://kdpisda.in/how-to-store-password-securely-in-the-database/</link><pubDate>Sun, 13 Jul 2025 20:54:40 +0530</pubDate><guid>https://kdpisda.in/how-to-store-password-securely-in-the-database/</guid><description>&lt;p&gt;When building any application that requires user authentication, one of the most critical security decisions you&amp;rsquo;ll make is how to store user passwords. Get this wrong, and you could expose your users to catastrophic security breaches. Get it right, and you&amp;rsquo;ll have laid a solid foundation for your application&amp;rsquo;s security.&lt;/p&gt;
&lt;p&gt;In this comprehensive guide, we&amp;rsquo;ll explore the evolution of password storage techniques, from the naive approaches that should never be used to the sophisticated methods employed by modern frameworks like Django. Whether you&amp;rsquo;re a beginner just starting out or looking to deepen your understanding of password security, this article will take you through everything you need to know.&lt;/p&gt;</description></item><item><title>Secret Messages: Understanding Encryption vs. Hashing Through a 90s Love Story</title><link>https://kdpisda.in/secret-messages-understanding-encryption-vs-hashing-through-a-90s-love-story/</link><pubDate>Thu, 27 Mar 2025 15:38:52 +0530</pubDate><guid>https://kdpisda.in/secret-messages-understanding-encryption-vs-hashing-through-a-90s-love-story/</guid><description>&lt;p&gt;The year was 1998. A time of dial-up internet, boy bands, and passing notes in class. For 16-year-old Alex and Jamie, passing notes was their lifeline—a private channel in a world where their parents monitored everything from phone calls to AOL Instant Messenger.&lt;/p&gt;
&lt;p&gt;&lt;picture&gt;
 &lt;source type="image/webp" srcset="https://kdpisda.in/secret-messages-understanding-encryption-vs-hashing-through-a-90s-love-story/students-14-15-in-corridor-2024-10-18-06-05-43-utc-Medium_hu_75cce1d642a070dd.webp 400w, https://kdpisda.in/secret-messages-understanding-encryption-vs-hashing-through-a-90s-love-story/students-14-15-in-corridor-2024-10-18-06-05-43-utc-Medium_hu_281353ee0a65e60c.webp 640w" sizes="(min-width: 46rem) 704px, 100vw"&gt;
 &lt;img src="https://kdpisda.in/secret-messages-understanding-encryption-vs-hashing-through-a-90s-love-story/students-14-15-in-corridor-2024-10-18-06-05-43-utc-Medium_hu_8025d4a2b529ff65.jpeg" srcset="https://kdpisda.in/secret-messages-understanding-encryption-vs-hashing-through-a-90s-love-story/students-14-15-in-corridor-2024-10-18-06-05-43-utc-Medium_hu_9495a4960344507b.jpeg 400w, https://kdpisda.in/secret-messages-understanding-encryption-vs-hashing-through-a-90s-love-story/students-14-15-in-corridor-2024-10-18-06-05-43-utc-Medium_hu_8025d4a2b529ff65.jpeg 640w" sizes="(min-width: 46rem) 704px, 100vw"
 width="640" height="427"
 alt="" loading="lazy" decoding="async"&gt;
&lt;/picture&gt;&lt;/p&gt;
&lt;p&gt;It began innocently enough. Folded notebook paper slipped between textbooks during class changes. Messages hidden in borrowed CDs. Notes taped under cafeteria tables to be retrieved later.&lt;/p&gt;</description></item><item><title>The Day the Internet Broke: How Microsoft’s Quantum Leap Could Reshape Digital Privacy (And Why Silicon Valley’s Fictional Nightmare Is Closer Than You Think)</title><link>https://kdpisda.in/the-day-the-internet-broke-how-microsofts-quantum-leap-could-reshape-digital-privacy-and-why-silicon-valleys-fictional-nightmare-is-closer-than-you-think/</link><pubDate>Sat, 22 Feb 2025 22:18:24 +0530</pubDate><guid>https://kdpisda.in/the-day-the-internet-broke-how-microsofts-quantum-leap-could-reshape-digital-privacy-and-why-silicon-valleys-fictional-nightmare-is-closer-than-you-think/</guid><description>&lt;p&gt;Remember the bustling living room at Pied Piper headquarters from HBO’s hit show &lt;a href="https://www.hbo.com/silicon-valley?ref=kdpisda.in"&gt;&lt;em&gt;Silicon Valley&lt;/em&gt;&lt;/a&gt;. A modest crowd of scrappy developers huddle around a single laptop, eyes widened in disbelief. Their newly-created AI has just cracked an impenetrable encryption protocol—something that was supposed to take millions of years—&lt;em&gt;in mere seconds&lt;/em&gt;. Lines of encrypted data morph into plain text, and as realization dawns, their triumphant expressions freeze into a collective look of dread.&lt;/p&gt;</description></item><item><title>Join Kuldeep Pisda at PyConf Hyderabad 2025 for a hands-on workshop on mastering Test-Driven Development in Django using factory_boy and faker</title><link>https://kdpisda.in/join-kuldeep-pisda-at-pyconf-hyderabad-2025-for-a-hands-on-workshop-on-mastering-test-driven-development-in-django-using-factory_boy-and-faker/</link><pubDate>Mon, 17 Feb 2025 17:08:28 +0530</pubDate><guid>https://kdpisda.in/join-kuldeep-pisda-at-pyconf-hyderabad-2025-for-a-hands-on-workshop-on-mastering-test-driven-development-in-django-using-factory_boy-and-faker/</guid><description>&lt;p&gt;I&amp;rsquo;m thrilled to announce that I&amp;rsquo;ll be presenting a hands-on workshop at &lt;strong&gt;PyConf Hyderabad 2025&lt;/strong&gt; titled &lt;strong&gt;&amp;ldquo;Mastering Test-Driven Development in Django: A Comprehensive Guide with&lt;/strong&gt; factory_boy &lt;strong&gt;and&lt;/strong&gt; faker**.&amp;rdquo;** This session is scheduled for &lt;strong&gt;Sunday, February 23, 2025&lt;/strong&gt;, from &lt;strong&gt;11:00 AM to 12:30 PM IST&lt;/strong&gt;, and will be held at the conference venue in Hyderabad.&lt;/p&gt;
&lt;h2 id="session-overview"&gt;Session Overview&lt;a class="heading-anchor" href="#session-overview" aria-hidden="true" tabindex="-1"&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;In the fast-paced world of software development, ensuring code reliability and maintainability is paramount. Test-Driven Development (TDD) has emerged as a pivotal methodology to achieve these goals, promoting the writing of tests before actual code implementation. This approach not only enhances code quality but also facilitates seamless integration and refactoring.&lt;/p&gt;</description></item><item><title>Announcing Kuldeep Pisda's DjangoCon US 2024 Tutorial: Efficient Django – Mastering Asynchronous Tasks with Celery, RabbitMQ, and Redis</title><link>https://kdpisda.in/announcing-kuldeep-pisdas-djangocon-us-2024-tutorial-efficient-django-mastering-asynchronous-tasks-with-celery-rabbitmq-and-redis/</link><pubDate>Thu, 01 Aug 2024 09:23:00 +0530</pubDate><guid>https://kdpisda.in/announcing-kuldeep-pisdas-djangocon-us-2024-tutorial-efficient-django-mastering-asynchronous-tasks-with-celery-rabbitmq-and-redis/</guid><description>&lt;p&gt;I&amp;rsquo;m excited to announce that I&amp;rsquo;ll be leading an in-depth tutorial at DjangoCon US 2024 titled &lt;strong&gt;&amp;ldquo;Efficient Django: Mastering Asynchronous Tasks with Celery, RabbitMQ, and Redis.&amp;rdquo;&lt;/strong&gt; This session is scheduled for &lt;strong&gt;Sunday, September 22, from 9:30 AM to 1:00 PM EDT&lt;/strong&gt;, and will take place in &lt;strong&gt;Junior Ballroom A1-A2&lt;/strong&gt;.&lt;/p&gt;
&lt;figure class="kg-card kg-bookmark-card"&gt;
 &lt;a class="kg-bookmark-container" href="https://2022.djangocon.us/tutorials/using-django-for-serving-rest-apis-with/?ref=kdpisda.in"&gt;
 &lt;div class="kg-bookmark-content"&gt;
 &lt;div class="kg-bookmark-title"&gt;Using Django for serving REST APIs with permission control and customizing the default admin panel&lt;/div&gt;
 &lt;div class="kg-bookmark-description"&gt;In the session, we will see how we can use Django to serve APIs. Create REST Endpoints quickly with DRF. Implement proper permissions on the REST endpoints, for example, an admin can perform any operation on any data. But a specific user can perform a limited operation on certain specific resources. Respond with different responses as per the defined user’s permission level. For example, the admin will get all the fields in the response, but a normal user will get only a selected field of the model. Implement Pagination on the REST endpoint. Create custom endpoints on the REST Endpoints.&lt;/div&gt;
 &lt;div class="kg-bookmark-metadata"&gt;
 &lt;img class="kg-bookmark-icon" src="https://kdpisda.in/announcing-kuldeep-pisdas-djangocon-us-2024-tutorial-efficient-django-mastering-asynchronous-tasks-with-celery-rabbitmq-and-redis/link-icon.svg" alt="" loading="lazy"&gt;
 &lt;span class="kg-bookmark-author"&gt;DjangoCon US&lt;/span&gt;
 &lt;span class="kg-bookmark-publisher"&gt;DjangoCon US&lt;/span&gt;
 &lt;/div&gt;
 &lt;/div&gt;
 &lt;div class="kg-bookmark-thumbnail"&gt;&lt;img src="https://kdpisda.in/announcing-kuldeep-pisdas-djangocon-us-2024-tutorial-efficient-django-mastering-asynchronous-tasks-with-celery-rabbitmq-and-redis/image.jpg" alt="" loading="lazy"&gt;&lt;/div&gt;
 &lt;/a&gt;
&lt;/figure&gt;

&lt;h2 id="session-overview"&gt;Session Overview&lt;a class="heading-anchor" href="#session-overview" aria-hidden="true" tabindex="-1"&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;In the dynamic world of web development, efficiently managing high-volume, asynchronous tasks is crucial for building scalable applications. This workshop is meticulously designed for Django developers aiming to enhance their applications&amp;rsquo; performance through effective asynchronous task management. The session combines theoretical insights with hands-on practice, ensuring a comprehensive learning experience.&lt;/p&gt;</description></item><item><title>Mastering Generic Foreign Keys: Flexible References in Django</title><link>https://kdpisda.in/mastering-generic-foreign-keys-flexible/</link><pubDate>Tue, 12 Sep 2023 21:58:46 +0530</pubDate><guid>https://kdpisda.in/mastering-generic-foreign-keys-flexible/</guid><description>&lt;p&gt;This blog post will delve into &lt;strong&gt;Generic Foreign Keys&lt;/strong&gt; in Django. We&amp;rsquo;ll explore what they are, when they are helpful, and how to define them in a Django model.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Please note that this post primarily focuses on understanding the concept behind Generic Foreign Keys and does not delve into the debate of whether they are the best choice from a database design perspective or whether they should be used.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Thanks for reading Learn with KD! Subscribe for free to receive new posts and support my work.&lt;/p&gt;</description></item><item><title>How to structure the Django Project?</title><link>https://kdpisda.in/how-to-structure-the-django-project-67b052414baa63001bbc0632/</link><pubDate>Thu, 07 Sep 2023 14:06:57 +0530</pubDate><guid>https://kdpisda.in/how-to-structure-the-django-project-67b052414baa63001bbc0632/</guid><description>&lt;p&gt;Django&amp;rsquo;s Command Line Interface (CLI) is a powerful tool for generating well-structured Django projects. However, maintaining that clean structure can become challenging as we create multiple apps, models, views, and routes. In this article, we&amp;rsquo;ll unveil our preferred method for organizing Django projects. This approach has proven invaluable in creating and sustaining an organized and understandable directory structure, even as our Django project evolves and scales.&lt;/p&gt;
&lt;h2 id="the-default-structure"&gt;The Default Structure&lt;a class="heading-anchor" href="#the-default-structure" aria-hidden="true" tabindex="-1"&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;project/
|-- app/
| |-- migrations/
| | |-- __init__.py
| |-- __init__.py
| |-- admin.py
| |-- apps.py
| |-- models.py
| |-- tests.py
| |-- views.py
|-- project/
| |-- __init__.py
| |-- settings.py
| |-- urls.py
| |-- asgi.py
| |-- wsgi.py
|-- manage.py
|-- requirements.txt
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;When we create an app in Django, a folder is made with the name of the app, and typically, it consists of a &lt;code&gt;migrations&lt;/code&gt; folder and several files to configure the admin, models, tests, and views.&lt;/p&gt;</description></item><item><title>Announcing Kuldeep Pisda's DjangoCon US 2023 Tutorial: Mastering Test-Driven Development in Django with factory_boy and faker</title><link>https://kdpisda.in/announcing-kuldeep-pisdas-djangocon-us-2023-tutorial-mastering-test-driven-development-in-django-with-factory_boy-and-faker/</link><pubDate>Thu, 20 Jul 2023 09:12:00 +0530</pubDate><guid>https://kdpisda.in/announcing-kuldeep-pisdas-djangocon-us-2023-tutorial-mastering-test-driven-development-in-django-with-factory_boy-and-faker/</guid><description>&lt;p&gt;I&amp;rsquo;m excited to announce that I&amp;rsquo;ll be conducting an in-depth tutorial at DjangoCon US 2023 titled &lt;strong&gt;&amp;ldquo;Mastering Test-Driven Development in Django: A Comprehensive Guide with &lt;code&gt;factory_boy&lt;/code&gt; and &lt;code&gt;faker&lt;/code&gt;.&amp;rdquo;&lt;/strong&gt; This session is scheduled for &lt;strong&gt;Sunday, October 8, from 9:00 AM to 12:30 PM EDT&lt;/strong&gt;, and will be held online.&lt;/p&gt;
&lt;figure class="kg-card kg-bookmark-card"&gt;
 &lt;a class="kg-bookmark-container" href="https://2023.djangocon.us/tutorials/mastering-test-driven-development-in-django-a-comprehensive-guide-with-factory-boy-and-faker/?ref=kdpisda.in"&gt;
 &lt;div class="kg-bookmark-content"&gt;
 &lt;div class="kg-bookmark-title"&gt;Mastering Test Driven Development in Django: A Comprehensive Guide with factory_boy and faker&lt;/div&gt;
 &lt;div class="kg-bookmark-description"&gt;In this workshop, we will learn the followings:&lt;/div&gt;
 &lt;div class="kg-bookmark-metadata"&gt;
 &lt;img class="kg-bookmark-icon" src="https://kdpisda.in/announcing-kuldeep-pisdas-djangocon-us-2023-tutorial-mastering-test-driven-development-in-django-with-factory_boy-and-faker/link-icon.svg" alt="" loading="lazy"&gt;
 &lt;span class="kg-bookmark-author"&gt;DjangoCon US&lt;/span&gt;
 &lt;span class="kg-bookmark-publisher"&gt;DjangoCon US&lt;/span&gt;
 &lt;/div&gt;
 &lt;/div&gt;
 &lt;div class="kg-bookmark-thumbnail"&gt;&lt;img src="https://kdpisda.in/announcing-kuldeep-pisdas-djangocon-us-2023-tutorial-mastering-test-driven-development-in-django-with-factory_boy-and-faker/kuldeep-pisda.png" alt="" loading="lazy"&gt;&lt;/div&gt;
 &lt;/a&gt;
&lt;/figure&gt;

&lt;h2 id="session-overview"&gt;Session Overview&lt;a class="heading-anchor" href="#session-overview" aria-hidden="true" tabindex="-1"&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;In the ever-evolving landscape of software development, ensuring code reliability and maintainability is paramount. Test-Driven Development (TDD) has emerged as a pivotal methodology to achieve these goals, promoting the writing of tests before actual code implementation. This approach not only enhances code quality but also facilitates seamless integration and refactoring.&lt;/p&gt;</description></item><item><title>How to customize REST API responses per user in Django?</title><link>https://kdpisda.in/how-to-customize-rest-api-responses-per-user-in-django/</link><pubDate>Sat, 11 Feb 2023 13:20:01 +0530</pubDate><guid>https://kdpisda.in/how-to-customize-rest-api-responses-per-user-in-django/</guid><description>&lt;p&gt;Learn to customize the REST API responses per the user roles in Django and Django-rest-framework.&lt;/p&gt;
&lt;h3 id="introduction"&gt;Introduction&lt;a class="heading-anchor" href="#introduction" aria-hidden="true" tabindex="-1"&gt;#&lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;In modern web development, it’s common to use REST APIs to exchange data between the front end and back end of a web application. In this article, we’ll learn how to customize REST API responses per user in Django.&lt;/p&gt;
&lt;p&gt;For this article, let’s consider an example where we have two user roles in our application- &lt;code&gt;student&lt;/code&gt; and &lt;code&gt;teacher&lt;/code&gt; We have a REST API endpoint that returns information about courses. We want to return different information for each user type — while the admin user should see all information, the student user should see only the courses they are enrolled in. The teacher user should see the courses they are teaching.&lt;/p&gt;</description></item><item><title>How to make REST APIs in Django using Django-rest-framework?</title><link>https://kdpisda.in/how-to-make-rest-apis-in-django-using-django-rest-framework/</link><pubDate>Fri, 20 Jan 2023 08:58:07 +0530</pubDate><guid>https://kdpisda.in/how-to-make-rest-apis-in-django-using-django-rest-framework/</guid><description>&lt;h2 id="table-of-contents"&gt;Table of Contents&lt;a class="heading-anchor" href="#table-of-contents" aria-hidden="true" tabindex="-1"&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href="#introduction"&gt;Introduction&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#prerequisites"&gt;Prerequisites&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#what-is-django-rest-framework"&gt;What is Django REST Framework?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#understanding-rest-api-principles"&gt;Understanding REST API Principles&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#setting-up-your-development-environment"&gt;Setting Up Your Development Environment&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#creating-your-django-project"&gt;Creating Your Django Project&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#building-your-first-rest-api"&gt;Building Your First REST API&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#implementing-authentication"&gt;Implementing Authentication&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#adding-custom-permissions"&gt;Adding Custom Permissions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#testing-your-api"&gt;Testing Your API&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#project-structure"&gt;Project Structure&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#conclusion"&gt;Conclusion&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="introduction"&gt;Introduction&lt;a class="heading-anchor" href="#introduction" aria-hidden="true" tabindex="-1"&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;Building REST APIs with Django has never been easier thanks to Django REST Framework (DRF). This comprehensive tutorial will guide you through creating a complete RESTful API for a to-do list application from scratch.&lt;/p&gt;</description></item><item><title>What is a REST API?</title><link>https://kdpisda.in/what-is-a-rest-api/</link><pubDate>Wed, 16 Nov 2022 08:50:01 +0530</pubDate><guid>https://kdpisda.in/what-is-a-rest-api/</guid><description>&lt;p&gt;Let’s say the mobile team or the front-end team comes to us and asks for some APIs to get the dynamic data from the backend.&lt;/p&gt;
&lt;p&gt;What do we do?&lt;/p&gt;
&lt;p&gt;I mean, of course, we would ask for the requirements, right? Like what data they would want and what would be the methods, how we would return the response, and so on.&lt;/p&gt;
&lt;p&gt;And then the million-dollar question is to decide the endpoints right?&lt;/p&gt;</description></item><item><title>Announcing Kuldeep Pisda's DjangoCon US 2022 Tutorial: Mastering Django REST APIs and Admin Panel Customization</title><link>https://kdpisda.in/announcing-kuldeep-pisdas-djangocon-us-2022-tutorial-mastering-django-rest-apis-and-admin-panel-customization/</link><pubDate>Tue, 16 Aug 2022 00:00:00 +0530</pubDate><guid>https://kdpisda.in/announcing-kuldeep-pisdas-djangocon-us-2022-tutorial-mastering-django-rest-apis-and-admin-panel-customization/</guid><description>&lt;p&gt;I&amp;rsquo;m excited to announce that I&amp;rsquo;ll be leading a comprehensive tutorial at DjangoCon US 2022 titled &lt;strong&gt;&amp;ldquo;Using Django for Serving REST APIs with Permission Control and Customizing the Default Admin Panel.&amp;rdquo;&lt;/strong&gt; This session is scheduled for &lt;strong&gt;Sunday, October 16, from 1:30 PM to 5:00 PM PDT 2022&lt;/strong&gt;.&lt;/p&gt;
&lt;figure class="kg-card kg-bookmark-card"&gt;
 &lt;a class="kg-bookmark-container" href="https://2022.djangocon.us/tutorials/using-django-for-serving-rest-apis-with/?ref=kdpisda.in"&gt;
 &lt;div class="kg-bookmark-content"&gt;
 &lt;div class="kg-bookmark-title"&gt;Using Django for serving REST APIs with permission control and customizing the default admin panel&lt;/div&gt;
 &lt;div class="kg-bookmark-description"&gt;In the session, we will see how we can use Django to serve APIs. Create REST Endpoints quickly with DRF. Implement proper permissions on the REST endpoints, for example, an admin can perform any operation on any data. But a specific user can perform a limited operation on certain specific resources. Respond with different responses as per the defined user’s permission level. For example, the admin will get all the fields in the response, but a normal user will get only a selected field of the model. Implement Pagination on the REST endpoint. Create custom endpoints on the REST Endpoints.&lt;/div&gt;
 &lt;div class="kg-bookmark-metadata"&gt;
 &lt;img class="kg-bookmark-icon" src="https://kdpisda.in/announcing-kuldeep-pisdas-djangocon-us-2022-tutorial-mastering-django-rest-apis-and-admin-panel-customization/link-icon.svg" alt="" loading="lazy"&gt;
 &lt;span class="kg-bookmark-author"&gt;DjangoCon US&lt;/span&gt;
 &lt;span class="kg-bookmark-publisher"&gt;DjangoCon US&lt;/span&gt;
 &lt;/div&gt;
 &lt;/div&gt;
 &lt;div class="kg-bookmark-thumbnail"&gt;&lt;img src="https://kdpisda.in/announcing-kuldeep-pisdas-djangocon-us-2022-tutorial-mastering-django-rest-apis-and-admin-panel-customization/image.jpg" alt="" loading="lazy"&gt;&lt;/div&gt;
 &lt;/a&gt;
&lt;/figure&gt;

&lt;h2 id="session-overview"&gt;Session Overview&lt;a class="heading-anchor" href="#session-overview" aria-hidden="true" tabindex="-1"&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;In today&amp;rsquo;s rapidly evolving digital landscape, the ability to develop robust and secure APIs is paramount. Equally important is the capacity to manage and customize administrative interfaces to suit specific project requirements. This tutorial is meticulously designed to address both aspects, providing participants with hands-on experience in:&lt;/p&gt;</description></item><item><title>How to validate the raw JSON post request body in Django?</title><link>https://kdpisda.in/how-to-validate-the-raw-json-post-request-body-in-django/</link><pubDate>Fri, 11 Sep 2020 12:16:57 +0530</pubDate><guid>https://kdpisda.in/how-to-validate-the-raw-json-post-request-body-in-django/</guid><description>&lt;p&gt;While making APIs, validating the request body is essential. It not only helps in pre-validating the request, but it also helps in handling fewer exceptions in the API call that might occur because of the invalid data type or the request body in the request.&lt;/p&gt;
&lt;p&gt;Well, in this post, I will share how you may quickly validate your request body in Django with Django-Rest-Framework. I will add most of the variants of the JSON request body.&lt;/p&gt;</description></item><item><title>Things to know before starting a startup</title><link>https://kdpisda.in/things-to-know-before-starting-a-startup/</link><pubDate>Thu, 27 Dec 2018 23:07:10 +0530</pubDate><guid>https://kdpisda.in/things-to-know-before-starting-a-startup/</guid><description>&lt;p&gt;Originally published at &lt;a href="https://www.happychases.com/things-to-know-before-starting-a-startup/?ref=kdpisda.in"&gt;HappyChases&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Since I have been working with/on startups since the last couple of years, I have noticed that many of the new-comers invest a lot of money before looking for another free or cheap solutions. So here it is &lt;strong&gt;“Things to know before starting a startup”&lt;/strong&gt;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id="the-problem"&gt;The Problem&lt;a class="heading-anchor" href="#the-problem" aria-hidden="true" tabindex="-1"&gt;#&lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;I will share the case study of one of my friend. Due to privacy reasons, I will not be able to share the original name but for the post let’s assume that the name of the startup is Abc. So my friend X, Y, and Z got an idea. So they did a bit of market research like talking to probable customers and clients. And finally, they decided to come up with a web application as a solution.&lt;/p&gt;</description></item><item><title>How to make fail-safe APIs in Django</title><link>https://kdpisda.in/how-to-make-fail-safe-apis-in-django/</link><pubDate>Sat, 12 May 2018 21:42:28 +0530</pubDate><guid>https://kdpisda.in/how-to-make-fail-safe-apis-in-django/</guid><description>&lt;p&gt;While making APIs we must ensure that whatever happens, we must give proper response to the called API. I will be sharing my approach to make fail-safe APIs in Django. By fail-safe, I mean that no matter what, if an API is called it must be responded with a proper JSON or XML.&lt;/p&gt;
&lt;h4 id="two-approaches"&gt;&lt;strong&gt;Two Approaches&lt;/strong&gt;&lt;a class="heading-anchor" href="#two-approaches" aria-hidden="true" tabindex="-1"&gt;#&lt;/a&gt;
&lt;/h4&gt;
&lt;p&gt;If you have been coding for a bit time now then you probably must know about error handling. Or more specifically try, catch and except block. We generally use it to encounter the cases that may cause some errors. Let us consider a very simple example. A program that divides two given numbers. Now imagine what if the second number is zero. It is obvious that we can not divide any number by zero. So it is an exception while dividing two numbers.&lt;/p&gt;</description></item><item><title>Get rid of typing username and password in git CLI</title><link>https://kdpisda.in/get-rid-of-typing-username-and-password-in-git-cli/</link><pubDate>Wed, 25 Apr 2018 13:30:01 +0530</pubDate><guid>https://kdpisda.in/get-rid-of-typing-username-and-password-in-git-cli/</guid><description>&lt;p&gt;If you are tired of typing username and password in git cli then you are at right place. In this post I would be sharing how you can improve your productivity while using git. I will be writing how you can set something so that you don’t have to write username and password again and again while using git cli.&lt;/p&gt;
&lt;h3 id="assumptions"&gt;Assumptions&lt;a class="heading-anchor" href="#assumptions" aria-hidden="true" tabindex="-1"&gt;#&lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;I have assumed that you know how to use git or basically know what is git.&lt;/p&gt;</description></item><item><title>How to implement Google login in website</title><link>https://kdpisda.in/how-to-implement-google-login-in-website/</link><pubDate>Fri, 30 Mar 2018 12:39:01 +0530</pubDate><guid>https://kdpisda.in/how-to-implement-google-login-in-website/</guid><description>&lt;p&gt;Now-a-days it is very common to see &lt;strong&gt;Login with Google&lt;/strong&gt; and &lt;strong&gt;Login to Facebook&lt;/strong&gt; and other similar login options. So today I will explain how to implement such login in your web application. My motive is that after reading this post you must be able to implement any such login in your own.&lt;/p&gt;
&lt;p&gt;In todays scenario its not only about making an app, because anybody can do that there are plenty of materials available in the internet. But what makes your app different from others is UI/UX. UI stands for user interface and UX for User Experience. I guess I don’t need to explain much about UI because the word itself defines the meaning of it. So what the hell is UX.
Well its all about how a user feels when he or she uses your app. Suppose considering an example of an e-Commerce app. The more important things is &lt;em&gt;&lt;strong&gt;in how much clicks a user can order anything from your app&lt;/strong&gt;&lt;/em&gt; neglecting the offers and other stuffs. Or how much ease is your app for doing any task. Just assume the senario that you are using an app and you are not getting how to do any thing. Because the ultimate purpose of you downloading that app only means that you want any task to be done. And you are unable to figure out how to do. Or its something like just tap, tap and tap. I am sure you will uninstall that app.
So now question arises how implementing such login will improve UX. Well, if I am using my own login service then I need the data of user considering the minimum first name, last name, and email address. So while signing up what will be better for a user manually feed all the informations or just click a button and you are in. Second sounds better right. And one more things is that we don’t need to verify whether user has given a valid email, contact no or any such required things. (We need to remember that the required thing must be provided in the &lt;a href="http://www.kdpisda.tech/what-is-an-api/?ref=kdpisda.in"&gt;API&lt;/a&gt;). If you want to learn about API &lt;a href="http://www.kdpisda.tech/what-is-an-api/?ref=kdpisda.in"&gt;check my last post&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>What is an API (Web Development)</title><link>https://kdpisda.in/what-is-an-api-web-development/</link><pubDate>Thu, 08 Mar 2018 23:28:46 +0530</pubDate><guid>https://kdpisda.in/what-is-an-api-web-development/</guid><description>&lt;p&gt;API stands for Application Programmable Interface. In general terms, it is a set of clearly defined methods of communication between various software components. You may consider it as something with which we will communicate between two nodes. By nodes I mean it may be a web server and an Android client, a front end client, and a back end client or maybe two back end servers too. I am taking in context with web development only. For learning more about its definition and other meaning you may consider this &lt;a href="https://en.wikipedia.org/wiki/Application_programming_interface?ref=kdpisda.in"&gt;Wikipedia page&lt;/a&gt;.
I will be writing more about how to implement it. We may few examples with Django specifically.&lt;/p&gt;</description></item><item><title>Getting started with web development (Part 1)</title><link>https://kdpisda.in/getting-started-with-web-development-part-1/</link><pubDate>Tue, 27 Feb 2018 13:13:05 +0530</pubDate><guid>https://kdpisda.in/getting-started-with-web-development-part-1/</guid><description>&lt;p&gt;Hello everybody,
Today I will write about web development from zero i.e. what is web development. I will share some resources to get started with web development. And we will also learn about code version control system i.e. &lt;strong&gt;git&lt;/strong&gt; in the upcoming posts.&lt;/p&gt;
&lt;h3 id="web-development"&gt;Web Development&lt;a class="heading-anchor" href="#web-development" aria-hidden="true" tabindex="-1"&gt;#&lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;Well according to Wikipedia,
“Web development is a broad term for the work involved in developing a web site for the Internet (World Wide Web) or an intranet (a private network). Web development can range from developing the simplest static single page of plain text to the most complex web-based internet applications (or just ‘web apps’) electronic businesses, and social network services. Among web professionals, ‘&lt;strong&gt;web development&lt;/strong&gt;’ usually refers to the main non-design aspects of building web sites: writing markup and coding.”&lt;/p&gt;</description></item></channel></rss>