<?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: Rohit Bhogal</title>
    <description>The latest articles on Forem by Rohit Bhogal (@rbhogal).</description>
    <link>https://forem.com/rbhogal</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%2F799429%2F7b8aa00b-059e-4fb5-bfd3-374030512790.jpeg</url>
      <title>Forem: Rohit Bhogal</title>
      <link>https://forem.com/rbhogal</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/rbhogal"/>
    <language>en</language>
    <item>
      <title>I Built an AI Chatbot + Appointment Booking for Primary Care Clinics</title>
      <dc:creator>Rohit Bhogal</dc:creator>
      <pubDate>Tue, 20 May 2025 16:21:05 +0000</pubDate>
      <link>https://forem.com/rbhogal/i-built-an-ai-chatbot-appointment-booking-for-primary-care-clinics-47ge</link>
      <guid>https://forem.com/rbhogal/i-built-an-ai-chatbot-appointment-booking-for-primary-care-clinics-47ge</guid>
      <description>&lt;p&gt;"So you're a software engineer dipping your toes into AI? Well… you should learn prompt engineering, vector embeddings and databases, RAG, maybe even LangChain..."&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqkdvbjb8of4xmnpc7eqs.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqkdvbjb8of4xmnpc7eqs.gif" alt="Confused Jackie Meme" width="638" height="424"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;"Ok... just start with building a chatbot."&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;So I did. But I didn't want to make just &lt;em&gt;any&lt;/em&gt; chatbot, at least have some use in the real world. So I built a simple but useful &lt;strong&gt;AI chatbot + appointment scheduler&lt;/strong&gt; (because why not?) for primary care clinics. No vector databases. No fine-tuning. No LangChain. &lt;/p&gt;

&lt;p&gt;Just:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Smart GPT prompting&lt;/li&gt;
&lt;li&gt;Google Calendar API
&lt;/li&gt;
&lt;li&gt;Next.js + Tailwind CSS + shadcn/ui&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  The Problem
&lt;/h2&gt;

&lt;p&gt;Primary care clinics get bombarded with the same repetitive questions:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;“Do you accept BlueCross?”&lt;/li&gt;
&lt;li&gt;“What are your hours?”&lt;/li&gt;
&lt;li&gt;“Can I get a same-day appointment?”&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6et8dssw9ot1rwppirad.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6et8dssw9ot1rwppirad.gif" alt="The Office Stanley eye-roll" width="320" height="180"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Staff are already overworked—and they waste hours every week answering FAQs.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Idea
&lt;/h2&gt;

&lt;p&gt;Build a &lt;strong&gt;lightweight AI assistant&lt;/strong&gt; that:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Answers patient FAQs automatically using OpenAI ChatGPT&lt;/li&gt;
&lt;li&gt;Lets patients book appointments by integrating with the clinic’s EHR (I used Google Calendar API to demonstrate the workflow).&lt;/li&gt;
&lt;/ol&gt;

&lt;blockquote&gt;
&lt;p&gt;Fast, lightweight, and useful.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I also recently learned Next.js and wanted to get hands-on by building something practical. And while I’m a frontend dev by background, I’m currently diving into Python, Django, and PostgreSQL to level up to full-stack. So this project doubles as a sandbox to experiment and expand my skill set.&lt;/p&gt;




&lt;h2&gt;
  
  
  Tech Stack
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Next.js:&lt;/strong&gt; Frontend + Backend&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tailwind CSS + shadcn/ui:&lt;/strong&gt; UI Components.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;GPT-4.1 (OpenAI API):&lt;/strong&gt; Used smart prompting (no fine-tuning or embeddings) to match user questions to pre-defined answers.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Google Calendar API:&lt;/strong&gt; To demo scheduling, so patients can book appointments in available slots.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Upstash Redis:&lt;/strong&gt; Rate limiting (to prevent spamming to OpenAI)
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Vercel:&lt;/strong&gt; Deployment.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  How the FAQ Chatbot Works
&lt;/h2&gt;

&lt;p&gt;Instead of RAG or vector search, I did this:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;I defined a list of common questions + answers.&lt;/li&gt;
&lt;li&gt;I asked GPT to match the user’s input to the &lt;em&gt;closest&lt;/em&gt; question.&lt;/li&gt;
&lt;li&gt;If it found a match, I showed the corresponding answer.&lt;/li&gt;
&lt;/ol&gt;

&lt;blockquote&gt;
&lt;p&gt;Fast. Cheap-ish. Easy to update.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;FAQ system prompt for OpenAI chat completion:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;faqs&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
  &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;question&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Where is your address location?&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;answer&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;123 Demo St. AI City MA, 99999&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="p"&gt;},&lt;/span&gt;
  &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;question&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;What are your hours of operation?&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;answer&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Mon-Friday: 9am - 5pm. Sat-Sun: Closed&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="p"&gt;},&lt;/span&gt;
  &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;question&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Is there parking?&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;answer&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Yes there is ample parking available.&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="p"&gt;},&lt;/span&gt;
&lt;span class="p"&gt;];&lt;/span&gt;

&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;FaqSystemPrompt&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;`
You're a helpful assistant. The user might ask frequently asked questions.
Only answer using the FAQs provided below. Just the answer don't pass along "A:". If the user question doesn't match any FAQ, pass the question along. 

Here are the FAQs:
&lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;faqs&lt;/span&gt;
  &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;map&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="nx"&gt;faq&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;i&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s2"&gt;`&lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;i&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;. Q: &lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;faq&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;question&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;\nA: &lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;faq&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;answer&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;`&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
  &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;join&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="se"&gt;\n\n&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)}&lt;/span&gt;&lt;span class="s2"&gt;
`&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Getting the OpenAI API chat completion response inside a POST:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;aiResp&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;openai&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;chat&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;completions&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;create&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
        &lt;span class="na"&gt;model&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;gpt-4.1&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="na"&gt;messages&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
          &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;role&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;system&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;content&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;FaqSystemPrompt&lt;/span&gt; &lt;span class="p"&gt;},&lt;/span&gt;
          &lt;span class="p"&gt;{&lt;/span&gt;
            &lt;span class="na"&gt;role&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;system&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="na"&gt;content&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;`You are a friendly and helpful medical assistant at a primary care clinic. If a user isn't asking questions relevant to a primary care clinic, don't answer but instead gently remind them to answer questions regarding a primary care clinic. You can reply to general greetings however. Analyze the user's message and determine if they are asking to book an appointment. Reply with 'MED ASSIST BOOK AN APPOINTMENT' otherwise reply normally.`&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
          &lt;span class="p"&gt;},&lt;/span&gt;
          &lt;span class="p"&gt;...&lt;/span&gt;&lt;span class="nx"&gt;chatHistory&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="p"&gt;],&lt;/span&gt;
      &lt;span class="p"&gt;});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Code:&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://github.com/rbhogal/med-assist-ai/blob/main/lib/faq.ts" rel="noopener noreferrer"&gt;FAQs&lt;/a&gt;&lt;br&gt;
&lt;a href="https://github.com/rbhogal/med-assist-ai/blob/main/app/api/openai/route.ts" rel="noopener noreferrer"&gt;OpenAI POST&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Appointment Booking
&lt;/h2&gt;

&lt;p&gt;The chatbot can also redirect a user to &lt;strong&gt;book an appointment&lt;/strong&gt; through the booking page. This is where I would integrate it using a clinic's EHR's API, but for demo purposes I used the Google Calendar API. &lt;/p&gt;

&lt;p&gt;Using the Google Calendar API, I:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Pulled busy time slots from a google clinic calendar I set up.&lt;/li&gt;
&lt;li&gt;Generated available slots in 30-min increments within working hours and converted to PST.&lt;/li&gt;
&lt;li&gt;Let users pick one from the UI.&lt;/li&gt;
&lt;li&gt;Booked it directly through the API.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Boom. No phone call needed.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffytuxrfe2dmcdeph33t1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffytuxrfe2dmcdeph33t1.png" alt="Booking Calendar" width="800" height="413"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fj5c57uzgdho8v5hm88ys.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fj5c57uzgdho8v5hm88ys.png" alt="Contact Form" width="800" height="410"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8whw8n6tpf6h2ojnn33w.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8whw8n6tpf6h2ojnn33w.png" alt="Appointment Confirmation" width="800" height="410"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Code:&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://github.com/rbhogal/med-assist-ai/blob/main/components/wizard/steps/booking-calendar.tsx" rel="noopener noreferrer"&gt;Booking Calendar&lt;/a&gt;&lt;br&gt;
&lt;a href="https://github.com/rbhogal/med-assist-ai/blob/main/lib/google/utils.ts" rel="noopener noreferrer"&gt;Fetching/Generating Time Slots&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Planned Features / Improvements
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Login using Clerk:&lt;/strong&gt; User authentication&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Admin Dashboard:&lt;/strong&gt; View patients and update incoming appointments&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Backend Storage:&lt;/strong&gt; Right now, I’m just using localStorage and it works totally fine for a simple MVP. But I’m planning to switch to Django + PostgreSQL (mostly because I’m learning Python and want the full-stack practice).
That said, if you just want to get something working fast, Django is probably overkill. I’d recommend something like Supabase instead: it gives you a hosted Postgres DB and an auto-generated API so it's super quick to set up.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Issues
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;HIPAA Compliance:&lt;/strong&gt; Although this is a pretty simple and slimmed down application if collecting information other than name, phone number, and email, like reason for visit, HIPAA compliance is required.&lt;/li&gt;
&lt;li&gt;The calendar selects the current day on initial load, but it should select the first day with available slots. &lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Lessons Learned
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;You don’t need LangChain or RAG to build something &lt;em&gt;actually useful&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;Prompt engineering can go a long way with the right constraints.&lt;/li&gt;
&lt;li&gt;Working with UTC date timestamps sucks.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  ✍️ Final Thoughts
&lt;/h2&gt;

&lt;p&gt;This isn’t a massive AI system—but it’s a &lt;strong&gt;real solution to a real problem&lt;/strong&gt;. &lt;/p&gt;

&lt;p&gt;If you’re a dev looking to break into AI or build something tangible:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Start small&lt;/li&gt;
&lt;li&gt;Use smart prompting&lt;/li&gt;
&lt;li&gt;Ship it&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Would love to hear your thoughts—and if you have ideas to improve it.&lt;/p&gt;

&lt;h3&gt;
  
  
  Check it out here (I even built a landing page):
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://med-assist-ai.vercel.app/" rel="noopener noreferrer"&gt;Live Demo&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://github.com/rbhogal/med-assist-ai" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  🙌 Thanks for reading!
&lt;/h3&gt;

&lt;p&gt;Drop a ❤️ if you found this interesting. &lt;br&gt;
Or share what you've built!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="//rbhogal.com"&gt;rbhogal.com&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>chatgpt</category>
      <category>beginners</category>
      <category>saas</category>
    </item>
  </channel>
</rss>
