<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Nikul Pandya</title>
    <description>The latest articles on Forem by Nikul Pandya (@nikspandya).</description>
    <link>https://forem.com/nikspandya</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3402414%2F12f44d27-661e-46a5-ac23-65221d2e6fd0.png</url>
      <title>Forem: Nikul Pandya</title>
      <link>https://forem.com/nikspandya</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/nikspandya"/>
    <language>en</language>
    <item>
      <title>Rethinking Software Development in an AI-Assisted World</title>
      <dc:creator>Nikul Pandya</dc:creator>
      <pubDate>Sun, 25 Jan 2026 08:13:24 +0000</pubDate>
      <link>https://forem.com/nikspandya/rethinking-software-development-in-an-ai-assisted-world-3bnb</link>
      <guid>https://forem.com/nikspandya/rethinking-software-development-in-an-ai-assisted-world-3bnb</guid>
      <description>&lt;p&gt;I’ve been using AI-assisted development tools for &lt;strong&gt;more than a year now&lt;/strong&gt;, across real production environments.&lt;/p&gt;

&lt;p&gt;This isn’t an experiment.&lt;br&gt;&lt;br&gt;
It’s not a novelty phase.&lt;br&gt;&lt;br&gt;
And it’s not about letting AI “write the app.”&lt;/p&gt;

&lt;p&gt;What has changed is &lt;strong&gt;where engineering effort is spent&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;I still design systems.&lt;br&gt;&lt;br&gt;
I still make architectural decisions.&lt;br&gt;&lt;br&gt;
I still review, validate, and own the outcome.&lt;/p&gt;

&lt;p&gt;But writing code is no longer the primary bottleneck in my workflow.&lt;/p&gt;




&lt;h2&gt;
  
  
  A Shift in the Unit of Work
&lt;/h2&gt;

&lt;p&gt;Before AI, the unit of work in software development was often the &lt;em&gt;line&lt;/em&gt; or the &lt;em&gt;function&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;With AI, the unit of work becomes the &lt;strong&gt;decision&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Instead of asking:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;How do I write this code?&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I now ask:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;What should this component do, and what constraints must it respect?&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;AI is then used to &lt;strong&gt;execute those decisions efficiently&lt;/strong&gt;, within boundaries I define.&lt;/p&gt;




&lt;h2&gt;
  
  
  Planning as a First-Class Step
&lt;/h2&gt;

&lt;p&gt;AI is most valuable &lt;em&gt;before&lt;/em&gt; any code is written.&lt;/p&gt;

&lt;p&gt;When given requirements and access to existing patterns, it can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Surface architectural conventions
&lt;/li&gt;
&lt;li&gt;Propose module boundaries
&lt;/li&gt;
&lt;li&gt;Highlight likely edge cases
&lt;/li&gt;
&lt;li&gt;Outline responsibilities across layers
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This doesn’t replace design work.&lt;/p&gt;

&lt;p&gt;It compresses the feedback loop between &lt;strong&gt;intent and structure&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Bad plans still produce bad code — just faster.&lt;/p&gt;




&lt;h2&gt;
  
  
  Implementation With Guardrails
&lt;/h2&gt;

&lt;p&gt;During implementation, AI operates under explicit constraints:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Follow existing conventions
&lt;/li&gt;
&lt;li&gt;Respect architectural boundaries
&lt;/li&gt;
&lt;li&gt;Generate changes incrementally
&lt;/li&gt;
&lt;li&gt;Explain non-obvious decisions
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The developer remains the control plane:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Approving direction
&lt;/li&gt;
&lt;li&gt;Injecting domain knowledge
&lt;/li&gt;
&lt;li&gt;Rejecting incorrect assumptions
&lt;/li&gt;
&lt;li&gt;Stopping over-engineering early
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This model works because &lt;strong&gt;authority never leaves the human&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;AI executes.&lt;br&gt;&lt;br&gt;
Developers decide.&lt;/p&gt;




&lt;h2&gt;
  
  
  Review Becomes More Strategic
&lt;/h2&gt;

&lt;p&gt;AI-generated code still requires review — but the &lt;em&gt;nature&lt;/em&gt; of review changes.&lt;/p&gt;

&lt;p&gt;Instead of spending time on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Naming
&lt;/li&gt;
&lt;li&gt;Formatting
&lt;/li&gt;
&lt;li&gt;Repetitive refactoring
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Reviews increasingly focus on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Correctness
&lt;/li&gt;
&lt;li&gt;Edge cases
&lt;/li&gt;
&lt;li&gt;Architectural fit
&lt;/li&gt;
&lt;li&gt;Unintended coupling
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Static analysis and automated reviewers become more effective when paired with AI-assisted fixes, especially when review feedback is fed back into the generation loop.&lt;/p&gt;

&lt;p&gt;AI doesn’t remove review.&lt;/p&gt;

&lt;p&gt;It &lt;strong&gt;raises the baseline before review even begins&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  Failure Modes and Limits
&lt;/h2&gt;

&lt;p&gt;AI is not a reasoning engine.&lt;/p&gt;

&lt;p&gt;Common failure modes include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Confidently wrong assumptions
&lt;/li&gt;
&lt;li&gt;Shallow domain understanding
&lt;/li&gt;
&lt;li&gt;Subtle security oversights
&lt;/li&gt;
&lt;li&gt;Plausible but incorrect abstractions
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is why:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;AI must never own final decisions
&lt;/li&gt;
&lt;li&gt;Tests remain non-negotiable
&lt;/li&gt;
&lt;li&gt;Security-sensitive code demands extra scrutiny
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;AI increases throughput.&lt;br&gt;&lt;br&gt;
It does &lt;strong&gt;not&lt;/strong&gt; increase accountability.&lt;/p&gt;




&lt;h2&gt;
  
  
  What Actually Improves
&lt;/h2&gt;

&lt;p&gt;After long-term use, the most noticeable improvements aren’t raw speed metrics.&lt;/p&gt;

&lt;p&gt;They’re qualitative:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Reduced cognitive fatigue
&lt;/li&gt;
&lt;li&gt;Fewer trivial review comments
&lt;/li&gt;
&lt;li&gt;Cleaner diffs
&lt;/li&gt;
&lt;li&gt;More consistent structure across the codebase
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Senior engineers spend more time on &lt;strong&gt;design and risk&lt;/strong&gt;, and less time on &lt;strong&gt;mechanics&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Emerging Role of the Developer
&lt;/h2&gt;

&lt;p&gt;AI-assisted development doesn’t reduce the importance of engineers.&lt;/p&gt;

&lt;p&gt;It clarifies it.&lt;/p&gt;

&lt;p&gt;The developer becomes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A system designer
&lt;/li&gt;
&lt;li&gt;A constraint setter
&lt;/li&gt;
&lt;li&gt;A reviewer of intent, not syntax
&lt;/li&gt;
&lt;li&gt;The final authority on correctness
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Typing is no longer the scarce skill.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Judgment is.&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Closing Thought
&lt;/h2&gt;

&lt;p&gt;The future of software development is not AI writing code autonomously.&lt;/p&gt;

&lt;p&gt;It’s humans and AI working in a &lt;strong&gt;tight, disciplined loop&lt;/strong&gt; — where AI handles execution and humans handle responsibility.&lt;/p&gt;

&lt;p&gt;If you adopt AI this way, the question stops being:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Will AI replace developers?&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;And becomes:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;What should developers spend their attention on now that typing isn’t the bottleneck?&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>ai</category>
      <category>softwaredevelopment</category>
      <category>programming</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Vibe Coding: My Experience Building a Website with AI (Developer vs Non-Tech Perspective)</title>
      <dc:creator>Nikul Pandya</dc:creator>
      <pubDate>Thu, 31 Jul 2025 09:46:37 +0000</pubDate>
      <link>https://forem.com/nikspandya/vibe-coding-my-experience-building-a-website-with-ai-developer-vs-non-tech-perspective-9l1</link>
      <guid>https://forem.com/nikspandya/vibe-coding-my-experience-building-a-website-with-ai-developer-vs-non-tech-perspective-9l1</guid>
      <description>&lt;p&gt;🚀 Introduction&lt;/p&gt;

&lt;p&gt;AI-powered coding platforms are transforming the way we build websites. Instead of writing every line of code, you can now describe your idea in plain language, and an AI agent generates a deployable project for you.&lt;/p&gt;

&lt;p&gt;Recently, I experimented with one of these Vibe Coding platforms to build a static website for my startup. While the experience was exciting, it also revealed a clear gap between how developers and non-technical users interact with these tools and highlighted some current limitations.&lt;/p&gt;

&lt;p&gt;💡 1️⃣ What is Vibe Coding?&lt;/p&gt;

&lt;p&gt;Vibe coding allows you to create software simply by describing your vision in natural language. The AI agent handles:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Code generation&lt;/li&gt;
&lt;li&gt;Deployment&lt;/li&gt;
&lt;li&gt;Sometimes even UI design elements&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The Promise&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Non-technical founders: Build a site without hiring a developer&lt;/li&gt;
&lt;li&gt;Developers: Save time on boilerplate tasks and focus on higher-level architecture&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;But does it truly deliver a no-code experience for everyone? Let's dive in.&lt;/p&gt;

&lt;p&gt;⚡ 2️⃣ My Experiment: Building a Startup Website with AI&lt;/p&gt;

&lt;p&gt;I started with a simple prompt to create a basic landing page for my startup. Within minutes, the platform delivered:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A functional website layout&lt;/li&gt;
&lt;li&gt;A ready-to-deploy project structure&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;✅ First impression: Great for quickly spinning up an MVP.&lt;/p&gt;

&lt;p&gt;🌍 3️⃣ The Multilingual Challenge&lt;/p&gt;

&lt;p&gt;Later, I wanted my website to support English and Gujarati. I began by asking the AI to make this change using a general prompt.&lt;/p&gt;

&lt;p&gt;Prompt 1 (General Request):&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Please make the website available in two languages: English and Gujarati, ensuring that all pages and navigation elements are translated accordingly.&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;AI's Response:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The AI returned a highly technical solution, suggesting steps like:&lt;/li&gt;
&lt;li&gt;Setting up i18n infrastructure with libraries like react-i18next&lt;/li&gt;
&lt;li&gt;Creating translation files for each language&lt;/li&gt;
&lt;li&gt;Implementing a language switcher component&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For a non-technical person, this kind of response is difficult to act on. Terms like i18n and translation schema are not beginner-friendly and would likely require developer assistance.&lt;/p&gt;

&lt;p&gt;👨‍💻 4️⃣ Developer Intervention&lt;br&gt;
As a developer, I opened the generated files and saw that components could easily be duplicated for translations. So, I gave the AI a more specific, simplified instruction.&lt;/p&gt;

&lt;p&gt;Prompt 2 (Developer-Guided Request)&lt;/p&gt;

&lt;p&gt;&lt;code&gt;The website content is relatively small. Instead of a full i18n setup, please create hardcoded translated versions of the pages (e.g., product_eng.tsx, product_guj.tsx) and add a simple language switcher in the header to toggle between English and Gujarati.&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;This time, the AI:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Created separate Gujarati page components&lt;/li&gt;
&lt;li&gt;Added a functional language switch button&lt;/li&gt;
&lt;li&gt;Delivered a clean and working solution ✅ without over-engineering the task&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;🔄 5️⃣ GitHub Integration: A Pleasant Surprise&lt;/p&gt;

&lt;p&gt;After completing the website, I linked the project to my GitHub account, and this turned out to be one of the platform's most impressive features:&lt;/p&gt;

&lt;p&gt;Any manual code edits I pushed to the main branch were automatically synced with the live deployment&lt;/p&gt;

&lt;p&gt;The platform maintained full compatibility between the AI-managed environment and my manual changes&lt;/p&gt;

&lt;p&gt;This gave me the best of both worlds:&lt;/p&gt;

&lt;p&gt;AI-assisted rapid development&lt;/p&gt;

&lt;p&gt;Full developer control when needed&lt;/p&gt;

&lt;p&gt;⚠️ 6️⃣ Limitations of Vibe Coding (Current State)&lt;/p&gt;

&lt;p&gt;While Vibe Coding is great for static websites and front-end-heavy projects, it still faces big challenges in more complex scenarios, such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Backend systems: AI struggles with database schema design, API security, and complex business logic&lt;/li&gt;
&lt;li&gt;Data persistence: Managing relational databases, migrations, and scalable architectures isn't fully automated yet&lt;/li&gt;
&lt;li&gt;Advanced integrations: Connecting third-party APIs, authentication, and cloud infrastructure often needs manual intervention&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In my opinion, Vibe Coding is ideal today for small static sites or quick prototypes, but not for production-grade full-stack applications, at least not yet. This may change as AI coding tools mature, but developers remain essential for now.&lt;/p&gt;

&lt;p&gt;📌 7️⃣ Key Observations (Developer vs Non-Tech)&lt;/p&gt;

&lt;p&gt;✅ Developers&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Can refine prompts and review generated code for better results&lt;/li&gt;
&lt;li&gt;Benefit from GitHub sync to combine AI assistance with manual coding&lt;/li&gt;
&lt;li&gt;Gain productivity but still need skills for backend, databases, and scalability&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;⚠️ Non-Technical Users&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;May receive responses too technical to act on&lt;/li&gt;
&lt;li&gt;Might hit a dead end if the AI doesn’t get it right on the first try&lt;/li&gt;
&lt;li&gt;Still need occasional developer support for anything beyond a simple site&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;🧠 8️⃣ My Takeaways on Vibe Coding&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Huge potential for rapid prototyping and static site generation&lt;/li&gt;
&lt;li&gt;Not yet ready for complex backend-driven applications&lt;/li&gt;
&lt;li&gt;Best used in a hybrid workflow: AI for speed, developers for precision and scalability&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;🎯 Conclusion&lt;br&gt;
Vibe coding is an exciting step forward in software development. It can dramatically speed up building small websites and prototypes. But when it comes to complex systems, backend logic, and database-heavy apps, traditional coding expertise is still essential.&lt;/p&gt;

&lt;p&gt;Would you trust AI to build your next production app? Or do you see it more as a prototyping assistant?&lt;/p&gt;

&lt;p&gt;💬 Share your thoughts below—I’d love to hear your experiences with AI-powered coding!&lt;/p&gt;

</description>
      <category>vibecoding</category>
      <category>ai</category>
      <category>nocode</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
