<?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>DEV Community: Shivani Pal</title>
    <description>The latest articles on DEV Community by Shivani Pal (@shivani_pal_).</description>
    <link>https://dev.to/shivani_pal_</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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4159285%2F0574c2cf-be3c-4c53-ab25-d716feb8bf38.png</url>
      <title>DEV Community: Shivani Pal</title>
      <link>https://dev.to/shivani_pal_</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/shivani_pal_"/>
    <language>en</language>
    <item>
      <title>ContinuEd</title>
      <dc:creator>Shivani Pal</dc:creator>
      <pubDate>Sat, 03 Oct 2026 10:40:49 +0000</pubDate>
      <link>https://dev.to/shivani_pal_/continued-2bdj</link>
      <guid>https://dev.to/shivani_pal_/continued-2bdj</guid>
      <description>&lt;h1&gt;
  
  
  I Built an AI Content Workflow with Sanity Instead of Just Another Blog 🚀
&lt;/h1&gt;

&lt;p&gt;I wanted to participate in the Sanity challenge, but I didn't want to build another simple blog with a CMS behind it.&lt;/p&gt;

&lt;p&gt;So I decided to ask a different question:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;What if Sanity wasn't just where I stored content, but where the entire content workflow lived?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That became &lt;strong&gt;SanityFlow&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I built
&lt;/h2&gt;

&lt;p&gt;SanityFlow is an AI-assisted content workflow where content moves through different stages:&lt;/p&gt;

&lt;p&gt;📝 Draft&lt;br&gt;&lt;br&gt;
↓&lt;br&gt;&lt;br&gt;
🤖 AI Processing&lt;br&gt;&lt;br&gt;
↓&lt;br&gt;&lt;br&gt;
🔍 Review&lt;br&gt;&lt;br&gt;
↓&lt;br&gt;&lt;br&gt;
👩‍💻 Human Approval&lt;br&gt;&lt;br&gt;
↓&lt;br&gt;&lt;br&gt;
🚀 Published&lt;/p&gt;

&lt;p&gt;The idea is simple: an AI agent can help move content forward, but a human still controls the important transitions.&lt;/p&gt;

&lt;h2&gt;
  
  
  The stack
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Next.js&lt;/li&gt;
&lt;li&gt;Sanity&lt;/li&gt;
&lt;li&gt;Sanity Studio&lt;/li&gt;
&lt;li&gt;Sanity App SDK&lt;/li&gt;
&lt;li&gt;AI API&lt;/li&gt;
&lt;li&gt;TypeScript&lt;/li&gt;
&lt;li&gt;React&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The interesting part: Sanity is doing more than storing content
&lt;/h2&gt;

&lt;p&gt;My first instinct was to use Sanity as a headless CMS and build the UI separately.&lt;/p&gt;

&lt;p&gt;But the challenge pushed me to go deeper.&lt;/p&gt;

&lt;p&gt;I experimented with:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Custom Sanity interface
&lt;/h3&gt;

&lt;p&gt;Instead of relying completely on the default Studio experience, I created a custom interface for managing the workflow.&lt;/p&gt;

&lt;p&gt;The goal was to make it possible to see:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Current content status&lt;/li&gt;
&lt;li&gt;AI processing state&lt;/li&gt;
&lt;li&gt;Review status&lt;/li&gt;
&lt;li&gt;Assigned reviewer&lt;/li&gt;
&lt;li&gt;Previous actions&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;all in one place.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Workflow as data
&lt;/h3&gt;

&lt;p&gt;I modeled the workflow alongside the actual content.&lt;/p&gt;

&lt;p&gt;That means the content isn't simply:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;draft → published&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;It can have states such as:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;draft → processing → review → approved → published&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;This means an AI agent can work with the same workflow that a human reviewer uses.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. AI-assisted content
&lt;/h3&gt;

&lt;p&gt;The AI can help with things like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;summarizing content&lt;/li&gt;
&lt;li&gt;generating metadata&lt;/li&gt;
&lt;li&gt;suggesting tags&lt;/li&gt;
&lt;li&gt;identifying missing information&lt;/li&gt;
&lt;li&gt;preparing content for review&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;But instead of letting AI automatically publish everything, the workflow keeps a human approval step.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Real-time updates
&lt;/h3&gt;

&lt;p&gt;One of the things I wanted to explore was making the interface feel alive.&lt;/p&gt;

&lt;p&gt;When the state of a piece of content changes in Sanity, the custom interface can reflect that change without requiring the user to constantly refresh.&lt;/p&gt;




&lt;h2&gt;
  
  
  What I learned
&lt;/h2&gt;

&lt;p&gt;The biggest thing I learned from this challenge is that a CMS doesn't have to be just a place where you store documents.&lt;/p&gt;

&lt;p&gt;Sanity can become part of the application's logic.&lt;/p&gt;

&lt;p&gt;The combination of structured content, custom interfaces, real-time updates and workflows opens up a lot more possibilities than a traditional blog.&lt;/p&gt;




&lt;h2&gt;
  
  
  What didn't work
&lt;/h2&gt;

&lt;p&gt;Not everything worked on the first try.&lt;/p&gt;

&lt;p&gt;I initially approached the project like a normal Next.js application with Sanity attached to it.&lt;/p&gt;

&lt;p&gt;That worked, but it wasn't really taking advantage of what Sanity could do.&lt;/p&gt;

&lt;p&gt;I also spent more time than expected figuring out how to model workflow states and connect the different pieces together.&lt;/p&gt;

&lt;p&gt;There are still parts I'd improve, especially around [YOUR LIMITATION HERE].&lt;/p&gt;

&lt;p&gt;But that's probably my favorite part of this build.&lt;/p&gt;

&lt;p&gt;I learned more by trying to make the workflow work than I would have by simply following a tutorial.&lt;/p&gt;




&lt;h2&gt;
  
  
  What's next?
&lt;/h2&gt;

&lt;p&gt;I'd like to take this further by adding:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;better AI agents&lt;/li&gt;
&lt;li&gt;richer workflow transitions&lt;/li&gt;
&lt;li&gt;role-based approvals&lt;/li&gt;
&lt;li&gt;analytics&lt;/li&gt;
&lt;li&gt;more custom Studio components&lt;/li&gt;
&lt;li&gt;automated content transformations&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The project is still a work in progress, but that's exactly what I wanted from this challenge.&lt;/p&gt;

&lt;p&gt;Build → break → understand → improve.&lt;/p&gt;

&lt;p&gt;That's the fun part. 🚀&lt;/p&gt;




&lt;h3&gt;
  
  
  🔗 Project
&lt;/h3&gt;

&lt;p&gt;GitHub: [&lt;a href="https://github.com/shivv2430/ContinuEd---Your-Learning-Always-in-Continuity" rel="noopener noreferrer"&gt;https://github.com/shivv2430/ContinuEd---Your-Learning-Always-in-Continuity&lt;/a&gt;.]&lt;/p&gt;

&lt;p&gt;Live Video Demo: [&lt;a href="https://drive.google.com/file/d/1obbbBIG9gbViwLUkYXD-lKinN_Tj2HFc/view?usp=drive_link" rel="noopener noreferrer"&gt;https://drive.google.com/file/d/1obbbBIG9gbViwLUkYXD-lKinN_Tj2HFc/view?usp=drive_link&lt;/a&gt;]&lt;/p&gt;

&lt;p&gt;Demo Link : [&lt;a href="https://continu-ed-your-learning-always-in.vercel.app/" rel="noopener noreferrer"&gt;https://continu-ed-your-learning-always-in.vercel.app/&lt;/a&gt;]&lt;/p&gt;

&lt;p&gt;If you're also experimenting with Sanity, I'd love to hear what you're building.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>sanitychallenge</category>
      <category>sanity</category>
      <category>ai</category>
    </item>
    <item>
      <title>BFF-Build For Friend</title>
      <dc:creator>Shivani Pal</dc:creator>
      <pubDate>Sat, 03 Oct 2026 09:38:48 +0000</pubDate>
      <link>https://dev.to/shivani_pal_/bff-build-for-friend-3em6</link>
      <guid>https://dev.to/shivani_pal_/bff-build-for-friend-3em6</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/hacktoberfest-weekend-2026-10-01"&gt;Hacktoberfest Weekend Challenge: Build for a Friend&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;Most software projects obsess over getting thousands or millions of monthly active users. &lt;strong&gt;BFF (Build For a Friend)&lt;/strong&gt; flips that script completely. &lt;/p&gt;

&lt;p&gt;It is a cozy, human-centered project studio built around one single manifesto:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;"Pick one real person and build something for them. It doesn't have to be big. It has to matter to them."&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Instead of an over-engineered dashboard, &lt;strong&gt;BFF&lt;/strong&gt; showcases three real, functioning micro-tools built for specific loved ones, alongside an interactive builder to plan your own:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;🥗 &lt;strong&gt;Roommate's Allergy Meal Planner (Built for Alex):&lt;/strong&gt; Alex has severe peanut and gluten allergies, making shared dinners and takeout a constant source of anxiety. This tool provides an instant allergy safety toggle and a "Surprise Alex" randomizer that guarantees 100% allergy-safe comfort meals in seconds.&lt;/li&gt;
&lt;li&gt;🗣️ &lt;strong&gt;Patient Practice Partner (Built for Mateo):&lt;/strong&gt; Mateo is moving to Madrid and gets anxious when ordering coffee or food in Spanish. This tool gives him a zero-judgment conversation buddy with instant gentle coach feedback and pronunciation tips.&lt;/li&gt;
&lt;li&gt;🎙️ &lt;strong&gt;Grandpa's Voice Memo Recipe Book (Built for Grandpa Joe, Age 84):&lt;/strong&gt; Grandpa never writes recipes down; he sends rambling 8-minute WhatsApp voice memos. This tool extracts his cooking wisdom (like melting the Parmesan cheese rind into the sauce) into a printable vintage family keepsake card.&lt;/li&gt;
&lt;li&gt;✨ &lt;strong&gt;The Project Studio:&lt;/strong&gt; Allows anyone to answer 3 simple questions about a person in their life and immediately save, track, and gift a micro-project to them.&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;🎥 ** Video Link:** [&lt;a href="https://drive.google.com/file/d/1z0mmmkq0hVumVazXcRdmYnGOQSnplfbv/view?usp=sharing" rel="noopener noreferrer"&gt;https://drive.google.com/file/d/1z0mmmkq0hVumVazXcRdmYnGOQSnplfbv/view?usp=sharing&lt;/a&gt;]&lt;/li&gt;
&lt;li&gt;🌐 &lt;strong&gt;Live Deployed Site:&lt;/strong&gt; &lt;a href="https://shivv2430.github.io/BFF/" rel="noopener noreferrer"&gt;https://shivv2430.github.io/BFF/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📱 Fully responsive on desktop and mobile with zero dependencies or load lag.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Code
&lt;/h2&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/shivv2430" rel="noopener noreferrer"&gt;
        shivv2430
      &lt;/a&gt; / &lt;a href="https://github.com/shivv2430/BFF" rel="noopener noreferrer"&gt;
        BFF
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;BFF — Build For a Friend 💛&lt;/h1&gt;
&lt;/div&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;"Pick one real person and build something for them. It doesn't have to be big. It has to matter to them."&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;A simple, cozy web app designed to inspire and track micro-projects built with care for an &lt;strong&gt;audience of one&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;🔗 &lt;strong&gt;Live Demo:&lt;/strong&gt; &lt;a href="https://shivv2430.github.io/BFF/" rel="nofollow noopener noreferrer"&gt;https://shivv2430.github.io/BFF/&lt;/a&gt;&lt;br&gt;
📦 &lt;strong&gt;GitHub Repository:&lt;/strong&gt; &lt;a href="https://github.com/shivv2430/BFF" rel="noopener noreferrer"&gt;https://github.com/shivv2430/BFF&lt;/a&gt;&lt;/p&gt;

&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;🌟 About The Project&lt;/h2&gt;
&lt;/div&gt;
&lt;p&gt;Most coding projects try to reach thousands or millions of users. &lt;strong&gt;BFF (Build For a Friend)&lt;/strong&gt; flips that script:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Audience of One&lt;/strong&gt;: Build for your roommate, your grandpa, your partner, your sibling, or your best friend.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Micro Over Massive&lt;/strong&gt;: It can be built in an afternoon or a weekend. A single helpful button or thoughtful feature is better than an overwhelming dashboard.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Gift Culture&lt;/strong&gt;: Treat software like a handmade birthday card or baked cookies. Send the link in a text message and see their face light up.&lt;/li&gt;
&lt;/ul&gt;…&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/shivv2430/BFF" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;GitHub Repository:&lt;/strong&gt; &lt;a href="https://github.com/shivv2430/BFF" rel="noopener noreferrer"&gt;https://github.com/shivv2430/BFF&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  How I Built It
&lt;/h2&gt;

&lt;p&gt;I chose to build this with &lt;strong&gt;clean, accessible Vanilla HTML5, modern CSS, and plain JavaScript&lt;/strong&gt; — no massive framework bloat, complex configs, or node_modules black holes. &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Local Persistence:&lt;/strong&gt; Uses &lt;code&gt;localStorage&lt;/code&gt; to save your drafted projects directly in your browser.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Interactive Prototyping:&lt;/strong&gt; Features interactive filters, simulated voice memo transcripts, and conversational dialogue trees.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AI-Assisted Pair Programming:&lt;/strong&gt; Built iteratively with agentic AI tooling (&lt;code&gt;opencode&lt;/code&gt; &amp;amp; agent workflows), focusing on rapid human-first design, empathetic UI/UX, and keeping code accessible and understandable for beginners.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Why Does Open Innovation Matter?
&lt;/h2&gt;

&lt;p&gt;Building for an &lt;strong&gt;"Audience of One"&lt;/strong&gt; embodies the true spirit of open-source and open innovation. &lt;/p&gt;

&lt;p&gt;Big tech platforms build for mass commercial scale and engagement metrics. They don't have an incentive to build an app that only one roommate, one grandfather, or one friend will ever use. &lt;/p&gt;

&lt;p&gt;Open innovation, open web standards, and accessible AI lower the barrier so that &lt;strong&gt;anyone can craft custom software as a personal gift&lt;/strong&gt; — just like knitting a warm sweater or baking cookies. You don't need venture capital or closed proprietary APIs to build something that brings tears of joy to someone you care about.&lt;/p&gt;




&lt;h2&gt;
  
  
  My Agent Session
&lt;/h2&gt;

&lt;p&gt;This project was planned, designed, and iterated using agentic pair programming via the terminal and developer environment:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Iterative scaffolding of the 3 starter concepts into working interactive prototypes.&lt;/li&gt;
&lt;li&gt;Human-in-the-loop feedback to deliberately simplify the design, ensuring it feels warm, authentic, and approachable rather than an impersonal enterprise SaaS template.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Prize Categories
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Build for a Friend (Grand Prize &amp;amp; Community Favorite)&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Most Heartwarming / Audience of One&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Clean &amp;amp; Accessible Web&lt;/strong&gt;
-Created by Shivani Pal&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>devchallenge</category>
      <category>weekendchallenge</category>
      <category>hf26challenge</category>
    </item>
    <item>
      <title>Hello DEV 👋 I’m Shivani, and I’m Building My Way Into Tech</title>
      <dc:creator>Shivani Pal</dc:creator>
      <pubDate>Sat, 03 Oct 2026 08:14:12 +0000</pubDate>
      <link>https://dev.to/shivani_pal_/hello-dev-im-shivani-and-im-building-my-way-into-tech-1423</link>
      <guid>https://dev.to/shivani_pal_/hello-dev-im-shivani-and-im-building-my-way-into-tech-1423</guid>
      <description>&lt;h1&gt;
  
  
  **Hello DEV 👋 I’m Shivani, and I’m Building My Way Into Tech
&lt;/h1&gt;

&lt;p&gt;Hey everyone! 👋**&lt;/p&gt;

&lt;p&gt;I’m Shivani, an engineering student who is slowly figuring out my way around the world of tech.&lt;/p&gt;

&lt;p&gt;I started with the basics of HTML and CSS, then moved into JavaScript, Git &amp;amp; GitHub, and eventually started exploring React, APIs, and backend development.&lt;/p&gt;

&lt;p&gt;And honestly, it hasn’t always been smooth. 😅&lt;/p&gt;

&lt;p&gt;There have been plenty of:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;“Why is this code not working?” moments&lt;/li&gt;
&lt;li&gt;Git errors I didn’t understand&lt;/li&gt;
&lt;li&gt;Deployments that worked locally but broke online&lt;/li&gt;
&lt;li&gt;Projects that looked much better in my head 😂&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;But every broken project has taught me something.&lt;/p&gt;

&lt;p&gt;Recently, I’ve also been exploring open source, hackathons, DSA, and building projects instead of just watching tutorials.&lt;/p&gt;

&lt;p&gt;I’m joining DEV because I want to document that journey.&lt;/p&gt;

&lt;p&gt;Here, I’ll be sharing:&lt;/p&gt;

&lt;p&gt;💻 Things I learn while coding&lt;br&gt;&lt;br&gt;
🛠️ Projects I build&lt;br&gt;&lt;br&gt;
🐛 Bugs I somehow manage to create&lt;br&gt;&lt;br&gt;
📚 Resources that actually help me&lt;br&gt;&lt;br&gt;
🌱 My experiences with open source and hackathons&lt;br&gt;&lt;br&gt;
🚀 And the lessons I learn along the way&lt;/p&gt;

&lt;p&gt;I’m still learning, still experimenting, and definitely still Googling things.&lt;/p&gt;

&lt;p&gt;But I’m excited to see where this journey goes.&lt;/p&gt;

&lt;p&gt;If you're also learning to code, feel free to say hi! 👋&lt;/p&gt;

&lt;p&gt;Let’s learn and build together. 💙&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>learning</category>
      <category>programming</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
