<?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: ABHINASH SAHOO</title>
    <description>The latest articles on DEV Community by ABHINASH SAHOO (@amlan24).</description>
    <link>https://dev.to/amlan24</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%2F4078825%2F0dd465cb-7acb-487c-af3b-167cd401e676.png</url>
      <title>DEV Community: ABHINASH SAHOO</title>
      <link>https://dev.to/amlan24</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/amlan24"/>
    <language>en</language>
    <item>
      <title>Building CivicGemma: A Tamper-Evident E-Voting Microservices Platform with Gemma 4 🗳️</title>
      <dc:creator>ABHINASH SAHOO</dc:creator>
      <pubDate>Sat, 31 Oct 2026 07:41:07 +0000</pubDate>
      <link>https://dev.to/amlan24/building-civicgemma-a-tamper-evident-e-voting-microservices-platform-with-gemma-4-188o</link>
      <guid>https://dev.to/amlan24/building-civicgemma-a-tamper-evident-e-voting-microservices-platform-with-gemma-4-188o</guid>
      <description>&lt;h2&gt;
  
  
  🚀 TL;DR
&lt;/h2&gt;

&lt;p&gt;During &lt;strong&gt;Hacktoberfest Hack Day Bhubaneswar × DatrixLabs&lt;/strong&gt;, I built &lt;strong&gt;CivicGemma&lt;/strong&gt; — an open-source, full-stack microservices e-voting pilot system designed specifically for local body elections (Panchayats, Municipalities, and Wards). &lt;/p&gt;

&lt;p&gt;It combines &lt;strong&gt;Java 21 &amp;amp; Spring Boot 3.4 microservices&lt;/strong&gt;, &lt;strong&gt;Angular 22&lt;/strong&gt;, and &lt;strong&gt;Gemma 4 multimodal AI&lt;/strong&gt; to deliver double-voting prevention, cryptographic SHA-256 ballot sealing, and multilingual voter assistance.&lt;/p&gt;




&lt;h2&gt;
  
  
  💡 The Problem: Why Local Body Elections?
&lt;/h2&gt;

&lt;p&gt;Grassroots democracy is where policy directly impacts daily life — from local roads to sanitation and water supply. However, local body elections face unique logistical hurdles:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Paper Ballot Inefficiencies &amp;amp; Fraud:&lt;/strong&gt; High printing costs, slow manual counting, and vulnerability to tampering.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Double-Voting Risks:&lt;/strong&gt; Malicious voters registered across adjacent wards attempting multiple ballots.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Information Asymmetry:&lt;/strong&gt; Citizens often don't know who their ward candidates are or what their local manifestos promise.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;We asked: &lt;em&gt;Can we build a transparent, auditable, and accessible digital voting platform that guarantees ballot integrity while empowering voters with AI?&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;That was the birth of &lt;strong&gt;CivicGemma&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  🏗️ System Architecture: The Microservices Ecosystem
&lt;/h2&gt;

&lt;p&gt;Rather than building a monolithic prototype, we architected CivicGemma around the &lt;strong&gt;Database-per-Service pattern&lt;/strong&gt; using &lt;strong&gt;Spring Cloud 2024&lt;/strong&gt; and &lt;strong&gt;Spring Boot 3.4.2&lt;/strong&gt;:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;             ┌─────────────────────────┐
               │  Angular 22 Frontend    │
               └────────────┬────────────┘
                            │ HTTP / REST
                            ▼
               ┌─────────────────────────┐
               │   Spring Cloud Gateway  │ (Port 8080)
               └────────────┬────────────┘
                            │ lb://
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;┌──────────────┬─────────────┼─────────────┬──────────────┐&lt;br&gt;
   ▼              ▼             ▼             ▼              ▼&lt;br&gt;
┌──────────────┐┌────────────┐┌────────────┐┌────────────┐┌────────────┐ │ Auth Service ││Voter Service││Voting Service│Result Service│Audit Service│ │ (Port 8086) ││ (Port 8081) ││ (Port 8084) ││ (Port 8085) ││ (Port 8087) │ └──────┬───────┘└─────┬──────┘└─────┬──────┘└─────┬──────┘└─────┬──────┘ │ │ │ │ │ [Auth DB] [Voter DB] [Voting DB] [Result DB] [Audit DB]&lt;/p&gt;
&lt;h3&gt;
  
  
  Key Components:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Eureka Discovery Server (8761):&lt;/strong&gt; Dynamic registry enabling microservices to locate each other without hardcoded IPs.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Spring Cloud API Gateway (8080):&lt;/strong&gt; Reverse proxy handling routing, CORS policies, and centralized security.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;7 Domain Services:&lt;/strong&gt; &lt;code&gt;Auth&lt;/code&gt;, &lt;code&gt;Voter&lt;/code&gt;, &lt;code&gt;Election&lt;/code&gt;, &lt;code&gt;Candidate&lt;/code&gt;, &lt;code&gt;Voting&lt;/code&gt;, &lt;code&gt;Result&lt;/code&gt;, and &lt;code&gt;Audit&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Database-per-Service:&lt;/strong&gt; Each microservice has its own isolated MySQL database schema to ensure zero tight coupling.&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;
  
  
  🛡️ Core Innovation #1: Unbreakable Double-Voting Defense
&lt;/h2&gt;

&lt;p&gt;In electronic voting, preventing race conditions (e.g., clicking "Vote" simultaneously across multiple tabs) is paramount. We implemented a &lt;strong&gt;three-tier defense&lt;/strong&gt;:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Application Layer Check:&lt;/strong&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="n"&gt;voteRepository&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;existsByElectionIdAndVoterId&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="n"&gt;dto&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getElectionId&lt;/span&gt;&lt;span class="o"&gt;(),&lt;/span&gt; &lt;span class="n"&gt;dto&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getVoterId&lt;/span&gt;&lt;span class="o"&gt;()))&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;throw&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nf"&gt;IllegalStateException&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Voter has already cast a ballot."&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;

&lt;span class="nc"&gt;Database&lt;/span&gt; &lt;span class="nc"&gt;Engine&lt;/span&gt; &lt;span class="nf"&gt;Constraint&lt;/span&gt; &lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nc"&gt;The&lt;/span&gt; &lt;span class="nc"&gt;Hard&lt;/span&gt; &lt;span class="nc"&gt;Wall&lt;/span&gt;&lt;span class="o"&gt;):&lt;/span&gt; &lt;span class="nc"&gt;We&lt;/span&gt; &lt;span class="n"&gt;enforce&lt;/span&gt; &lt;span class="n"&gt;a&lt;/span&gt; &lt;span class="n"&gt;compound&lt;/span&gt; &lt;span class="n"&gt;unique&lt;/span&gt; &lt;span class="n"&gt;index&lt;/span&gt; &lt;span class="n"&gt;constraint&lt;/span&gt; &lt;span class="n"&gt;at&lt;/span&gt; &lt;span class="n"&gt;the&lt;/span&gt; &lt;span class="n"&gt;database&lt;/span&gt; &lt;span class="nl"&gt;level:&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;ALTER TABLE votes ADD CONSTRAINT uk_election_voter UNIQUE (election_id, voter_id);&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Cryptographic SHA-256 Ballot Sealing: Every ballot generates a tamper-evident digital seal returned to the voter as a verifiable receipt:
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;String rawData = voterId + ":" + electionId + ":" + candidateId + ":" + timestamp + ":" + UUID.randomUUID();&lt;br&gt;
MessageDigest digest = MessageDigest.getInstance("SHA-256");&lt;br&gt;
byte[] hashBytes = digest.digest(rawData.getBytes(StandardCharsets.UTF_8));&lt;br&gt;
// Returns 64-character hexadecimal receipt hash&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;🤖 Core Innovation #2: Gemma 4 Multimodal Civic AI

We leveraged Google's open-weights Gemma 4 model to solve two real-world accessibility challenges:
&lt;span class="p"&gt;
1.&lt;/span&gt; Multimodal Voter ID (EPIC) Verification

Elderly or rural voters can upload an image of their Electors Photo Identity Card (EPIC). Gemma 4's vision capabilities inspect the card, verify document legibility, extract the identifier, and cross-validate with the voter-service registry.
&lt;span class="p"&gt;
2.&lt;/span&gt; Multilingual Manifesto Explainer

Local voters can ask natural language questions in English, Hindi, or Odia:

"Who is running in Ward 12?"
"Summarize Candidate Arjun Sharma's key promises in 3 bullet points."
"Which candidate has promised better water drainage?"

Gemma parses structured candidate manifestos and delivers impartial, concise summaries.

🛠️ The Tech Stack
Domain  Technologies
Backend Java 21 LTS, Spring Boot 3.4.2, Spring Cloud 2024 (Eureka, Gateway, OpenFeign)
Frontend    Angular 22 (Standalone Components, SSR, Tailwind CSS)
Databases   MySQL (Isolated schema per microservice)
AI / ML Google Gemma 4 / Gemini API
Security    Stateless JWT (HMAC-SHA256), BCrypt, SHA-256
DevOps  Maven Multi-Module, Automated Batch Launchers (start-all.bat)

🧗 Challenges Faced &amp;amp; Lessons Learned
&lt;span class="p"&gt;1.&lt;/span&gt; The JDK Compiler vs. Lombok Dilemma

During compilation, we hit a compiler error:

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

&lt;/div&gt;



&lt;p&gt;Fatal error compiling: java.lang.ExceptionInInitializerError: com.sun.tools.javac.code.TypeTag :: UNKNOWN&lt;/p&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

We discovered that the host environment was compiling with bleeding-edge JDK 25/26, which introduced breaking internal changes to com.sun.tools.javac.code.TypeTag that broke annotation processors like Lombok. We diagnosed and resolved this by pinning our toolchain to Eclipse Temurin JDK 21 LTS, restoring clean, reproducible builds.

2. Distributed State vs. Network Partitions

When voting-service records a ballot, it must sync hasVoted = true with voter-service. While OpenFeign handles synchronous calls gracefully, a network partition requires resilience. We architected fallback exception handlers and designed the schema so that the ballot ledger remains authoritative even if the voter metadata service experiences latency.

🔮 What's Next for CivicGemma?
Zero-Knowledge Proofs (ZKP): Implementing zk-SNARKs to achieve complete ballot unlinkability while mathematically guaranteeing eligibility.
Consortium Blockchain (Hyperledger Fabric): Moving the audit log service onto a distributed ledger so no single administrative authority can modify election logs.
Offline Polling Station Sync: Edge-caching for rural booths with intermittent connectivity.
🙏 Acknowledgements

Huge thanks to Major League Hacking (MLH), DatrixLabs, and the Hacktoberfest community for organizing this hackathon!

GitHub Repository: https://github.com/hira8969/E-Voting-Pilot-System-for-Local-Body-Elections
Live Demo Video / Project Link: https://lnkd.in/p/dKgcisNt

Drop a ❤️ if you found this interesting, and leave your thoughts on digital voting in the comments!

---

### 4. Optional Polish:
- **Cover Image:** You can click the **✨ Generate Image** button at the top to let DEV generate an AI cover banner for your post.
- **Preview:** Click the **Preview** tab next to "Edit" to see how clean the article looks before publishing.
- Click **Publish** (blue button at the bottom left) when you're ready!
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

</description>
      <category>hacktoberfest</category>
      <category>opensource</category>
      <category>springboot</category>
      <category>ai</category>
    </item>
    <item>
      <title>GreenBuddy AI: The Haunted Garden</title>
      <dc:creator>ABHINASH SAHOO</dc:creator>
      <pubDate>Wed, 28 Oct 2026 05:15:48 +0000</pubDate>
      <link>https://dev.to/amlan24/greenbuddy-ai-the-haunted-garden-4g21</link>
      <guid>https://dev.to/amlan24/greenbuddy-ai-the-haunted-garden-4g21</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/hacktoberfest-week4-2026-10-26"&gt;Hacktoberfest Open-Source AI Challenge Week 4: Ghost in the Machine&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

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

&lt;p&gt;👻 &lt;strong&gt;GreenBuddy AI: The Haunted Garden&lt;/strong&gt; 🎃&lt;/p&gt;

&lt;p&gt;What if your garden had a ghostly assistant to remind you what needs attention?&lt;/p&gt;

&lt;p&gt;GreenBuddy AI is an open-source gardening assistant that uses local AI to generate gardening task suggestions based on the plants, location, and gardening space entered by the user.&lt;/p&gt;

&lt;p&gt;For the &lt;em&gt;Ghost in the Machine&lt;/em&gt; theme, I gave the gardening task tracker a Halloween makeover. The interface features spooky colors, a Haunted Garden banner, and ghostly messages when the AI generates gardening suggestions.&lt;/p&gt;

&lt;p&gt;Beyond the Halloween appearance, the application helps users add suggested tasks, track completion, and retain their gardening progress after refreshing the page.&lt;/p&gt;

&lt;p&gt;My inspiration was simple: combine the fun of Halloween with a practical everyday use case for open-source AI. 🎃🌱&lt;/p&gt;

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

&lt;p&gt;The application currently runs locally.&lt;/p&gt;

&lt;p&gt;To try it, start the Flask application and visit:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;http://127.0.0.1:5000/tasks&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;This is a local development URL, not a publicly hosted demo. I'll add a screen recording or screenshots to showcase the experience.&lt;/p&gt;

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

&lt;p&gt;🌿 GitHub repository: &lt;a href="https://github.com/AMLAN-07/GreenBuddyAI" rel="noopener noreferrer"&gt;https://github.com/AMLAN-07/GreenBuddyAI&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Explore the project, try it locally, and contribute ideas for making gardening easier.&lt;/p&gt;

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

&lt;p&gt;I built GreenBuddy AI using:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Python and Flask&lt;/strong&gt; for the backend and API endpoints.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Ollama with a locally running language model&lt;/strong&gt; for generating gardening task suggestions.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;HTML, CSS, and JavaScript&lt;/strong&gt; for the interactive interface and Halloween styling.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Browser local storage&lt;/strong&gt; to retain gardening tasks and completion status across page refreshes.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I tested the main workflow: generating AI suggestions, adding a suggested task, marking it as completed, and refreshing the page to verify that tasks and completion status persisted.&lt;/p&gt;

&lt;p&gt;The Halloween update builds on the existing gardening application rather than replacing its core functionality.&lt;/p&gt;

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

&lt;p&gt;Open innovation made it possible for me to explore AI beyond simply calling a closed, hosted API.&lt;/p&gt;

&lt;p&gt;Running a model locally through Ollama gave me a way to experiment with AI-powered gardening suggestions while learning how to connect a language model to a real application. Open-source tools also make it easier for other developers to inspect, adapt, and contribute to the project.&lt;/p&gt;

&lt;p&gt;For me, this project is a reminder that AI doesn't need to be mysterious or inaccessible. With open tools, we can experiment, learn, and build useful things one feature at a time.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Spirit of It
&lt;/h2&gt;

&lt;p&gt;Every haunted garden has its secrets. Mine has a ghostly assistant that turns gardening chores into a little Halloween adventure.&lt;/p&gt;

&lt;p&gt;Behind the spooky colors and ghostly messages is a practical idea: caring for plants becomes easier when the next task is clear.&lt;/p&gt;

&lt;p&gt;The ghost may haunt the garden, but the weeds won't pull themselves! 👻🌿&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
    </item>
    <item>
      <title>🌱 GreenBuddy AI: Your Local AI Gardening Assistant | Hacktoberfest Week 3</title>
      <dc:creator>ABHINASH SAHOO</dc:creator>
      <pubDate>Thu, 22 Oct 2026 18:51:58 +0000</pubDate>
      <link>https://dev.to/amlan24/greenbuddy-ai-your-local-ai-gardening-assistant-hacktoberfest-week-3-320</link>
      <guid>https://dev.to/amlan24/greenbuddy-ai-your-local-ai-gardening-assistant-hacktoberfest-week-3-320</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/hacktoberfest-week3-2026-10-19"&gt;Hacktoberfest Open-Source AI Challenge Week 3: Slow and Steady&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

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

&lt;p&gt;I built &lt;strong&gt;GreenBuddy AI&lt;/strong&gt;, an AI-powered gardening assistant that helps beginners spend less time planning their garden and more time growing plants.&lt;/p&gt;

&lt;p&gt;Gardening is rewarding, but remembering what to do, when to check plants, and how to plan regular maintenance can become repetitive. GreenBuddy helps simplify that process.&lt;/p&gt;

&lt;p&gt;With GreenBuddy AI, users can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🌱 Explore gardening advice tailored to their location and growing space.&lt;/li&gt;
&lt;li&gt;🪴 Generate practical gardening tasks based on their plants.&lt;/li&gt;
&lt;li&gt;🤖 Use AI-generated suggestions for activities such as checking soil moisture and inspecting leaves.&lt;/li&gt;
&lt;li&gt;📅 Assign due dates to tasks and organize their gardening checklist.&lt;/li&gt;
&lt;li&gt;✅ Save tasks and completion status in the browser, so their checklist remains available after refreshing the page.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The goal is simple: &lt;strong&gt;make gardening easier to maintain by reducing repetitive planning.&lt;/strong&gt;&lt;/p&gt;

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

&lt;p&gt;GreenBuddy AI currently runs locally on my development machine.&lt;/p&gt;

&lt;p&gt;To try it, clone the repository, follow the setup instructions, start Flask and Ollama, and open the local application in your browser.&lt;/p&gt;

&lt;p&gt;I haven't included a public deployment link because I haven't confirmed a publicly hosted demo.&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;GitHub repository:&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
&lt;a href="https://github.com/AMLAN-07/GreenBuddyAI" rel="noopener noreferrer"&gt;https://github.com/AMLAN-07/GreenBuddyAI&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The project is open source, and I welcome feedback, suggestions, and contributions.&lt;/p&gt;

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

&lt;p&gt;I built GreenBuddy AI using Python, Flask, HTML, CSS, JavaScript, and local AI inference.&lt;/p&gt;

&lt;p&gt;My AI setup uses &lt;strong&gt;Qwen 2.5 3B through Ollama&lt;/strong&gt;, allowing the application to generate gardening suggestions using a model running locally rather than depending on a paid hosted AI API.&lt;/p&gt;

&lt;p&gt;The workflow is straightforward:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;The user enters their plants, location, and growing space.&lt;/li&gt;
&lt;li&gt;The Flask backend sends the information and gardening instructions to the local Qwen model through Ollama.&lt;/li&gt;
&lt;li&gt;The model generates structured gardening task suggestions.&lt;/li&gt;
&lt;li&gt;The backend validates the returned task data.&lt;/li&gt;
&lt;li&gt;The user chooses which suggestions to add to their checklist.&lt;/li&gt;
&lt;li&gt;The browser stores tasks and their completion status using local storage.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;I also worked on adding AI-selected due-date offsets so tasks can have different suggested deadlines instead of assigning the same date to every task. This is intended to make the planner more useful for ongoing gardening routines.&lt;/p&gt;

&lt;p&gt;I focused on keeping the workflow understandable, beginner-friendly, and practical.&lt;/p&gt;

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

&lt;p&gt;Open innovation made this project possible with tools I could experiment with and adapt to my needs.&lt;/p&gt;

&lt;p&gt;Using an open-weight model through Ollama gave me a way to explore local AI inference without making a paid hosted API a requirement for generating suggestions.&lt;/p&gt;

&lt;p&gt;It also gave me more control over the prompts, response format, validation, and integration with my Python application.&lt;/p&gt;

&lt;p&gt;Open-source tools are especially valuable for learners like me because they make experimentation more accessible. I can inspect the code, understand how the components work together, improve the application, and share those improvements with other developers.&lt;/p&gt;

&lt;p&gt;For me, open innovation means being able to learn by building something useful and making that work available to others.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Lazy Payoff
&lt;/h2&gt;

&lt;p&gt;GreenBuddy AI is designed to reduce the mental effort involved in planning recurring gardening activities.&lt;/p&gt;

&lt;p&gt;Instead of starting with a blank checklist, a beginner can request suggestions and choose which tasks to add. Saving tasks in the browser also avoids having to recreate the checklist after every page refresh.&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fs4oyq93z23g73hg6rv6c.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fs4oyq93z23g73hg6rv6c.png" alt=" " width="800" height="793"&gt;&lt;/a&gt;&lt;br&gt;
I haven't measured time savings yet, so I won't claim a specific number of minutes saved. My next step is to test the workflow with more gardeners and learn which suggestions and scheduling features are genuinely useful.&lt;/p&gt;

&lt;p&gt;The aim is to make gardening routines easier to maintain, one small task at a time.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
    </item>
    <item>
      <title>GreenBuddy AI</title>
      <dc:creator>ABHINASH SAHOO</dc:creator>
      <pubDate>Tue, 13 Oct 2026 08:39:39 +0000</pubDate>
      <link>https://dev.to/amlan24/greenbuddy-ai-5bh9</link>
      <guid>https://dev.to/amlan24/greenbuddy-ai-5bh9</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/hacktoberfest-week2-2026-10-12"&gt;Hacktoberfest Open-Source AI Challenge Week 2: Side Hustle&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

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

&lt;p&gt;I built &lt;strong&gt;GreenBuddy AI&lt;/strong&gt;, an AI-powered gardening assistant that helps beginners identify plants, get plant-care guidance, and plan a garden based on their location, season, and available growing space.&lt;/p&gt;

&lt;p&gt;I wanted to make gardening easier for people who want to grow plants at home but don't always know which plants they have, how to care for them, or what they can grow in limited spaces like balconies.&lt;/p&gt;

&lt;p&gt;GreenBuddy AI combines plant image identification with AI-generated gardening guidance to make getting started less intimidating.&lt;/p&gt;

&lt;p&gt;The potential customers are beginner gardeners, balcony gardeners, and people who want practical help caring for their plants. In the future, the project could offer personalized gardening plans or additional plant-care features as a possible side hustle. I'm still exploring this opportunity and validating what users find most useful.&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;Try it locally:&lt;/strong&gt; Run GreenBuddy AI on your computer to explore its features.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Project post:&lt;/strong&gt; &lt;a href="https://dev.to/amlan24/greenbuddy-ai-3259"&gt;https://dev.to/amlan24/greenbuddy-ai-3259&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The application is currently being tested locally, so a public deployed demo is not available yet.&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;GitHub repository:&lt;/strong&gt; &lt;a href="https://github.com/AMLAN-07/GreenBuddyAI" rel="noopener noreferrer"&gt;https://github.com/AMLAN-07/GreenBuddyAI&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The repository contains the source code for the project. Feedback is collected through an in-app form and saved locally for review.&lt;/p&gt;

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

&lt;p&gt;I built GreenBuddy AI using Python and Flask for the backend, with HTML, CSS, and JavaScript for the user interface.&lt;/p&gt;

&lt;p&gt;The project uses an open plant-identification model from Hugging Face to analyze plant images. I also use local AI tooling with Ollama and the Qwen 2.5 3B model for gardening assistance.&lt;/p&gt;

&lt;p&gt;The main features include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Plant identification:&lt;/strong&gt; &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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F2w84zereqfgacef2q5an.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F2w84zereqfgacef2q5an.png" alt=" " width="800" height="794"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Plant-care guidance:&lt;/strong&gt; Get assistance with everyday gardening questions.&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fzanxr7ub2dxfx2puo3en.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fzanxr7ub2dxfx2puo3en.png" alt=" " width="799" height="606"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Gardening planner:&lt;/strong&gt; Explore planting suggestions based on location, season, and growing space.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;User feedback:&lt;/strong&gt; Collect feedback through a form and save responses to a CSV file.&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fcom92at70a384vkuhlcc.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fcom92at70a384vkuhlcc.png" alt=" " width="800" height="868"&gt;&lt;/a&gt;&lt;br&gt;
I tested the application with another person and added a feedback workflow so I can collect suggestions and improve the project based on real usage.&lt;/p&gt;

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

&lt;p&gt;Open innovation made it possible for me to build an AI-powered application without training a large model from scratch or relying entirely on a closed, hosted AI API.&lt;/p&gt;

&lt;p&gt;Using open models and tools gives me more control over experimentation and makes it easier to understand how the different parts of my application work together.&lt;/p&gt;

&lt;p&gt;Local inference also offers a path toward keeping gardening questions and other inputs on the user's computer when the relevant feature runs entirely locally. Some features, such as downloading models or accessing online resources, may still require an internet connection.&lt;/p&gt;

&lt;p&gt;For me, open innovation means that an individual developer can take existing AI research and turn it into something practical, affordable to experiment with, and open to future improvements.&lt;/p&gt;

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

&lt;p&gt;I explored AI-assisted development tools while building and improving GreenBuddy AI.&lt;/p&gt;

&lt;p&gt;I haven't included a saved DevRelay agent session link here because I don't yet have a verified session URL to share.&lt;/p&gt;

&lt;h2&gt;
  
  
  My First User
&lt;/h2&gt;

&lt;p&gt;I tested GreenBuddy AI with another person and implemented a feedback form to collect suggestions. The feedback is saved locally in &lt;code&gt;user_feedback.csv&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;The tester suggested adding a new feature. This helped me recognize the importance of building around user needs instead of relying only on my own assumptions.&lt;/p&gt;

&lt;p&gt;I'm reviewing the suggestion to decide which improvement to implement next.&lt;/p&gt;

&lt;p&gt;There has been no confirmed payment from this test. My current goal is to validate the problem, improve the application, and understand whether it provides enough value for people to use regularly.&lt;/p&gt;

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

&lt;p&gt;I'll select the partner prize categories that match the challenge's official rules and the tools actually used in my project before publishing.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
    </item>
    <item>
      <title>GreenBuddy AI</title>
      <dc:creator>ABHINASH SAHOO</dc:creator>
      <pubDate>Fri, 09 Oct 2026 13:08:51 +0000</pubDate>
      <link>https://dev.to/amlan24/greenbuddy-ai-3259</link>
      <guid>https://dev.to/amlan24/greenbuddy-ai-3259</guid>
      <description>&lt;h1&gt;
  
  
  GreenBuddy AI 🌱 — Your Local Gardening Companion
&lt;/h1&gt;

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

&lt;p&gt;GreenBuddy AI is an AI-powered gardening assistant designed to help beginners identify plants, learn how to care for them, plan seasonal planting, and spend more time outdoors.&lt;/p&gt;

&lt;p&gt;I built this project for the &lt;strong&gt;Hacktoberfest Open-Source AI Challenge — Week 1: Touch Grass&lt;/strong&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  ✨ Features
&lt;/h3&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Frr0qp6pnjmkmypsk9294.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Frr0qp6pnjmkmypsk9294.png" alt=" " width="800" height="794"&gt;&lt;/a&gt;&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Frpt2z0sih9bv5jzk5s3n.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Frpt2z0sih9bv5jzk5s3n.png" alt=" " width="799" height="606"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;🌱 Plant Identification:&lt;/strong&gt; Upload a plant photo to get likely plant names and model confidence scores.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;💧 Plant Care Assistant:&lt;/strong&gt; Get AI-generated guidance for watering, sunlight, soil, and general plant care.&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F9ntlbx57lfhxm2w7acxm.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F9ntlbx57lfhxm2w7acxm.png" alt=" " width="800" height="722"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;🪴 Planting Planner:&lt;/strong&gt; Generate a planting plan based on your location, growing space, and selected period.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;🌳 Outdoor Missions:&lt;/strong&gt; Track simple gardening and outdoor activities to encourage spending more time with nature.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;🤖 Local AI Assistant:&lt;/strong&gt; Use a locally running language model through Ollama for gardening questions and suggestions.&lt;/li&gt;
&lt;/ul&gt;

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

&lt;ul&gt;
&lt;li&gt;Python and Flask&lt;/li&gt;
&lt;li&gt;HTML, CSS, and JavaScript&lt;/li&gt;
&lt;li&gt;Ollama with Qwen 2.5 3B&lt;/li&gt;
&lt;li&gt;Hugging Face Transformers&lt;/li&gt;
&lt;li&gt;PyTorch and Pillow&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  💡 Why Open-Source AI?
&lt;/h2&gt;

&lt;p&gt;I wanted to explore how AI could support an everyday activity while keeping the project accessible and transparent.&lt;/p&gt;

&lt;p&gt;GreenBuddy AI combines local language-model inference with image classification. Once the required models are downloaded, inference can run locally, reducing dependence on hosted AI APIs and helping keep plant photos and gardening questions on the user's device.&lt;/p&gt;

&lt;p&gt;The application still needs Ollama and its models installed, and the plant-identification model must be downloaded before its first use. Some gardening recommendations may need verification for local climate and growing conditions.&lt;/p&gt;

&lt;h2&gt;
  
  
  🚀 Try the Project
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;GitHub repository:&lt;/strong&gt; &lt;a href="https://github.com/AMLAN-07/GreenBuddyAI" rel="noopener noreferrer"&gt;https://github.com/AMLAN-07/GreenBuddyAI&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The project currently runs locally. Follow the setup instructions in the repository's README to install the dependencies and start the application.&lt;/p&gt;

&lt;h2&gt;
  
  
  🌱 What I Learned
&lt;/h2&gt;

&lt;p&gt;Building GreenBuddy AI helped me explore how to connect a local language model to a Flask application, integrate an image-classification model, and create a frontend that brings multiple AI features together.&lt;/p&gt;

&lt;p&gt;I also learned that AI-generated gardening advice should be treated as a starting point and checked against reliable, location-specific information.&lt;/p&gt;

&lt;h2&gt;
  
  
  🔮 What's Next?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Improve plant-identification accuracy and display clearer results.&lt;/li&gt;
&lt;li&gt;Add weather-aware planting recommendations.&lt;/li&gt;
&lt;li&gt;Improve gardening advice for different regions and seasons.&lt;/li&gt;
&lt;li&gt;Add tests, documentation, and more beginner-friendly setup instructions.&lt;/li&gt;
&lt;li&gt;Welcome contributions from the open-source community.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  🤝 Contributions
&lt;/h2&gt;

&lt;p&gt;Suggestions, bug reports, and contributions are welcome! Please visit the GitHub repository to explore the code and contribute.&lt;/p&gt;

&lt;h2&gt;
  
  
  🏆 Challenge
&lt;/h2&gt;

&lt;p&gt;Built for &lt;strong&gt;Hacktoberfest 2026 — Week 1: Touch Grass&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Thanks for checking out GreenBuddy AI. Let's use AI to learn about plants, grow greener spaces, and reconnect with nature! 🌿&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
    </item>
    <item>
      <title>Building Kairos AI: My 10-Day Journey Building a Voice Coding Mentor with Murf Falcon &amp; LiveKit</title>
      <dc:creator>ABHINASH SAHOO</dc:creator>
      <pubDate>Sat, 15 Aug 2026 11:34:04 +0000</pubDate>
      <link>https://dev.to/amlan24/building-kairos-ai-my-10-day-journey-building-a-voice-coding-mentor-with-murf-falcon-livekit-4cp0</link>
      <guid>https://dev.to/amlan24/building-kairos-ai-my-10-day-journey-building-a-voice-coding-mentor-with-murf-falcon-livekit-4cp0</guid>
      <description>&lt;p&gt;&lt;strong&gt;🔗 Project Repository&lt;/strong&gt;&lt;br&gt;
The complete source code for Kairos AI is available on GitHub:&lt;br&gt;
&lt;em&gt;&lt;a href="https://github.com/AMLAN-07/murf-livekit-starter" rel="noopener noreferrer"&gt;https://github.com/AMLAN-07/murf-livekit-starter&lt;/a&gt;&lt;/em&gt;&lt;br&gt;
&lt;strong&gt;Meet Kairos AI&lt;/strong&gt;&lt;br&gt;
Kairos AI handling a voice conversation with the user.&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Frndqmf1y8p65w639m2ia.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Frndqmf1y8p65w639m2ia.png" alt=" " width="800" height="405"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Specialist Agent Handoff&lt;/strong&gt;&lt;br&gt;
Kairos handing a DSA problem to the dedicated DSA Specialist Agent.&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F4t49olmxsniq8ldwa9ny.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F4t49olmxsniq8ldwa9ny.png" alt=" " width="800" height="410"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Call Analytics Dashboard&lt;/strong&gt;&lt;br&gt;
Kairos AI call analytics showing call outcomes.&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fk5ekuuk88qawo97d9rh2.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fk5ekuuk88qawo97d9rh2.png" alt=" " width="800" height="418"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;LiveKit signal connection&lt;br&gt;
        ↓&lt;br&gt;
Timeout&lt;br&gt;
        ↓&lt;br&gt;
Tested network connectivity&lt;br&gt;
        ↓&lt;br&gt;
IPv6 connection failed&lt;br&gt;
        ↓&lt;br&gt;
IPv4 connection succeeded&lt;br&gt;
        ↓&lt;br&gt;
Adjusted network configuration&lt;br&gt;
        ↓&lt;br&gt;
LiveKit worked&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Challenges Along the Way&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;"The project definitely didn't work perfectly on the first attempt."&lt;br&gt;
LiveKit timeout → IPv6 investigation &lt;/p&gt;

&lt;p&gt;Building Kairos was not always smooth. I faced issues with LiveKit connection timeouts, networking, agent handoffs, and tool integration. Debugging these problems helped me understand that building a voice agent requires not only good code, but also careful testing of real-time communication and system configuration.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Didn't Go as Planned
&lt;/h2&gt;

&lt;p&gt;Kairos was not built in one smooth run.&lt;/p&gt;

&lt;p&gt;I had issues with LiveKit connectivity, IPv6 networking, agent handoffs, tool execution, and outbound calling. Some features worked in isolated tests but behaved differently when connected to the complete voice workflow.&lt;/p&gt;

&lt;p&gt;Those problems were actually some of the most useful parts of the challenge. They taught me to debug the entire system instead of assuming every problem was caused by the Python code.&lt;/p&gt;

&lt;p&gt;Building a voice agent is as much about debugging real-time systems as it is about writing prompts and integrating AI models.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;The Problem I Wanted to Solve
I wanted Kairos to provide a more natural interface:
Talk → Think → Discuss → Practice&lt;/li&gt;
&lt;li&gt;Meet Kairos AI
Kairos can also communicate in English, Hindi, and Hinglish, allowing users to interact in a more natural way.&lt;/li&gt;
&lt;li&gt;Murf Falcon — Giving Kairos a Voice
&lt;code&gt;tts=murf.TTS(
voice="Samar",
locale="en-IN",
style="Conversational",
tokenizer=tokenize.basic.SentenceTokenizer(
    min_sentence_len=2
),
text_pacing=True,
)&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Human Help / Escalation
An AI mentor shouldn't pretend it can solve every situation.&lt;/li&gt;
&lt;li&gt;Specialist Agent Handoff
Instead of making Kairos an expert at everything, I created a separate specialist whose only responsibility is DSA.&lt;/li&gt;
&lt;li&gt;Outbound Calling
I also added an outbound-call capability.&lt;/li&gt;
&lt;li&gt;Final Architecture
After 10 days, Kairos evolved into something much more interesting than the simple voice agent I started with.
                     ┌─────────────────┐
                     │      User       │
                     └────────┬────────┘
                              │
                       Voice / Phone
                              │
                              ▼
                     ┌─────────────────┐
                     │    LiveKit      │
                     └────────┬────────┘
                              │
                              ▼
                     ┌─────────────────┐
                     │    Kairos AI    │
                     │   Main Agent    │
                     └───────┬─────────┘
                             │
          ┌──────────────────┼──────────────────┐
          │                  │                  │
          ▼                  ▼                  ▼
      Memory              Tools          DSA Specialist
          │                  │                  │
          │          ┌───────┴──────┐           │
          │          │              │           │
          │       Codeforces    Human Help      │
          │          │              │           │
          └──────────┴───────┬──────┘           │
                             │                  │
                             ▼                  │
                     Analytics / Calls ◄────────┘
                             │
                             ▼
                      Murf Falcon TTS
                             │
                             ▼
                          🔊 User
&lt;strong&gt;Conclusion&lt;/strong&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;When I started this challenge, the goal was simply to build a voice agent.&lt;br&gt;
Ten days later, I had built Kairos AI, a voice coding mentor with:&lt;/p&gt;

&lt;p&gt;🎙️ Real-time voice interaction&lt;br&gt;
🇮🇳 Indian English voice&lt;br&gt;
🧠 Persistent memory&lt;br&gt;
💻 Coding-problem tools&lt;br&gt;
🛡️ Guardrails&lt;br&gt;
🧑‍💻 Human escalation&lt;br&gt;
📞 Outbound calling&lt;br&gt;
📊 Call analytics&lt;br&gt;
🤝 Specialist-agent handoffs&lt;br&gt;
🌐 Multilingual interaction&lt;/p&gt;

&lt;p&gt;The biggest takeaway for me is that voice AI is not just about making an LLM speak.&lt;br&gt;
It's about designing an entire interaction system around the user.&lt;/p&gt;

&lt;p&gt;And that's what made these 10 days so valuable.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>python</category>
    </item>
  </channel>
</rss>
