<?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: Prashil Chaudhary</title>
    <description>The latest articles on DEV Community by Prashil Chaudhary (@prashilchaudhary_).</description>
    <link>https://dev.to/prashilchaudhary_</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%2F4161514%2Faf6e262a-4fb4-4728-9f5e-f8e5c21b67af.jpg</url>
      <title>DEV Community: Prashil Chaudhary</title>
      <link>https://dev.to/prashilchaudhary_</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/prashilchaudhary_"/>
    <language>en</language>
    <item>
      <title>Social Confidence Coach: A Private AI Practice Partner for My Roommate</title>
      <dc:creator>Prashil Chaudhary</dc:creator>
      <pubDate>Sun, 04 Oct 2026 13:38:35 +0000</pubDate>
      <link>https://dev.to/prashilchaudhary_/social-confidence-coach-a-private-ai-practice-partner-for-my-roommate-1bp9</link>
      <guid>https://dev.to/prashilchaudhary_/social-confidence-coach-a-private-ai-practice-partner-for-my-roommate-1bp9</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;I built the &lt;strong&gt;Social Confidence Coach&lt;/strong&gt; for my roommate, who struggles with social anxiety, meeting new people, and initiating casual conversations. &lt;/p&gt;

&lt;p&gt;Approaching peers or making small talk can feel intimidating and stressful. I wanted to give him a zero-stakes, completely private simulation where he can select different difficulty levels (from low-pressure barista chats to campus conversation starters), practice what to say, and receive real-time constructive feedback from an AI coach on whether his responses are engaging, natural, and polite.&lt;/p&gt;

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

&lt;p&gt;file:///private/var/folders/zz/ms_5j6rx5q195c7yt3x7k_y40000gn/T/TemporaryItems/NSIRD_screencaptureui_jfvbK3/Screenshot%202026-10-04%20at%206.57.28%E2%80%AFPM.png&lt;/p&gt;

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



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

def main():
    print("=== Social Confidence Daily Challenge &amp;amp; AI Practice ===")
    print("Choose your practice scenario:")
    print("1. Low Pressure - Casual greeting with a barista/cashier")
    print("2. Medium Pressure - Small talk with a student at a campus cafe")
    print("3. Active Engagement - Chatting with someone about shared interests")

    choice = input("\nEnter 1, 2, or 3: ").strip()

    scenarios = {
        "1": "You are a friendly barista at a local cafe during a quiet afternoon.",
        "2": "You are a fellow student sitting at a campus cafe studying for an exam.",
        "3": "You are an approachable student sitting in the library reading an interesting book."
    }

    selected_scenario = scenarios.get(choice, scenarios["2"])

    system_instruction = (
        f"Roleplay scenario: {selected_scenario} "
        "Keep your in-character answers brief (1 to 2 sentences). "
        "On a brand new line, always write '[Coach Advice:]' and give 1 brief sentence "
        "evaluating whether the user's message was natural, open-ended, or polite."
    )

    messages = [{"role": "system", "content": system_instruction}]

    print("\nScenario started! Type 'exit' to quit.\n")

    while True:
        user_input = input("You: ")

        if user_input.strip().lower() == "exit":
            print("\nSession complete. Great practice!")
            break

        messages.append({"role": "user", "content": user_input})

        response = ollama.chat(
            model="llama3.2:1b",
            messages=messages
        )

        reply = response["message"]["content"]
        print(f"\n{reply}\n")

        messages.append({"role": "assistant", "content": reply})

if __name__ == "__main__":
    main()

## How I Built It
The application is built in Python and runs locally using the official ollama Python library and Meta’s open-weight Llama 3.2 1B model.

Scenario Selection: The user chooses a comfort level, which dynamically constructs a tailored system prompt for the roleplay.

Context Memory: The script maintains a conversation history array (messages), ensuring the open-source model retains context across multi-turn interactions.

Dual Role Output: The model is instructed to output both an in-character peer dialogue and an analytical [Coach Advice:] snippet after each turn.

## Why Does Open Innovation Matter?
Open innovation and open-weight models are vital for a tool like this:

Total Privacy for Sensitive Topics: Practicing social interactions, dating openers, and overcoming social anxiety feels deeply personal. Closed cloud APIs store chat logs on remote servers. Running Llama 3.2 locally on a laptop via Ollama ensures that sensitive practice conversations never leave the machine.

Offline &amp;amp; Zero Cost: Social self-improvement tools should not require a recurring credit card charge or active internet connection. Open-source AI makes this available anywhere, completely free of charge.


## My Agent Session
I developed this project step-by-step with the help of an interactive AI coding assistant. 

During the build process, the assistant helped me:
1. Set up the local environment and troubleshoot the `ollama` library installation in VS Code.
2. Structure the conversation memory loop in Python so the model remembers chat context across multiple turns.
3. Engineer the dual-response system prompt so the local open-source model reliably outputs both in-character dialogue and actionable coaching advice in every turn.

##Feedback from My Friend
I had my roommate sit down and test it out by picking Level 2. After trying a couple of openers, his reaction was:

"It actually feels way less intimidating to test lines here than feeling awkward in person, and the quick tips tell me if I sounded too blunt."


## Prize Categories
Primary Track: Build for a Friend



&amp;lt;!-- Thanks for participating! --&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

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