<?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: BishalSunuwar202</title>
    <description>The latest articles on Forem by BishalSunuwar202 (@bishalsunuwar202).</description>
    <link>https://forem.com/bishalsunuwar202</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%2F1343067%2F3ba6b787-be09-490d-a3cb-4cc819b31e5d.png</url>
      <title>Forem: BishalSunuwar202</title>
      <link>https://forem.com/bishalsunuwar202</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/bishalsunuwar202"/>
    <language>en</language>
    <item>
      <title>Kairos — Fellowship Builder for Nepali Churches</title>
      <dc:creator>BishalSunuwar202</dc:creator>
      <pubDate>Mon, 02 Mar 2026 10:24:46 +0000</pubDate>
      <link>https://forem.com/bishalsunuwar202/kairos-5da2</link>
      <guid>https://forem.com/bishalsunuwar202/kairos-5da2</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/weekend-2026-02-28"&gt;DEV Weekend Challenge: Community&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The Community
&lt;/h2&gt;

&lt;p&gt;Nepal has thousands of small Christian fellowship churches — most run entirely by volunteers with no technical background. Every Saturday, a church anchor (presenter) manually types out the week's presentation: song lyrics in Nepali, Bible verses, sermon details, announcements, and prayer points — usually in PowerPoint.&lt;/p&gt;

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

&lt;p&gt;Kairos — Fellowship Builder is an AI-powered church presentation builder designed specifically for Nepali Christian communities.&lt;/p&gt;

&lt;p&gt;An anchor fills in a simple form:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fellowship date&lt;/li&gt;
&lt;li&gt;Anchor name and sermon leader&lt;/li&gt;
&lt;li&gt;Song lyrics (fetched automatically from a Nepali Christian songs library)&lt;/li&gt;
&lt;li&gt;Bible references&lt;/li&gt;
&lt;li&gt;Announcements and prayer points&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;

&lt;/p&gt;
&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;div class="c-embed__content"&gt;
      &lt;div class="c-embed__body flex items-center justify-between"&gt;
        &lt;a href="https://kairos-weld.vercel.app/login" rel="noopener noreferrer" class="c-link fw-bold flex items-center"&gt;
          &lt;span class="mr-2"&gt;kairos-weld.vercel.app&lt;/span&gt;
          

        &lt;/a&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;




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

&lt;p&gt;

&lt;/p&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/BishalSunuwar202" rel="noopener noreferrer"&gt;
        BishalSunuwar202
      &lt;/a&gt; / &lt;a href="https://github.com/BishalSunuwar202/Kairos" rel="noopener noreferrer"&gt;
        Kairos
      &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;Kairos — Fellowship Builder&lt;/h1&gt;
&lt;/div&gt;
&lt;p&gt;An AI-powered church presentation builder for Nepali Christian fellowship communities. Fill in your fellowship details — anchor name, sermon leader, song lyrics, Bible references, and last prayer name — and AI generates a complete, slide-by-slide presentation in &lt;strong&gt;Nepali (Devanagari script)&lt;/strong&gt;, ready to project fullscreen.&lt;/p&gt;
&lt;p&gt;🌐 &lt;strong&gt;Live:&lt;/strong&gt; &lt;a href="https://kairos-weld.vercel.app" rel="nofollow noopener noreferrer"&gt;https://kairos-weld.vercel.app&lt;/a&gt;&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Features&lt;/h2&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;AI generates Nepali slide content and preserves names exactly as entered by the user, with Bikram Sambat (BS) date conversion&lt;/li&gt;
&lt;li&gt;AI-generated warm Nepali Christian welcome message for each fellowship&lt;/li&gt;
&lt;li&gt;Fullscreen presenter mode with keyboard navigation (arrow keys, Escape)&lt;/li&gt;
&lt;li&gt;Slide format toolbar: font size, bold, underline, colors, padding, vertical &amp;amp; horizontal text alignment&lt;/li&gt;
&lt;li&gt;Save and manage presentations in a personal library&lt;/li&gt;
&lt;li&gt;Public shareable links — share slides with your congregation (no login required to view)&lt;/li&gt;
&lt;li&gt;Print / export slides to PDF&lt;/li&gt;
&lt;li&gt;Demo mode with a pre-filled sample Nepali presentation&lt;/li&gt;
&lt;li&gt;Google OAuth sign-in&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Stack&lt;/h2&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Next.js 16&lt;/strong&gt; (App Router) +…&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/BishalSunuwar202/Kairos" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&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%2Fa2eq3tdlcy3rwcp23bkb.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%2Fa2eq3tdlcy3rwcp23bkb.png" alt=" "&gt;&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;Tech stack:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Framework - Next.js 16 (App Router)&lt;/li&gt;
&lt;li&gt;AI - Gemini 2.5 Flash Lite via Vercel AI SDK (@ai-sdk/google)&lt;/li&gt;
&lt;li&gt;Database &amp;amp; Auth -    Supabase (PostgreSQL + Google OAuth)&lt;/li&gt;
&lt;li&gt;Styling  - Tailwind CSS v4 + shadcn/ui&lt;/li&gt;
&lt;li&gt;State - Zustand&lt;/li&gt;
&lt;li&gt;Deployment - Vercel&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;How the AI works:&lt;/p&gt;

&lt;p&gt;The form data is sent to a Next.js API route which calls Gemini 2.5 Flash Lite with a carefully engineered system prompt. The prompt instructs the AI to:&lt;/p&gt;

&lt;p&gt;Output only valid JSON (no markdown)&lt;br&gt;
Write all slide content in Nepali Devanagari&lt;br&gt;
Transliterate English names into Devanagari&lt;br&gt;
Convert the Gregorian fellowship date into Bikram Sambat calendar in Nepali&lt;br&gt;
Generate a warm, faith-appropriate welcome message in Nepali&lt;br&gt;
Split song lyrics into individual slides per section (Verse 1, Chorus, Bridge, etc.)&lt;br&gt;
Follow a fixed slide order: welcome → host → opening prayer → lyrics → sermon → Bible → announcements → closing prayer&lt;br&gt;
Why Gemini 2.5 Flash Lite:&lt;br&gt;
It handles Nepali Devanagari script accurately, understands Bikram Sambat calendar conversion, and is fast enough for real-time generation of 10–15 slides.&lt;/p&gt;

&lt;p&gt;The biggest challenge:&lt;br&gt;
Getting the AI to reliably output parseable JSON while also handling Nepali script, calendar conversion, and name transliteration all in a single prompt. The solution was using generateText (not streaming) and stripping any markdown code fences from the response before parsing.&lt;/p&gt;

&lt;p&gt;This was built to solve a real problem for a real community — and it's already being used.&lt;/p&gt;

&lt;p&gt;DEV username - BishalSunuwar202&lt;/p&gt;

&lt;p&gt;Please do give your feedback on what I can improve.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>weekendchallenge</category>
      <category>showdev</category>
    </item>
  </channel>
</rss>
