<?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>I Automated My Morning Tech News with Claude — Here's What Worked (and What Didn't)</title>
      <dc:creator>Nikul Pandya</dc:creator>
      <pubDate>Fri, 24 Apr 2026 14:10:44 +0000</pubDate>
      <link>https://forem.com/nikspandya/i-automated-my-morning-tech-news-with-claude-heres-what-worked-and-what-didnt-i2h</link>
      <guid>https://forem.com/nikspandya/i-automated-my-morning-tech-news-with-claude-heres-what-worked-and-what-didnt-i2h</guid>
      <description>&lt;p&gt;Every morning, I used to spend about 30 minutes reading tech news before I wrote a single line of code.&lt;/p&gt;

&lt;p&gt;AI releases. Azure updates. Python releases. GitHub changelog. React RFCs.&lt;/p&gt;

&lt;p&gt;All in different places. All with the same stories re-reported by five different outlets.&lt;/p&gt;

&lt;p&gt;I'd open 20 tabs, skim until my coffee got cold, and by lunchtime I'd forgotten half of it.&lt;/p&gt;

&lt;p&gt;So I tried to fix it — and in doing so, hit three dead ends before landing on something that actually works.&lt;/p&gt;

&lt;p&gt;This is that story.&lt;/p&gt;




&lt;h2&gt;
  
  
  The shift I was really after
&lt;/h2&gt;

&lt;p&gt;I didn't want a better news reader.&lt;/p&gt;

&lt;p&gt;I wanted news &lt;strong&gt;brought to me&lt;/strong&gt;, already filtered, already deduplicated, waiting when I sat down.&lt;/p&gt;

&lt;p&gt;Less "Claude, help me read the news."&lt;/p&gt;

&lt;p&gt;More "Claude, read the news for me. I'll check what matters."&lt;/p&gt;

&lt;p&gt;That distinction turns out to be the whole game.&lt;/p&gt;




&lt;h2&gt;
  
  
  What Claude Cowork actually is
&lt;/h2&gt;

&lt;p&gt;For those who haven't tried it yet: Cowork is Anthropic's agentic layer on top of Claude Desktop.&lt;/p&gt;

&lt;p&gt;It's not a chatbot.&lt;/p&gt;

&lt;p&gt;It runs tasks on your machine with access to your files, your connected tools (Confluence, Outlook, SharePoint, web search), and — the important part — &lt;strong&gt;a scheduler&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;You give it a prompt once. You pick an interval (hourly, daily, weekly). It runs on its own.&lt;/p&gt;

&lt;p&gt;The whole thing is basically: &lt;em&gt;Claude Code, but for everyday non-coding work.&lt;/em&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  What I ended up building
&lt;/h2&gt;

&lt;p&gt;Three daily briefings, running 15 minutes apart every weekday morning:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Time&lt;/th&gt;
&lt;th&gt;Briefing&lt;/th&gt;
&lt;th&gt;Focus&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;9:00 AM&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;AI Pulse&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Model releases, research papers, funding, regulation&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;9:15 AM&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Cloud Pulse&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Azure services, GitHub Copilot, Actions, security advisories&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;9:30 AM&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Tech Stack Pulse&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Python, TypeScript, React, Flask, FastAPI, VS Code&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Each one writes directly to a rolling Confluence page.&lt;/p&gt;

&lt;p&gt;Today's entry lands at the top. Anything older than 30 days is automatically deleted. The page never grows unbounded.&lt;/p&gt;

&lt;p&gt;Total reading time on a good morning: about 5 minutes.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why email was the obvious choice — and the wrong one
&lt;/h2&gt;

&lt;p&gt;My first instinct was: &lt;em&gt;just email it to me.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Both the Outlook and Gmail connectors exist. Both plug into Claude cleanly. Problem solved, right?&lt;/p&gt;

&lt;p&gt;No.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Both are read-only by default.&lt;/strong&gt; They can &lt;em&gt;search&lt;/em&gt; your inbox, they can &lt;em&gt;draft&lt;/em&gt; emails, but they cannot &lt;strong&gt;send&lt;/strong&gt; on your behalf. This is deliberate — Anthropic ships these connectors with write permissions locked down to prevent an agent from accidentally mailing every contact you have.&lt;/p&gt;

&lt;p&gt;Which is the right call. But it kills the "daily digest arrives in my inbox" pattern dead.&lt;/p&gt;




&lt;h2&gt;
  
  
  The third-party workaround (and why I skipped it)
&lt;/h2&gt;

&lt;p&gt;There are workarounds.&lt;/p&gt;

&lt;p&gt;Services like Composio offer hosted MCP servers with full send capability. They're SOC 2 certified. Real company. Reasonable choice for many.&lt;/p&gt;

&lt;p&gt;But you're handing a &lt;em&gt;new vendor&lt;/em&gt; OAuth access to your mailbox. That's a genuine security decision, not a checkbox.&lt;/p&gt;

&lt;p&gt;I evaluated it honestly and decided:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;For a non-critical mailbox and a personal digest — fine&lt;/li&gt;
&lt;li&gt;For a work account with anything remotely sensitive — not worth it&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So I went looking for a tool I already trusted.&lt;/p&gt;




&lt;h2&gt;
  
  
  The unexpected winner: Confluence
&lt;/h2&gt;

&lt;p&gt;Our Atlassian connector can read &lt;strong&gt;and&lt;/strong&gt; write pages.&lt;/p&gt;

&lt;p&gt;No new vendor. No extra OAuth grant. No IT approval cycle. Just a connector that was already there, trusted, audited.&lt;/p&gt;

&lt;p&gt;And honestly? Confluence turned out to be a better destination than email:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Searchable&lt;/strong&gt; — six months from now I can find the story I vaguely remember&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Archivable&lt;/strong&gt; — the 30-day window keeps things tidy&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Accessible from anywhere&lt;/strong&gt; — laptop, mobile app, web&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;No inbox clutter&lt;/strong&gt; — a daily email slowly becomes noise; a page stays a page&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Sometimes the best tool is the one you already have.&lt;/p&gt;




&lt;h2&gt;
  
  
  The prompt architecture that makes it work
&lt;/h2&gt;

&lt;p&gt;A naive "get me 5 AI stories each morning" prompt produces noise within a week.&lt;/p&gt;

&lt;p&gt;The same story gets re-covered by three outlets. A launch from Tuesday shows up again on Thursday under a different headline. You stop reading.&lt;/p&gt;

&lt;p&gt;Four design decisions fix this:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Dedup against your own history.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Before searching the web, Claude reads the last 14 days of your own Confluence page. It builds an "already-seen list" of covered subjects — then skips anything already briefed.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Subject-level matching, not headline-level.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;"Anthropic launches Opus 4.7" and "Opus 4.7 benchmarks impress" are the same story. "Opus 4.7 launch" and "Haiku 4.7 launch" are different.&lt;/p&gt;

&lt;p&gt;Claude matches on the underlying subject, not the wording.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Material updates get tagged, not skipped.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If GPT-5 launched last week and this week the API opened up — that's a genuine follow-on, not a repeat. It appears with an &lt;code&gt;UPDATE:&lt;/code&gt; prefix so I see at a glance what's fresh vs. continuing news.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Self-pruning.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Every morning, before writing today's entry, the task deletes anything older than 30 days from the page.&lt;/p&gt;

&lt;p&gt;No separate cleanup task. No archive folder. The page maintains itself.&lt;/p&gt;




&lt;h2&gt;
  
  
  Here's roughly what the prompt looks like
&lt;/h2&gt;

&lt;p&gt;A simplified version of the real thing:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;You are my daily AI news briefing assistant.

STEP 1 — Check what I've already briefed
Fetch the Confluence page. Read the last 14 days of entries.
Build an already-seen list of subjects covered.

STEP 2 — Search the web
Find the top AI stories from the last 24 hours.
Focus on: model releases, product launches, research papers,
funding news, regulatory developments.

STEP 3 — Filter
Skip anything in the already-seen list.
Match on subject, not headline.
Genuine updates → include with "UPDATE:" prefix.

STEP 4 — Pick the top 5 stories
Rank by impact, not recency.
Fewer than 5 is fine — do not pad.

STEP 5 — Format bullets
• [Source] — [What happened]. [Why it matters]. (link)

STEP 6 — Update the page
Prepend today's section at the top.
Delete any section older than 30 days.
Keep everything else intact.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The real prompt has a few more details — a Monday-catch-up rule so weekend releases aren't missed, explicit source-priority guidance (official blogs first, aggregators last), and error handling so the task fails loudly rather than silently.&lt;/p&gt;

&lt;p&gt;But the shape above is the whole idea.&lt;/p&gt;




&lt;h2&gt;
  
  
  What a morning actually looks like now
&lt;/h2&gt;

&lt;p&gt;I open one Confluence page with coffee.&lt;/p&gt;

&lt;p&gt;Today's section is at the top, dated, with a one-line summary ("5 fresh stories, 2 updates — busy release day").&lt;/p&gt;

&lt;p&gt;Five bullets. Each one: &lt;em&gt;who did what, why it matters, link to source&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;Scan in ~90 seconds. Click into anything that's interesting. Done.&lt;/p&gt;

&lt;p&gt;If I skip a day, nothing bad happens. The next morning's briefing catches me up naturally because the dedup window is 14 days, not 1.&lt;/p&gt;

&lt;p&gt;No mental load to maintain. No "oh I forgot to check that site." No dread of inbox clutter.&lt;/p&gt;




&lt;h2&gt;
  
  
  Honest limitations
&lt;/h2&gt;

&lt;p&gt;This isn't a silver bullet. A few real caveats:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Cowork runs locally.&lt;/strong&gt; The scheduled task only fires when your machine is awake and the Claude Desktop app is open. If your laptop is closed at 9 AM, the task skips until you open it — and then runs late. For truly time-critical delivery you'd need cloud execution (Claude Code Routines), not Cowork.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;It consumes usage quota faster than chat.&lt;/strong&gt; Three daily runs isn't much, but if you stack more or run hourly, you'll notice.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Quality depends on the prompt.&lt;/strong&gt; My first version pulled too much noise. The fourth version is what I shared above. Plan to iterate for a week.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Official connectors are intentionally read-only.&lt;/strong&gt; That's a feature, not a bug — but it means you need to think about destination before you build.&lt;/p&gt;




&lt;h2&gt;
  
  
  What surprised me
&lt;/h2&gt;

&lt;p&gt;I started this expecting to build a smart news aggregator.&lt;/p&gt;

&lt;p&gt;What I actually built is closer to a &lt;strong&gt;personal intelligence briefing service&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The difference matters. An aggregator is passive — it pulls everything and lets you filter. A briefing service is active — it decides what you need to know, how to frame it, what to leave out.&lt;/p&gt;

&lt;p&gt;And the pattern generalizes well beyond tech news:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Compliance&lt;/strong&gt;: daily summary of new regulatory updates in your sector&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Finance&lt;/strong&gt;: weekly market-movement digest for your specific exposure&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Sales&lt;/strong&gt;: morning brief on pipeline changes and upcoming renewals&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;R&amp;amp;D&lt;/strong&gt;: weekly competitor-release scan&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Anything with the shape &lt;em&gt;"check these sources, filter against what I already know, summarize the important bits"&lt;/em&gt; fits.&lt;/p&gt;




&lt;h2&gt;
  
  
  What I'd do differently
&lt;/h2&gt;

&lt;p&gt;If you're building your own version, some honest advice:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Start with one briefing.&lt;/strong&gt; Not three. You'll iterate faster on one, and you won't know if you'll actually read them until you do.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Run it manually for a few days before scheduling.&lt;/strong&gt; Tune the prompt against real output.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Pick your destination deliberately.&lt;/strong&gt; If you already have Confluence, Slack, Notion, or any tool with write access — start there. Don't add a vendor.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Don't over-engineer early.&lt;/strong&gt; I almost built an archive system on day two. I would have regretted it if I'd stopped reading the briefings after a week.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  The question that stuck with me
&lt;/h2&gt;

&lt;p&gt;I set out asking: &lt;em&gt;can Claude automate my morning reading?&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;After two weeks of this running, the better question is:&lt;/p&gt;

&lt;p&gt;&lt;em&gt;What else is quietly consuming 30 minutes of my day that could show up, pre-done, at 9 AM?&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;The briefings were just the start.&lt;/p&gt;

&lt;p&gt;If you've built something similar — or if this sparked an idea — I'd love to hear it.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>claude</category>
      <category>productivity</category>
      <category>automation</category>
    </item>
    <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>
