# Social Confidence Coach: A Private AI Practice Partner for My Roommate

> Source: <https://dev.to/prashilchaudhary_/social-confidence-coach-a-private-ai-practice-partner-for-my-roommate-1bp9>
> Published: 2026-10-04 13:38:35+00:00

*This is a submission for the [Hacktoberfest Weekend Challenge: Build for a Friend](https://dev.to/challenges/hacktoberfest-weekend-2026-10-01)*

I built the **Social Confidence Coach** for my roommate, who struggles with social anxiety, meeting new people, and initiating casual conversations. 

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.

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

``` python
python
import ollama

def main():
    print("=== Social Confidence Daily Challenge & 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 & 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

<!-- Thanks for participating! -->
```


