This is a submission for the Hacktoberfest Open-Source AI Challenge Week 2: Side Hustle
What I Built
I don't pay for things online. Ever. Free tier, free trial, cancel before it renews, that's me.
Except once. I paid for an intro to data science course, because I wanted to get better at what I do. And it turns out I'm not alone: online education is projected to be a $199 billion market this year. People don't pay for apps. They pay to grow.
So when this week's theme asked "what would someone actually pay for?", I asked myself and my friends a different question:
What does everyone actually want to learn?
Not a programming language. Not a new tool. Every answer, in some form, came back to the same thing: how to communicate.
Here's the thing nobody says out loud. We all know how to speak a language. Very few of us know how to communicate in it: how to get to the point, how to be understood the first time, how to say the thing in your head the way it sounds in your head.
And it shows up everywhere:
- The job seeker who rambles through "tell me about yourself" and watches the interviewer's eyes glaze over.
- The interviewer who can't explain what the role actually is.
- The customer service worker calming down someone who's already angry.
- The content creator who loses people in the first five seconds.
- The international student (hi, that's me) standing in a group where everyone is laughing at a reference she doesn't get, wanting so badly to just join in.
Job, no job, any job. Everyone needs to make themselves understood. And almost nobody is ever taught how.
So I built Articulate Me: Duolingo, but for talking. Not a new language. Your own language, spoken well. A little every day.
The problem, in numbers
| Who | What the data says |
|---|---|
| Job seekers | 98.7% of employers say communication matters for new grads. They rate only 55.4% as proficient. |
| International students | 41% find it hard to make close friends with domestic students. |
| Anyone who wants help | A private speaking coach costs $100–300 an hour. |
| People already paying | Speaking-coach apps charge up to $20/month, and Toastmasters is about $12/month. |
Figure 1. Sources: NACE Job Outlook 2026 via Jobscan, World Education Services via Inside Higher Ed, Vocal Image, Toastmasters dues.
That last row is why I believe people will pay. The market already exists. There are plenty of AI speech apps out there, but most of them do one thing: you talk, they count your "um"s. That tells you what went wrong. It never teaches you how to get better. I wanted a real course.
A course, not a chatbot
Every day in Articulate Me has three steps:
- Learn one real technique, like getting to the point, or opening strong.
- Practice it in a conversation with someone who talks back.
- Get feedback on whether you actually used it, quoting your own words, with one thing to fix. Then try again.

Finish lessons, keep your streak, and earn badges along the way. Get to the end and you've got a whole new way of talking.
Why it looks like a textbook
I made every design choice on purpose, because I wanted it to feel like a course you're taking, not another app you're scrolling.
- It looks like a textbook. Simple, serif type, chapter numbers, figures and footnotes, with lessons you flip like real pages. Turning a page feels like progress in a way scrolling never does. I gave it a slightly brutalist edge (thick borders, hard shadows) so it feels bold, not boring.
- The blobs. A little squad of blob characters, each with its own personality, shows up as you learn: cheering, nudging, celebrating. Learning to speak up is a little scary. It helps to have someone in your corner, even if that someone is a blob.
- An hourglass timer sits at the top so you can see how long you've studied today and how much is left of your daily goal.
- Notes. Highlight anything in a lesson and save it, so you can come back to it before a big interview or presentation.
- Laptop and phone, designed separately. On a laptop it opens like a book with your notes beside it. On a phone it's one page at a time, made for five minutes on the bus.
Credit where it's due. The lessons are built from two free, openly licensed college textbooks:
- Stand up, Speak out: The Practice and Ethics of Public Speaking (University of Wisconsin-Milwaukee edition, CC BY-NC-SA 4.0)
- Exploring Public Speaking, 4th edition, by Barbara G. Tucker and co-authors (CC BY-NC-SA 4.0)
Every lesson page shows which book and chapter it came from. The real teachers here are the authors who made their books free for everyone.
The conversation is the whole point
You can't learn to talk by reading. A communication app without real conversation is just a book with extra steps. So this is the part I spent the most time on.
When you hit Practice, someone answers you, out loud:
- Gemma 4 plays the other person. A strict interviewer for job seekers. A professor for students. An upset customer for customer service. A classmate at a party for New Here. Each scenario is written so you have to use that day's technique to do well.
- ElevenLabs gives each of them a real voice, with their own personality. The strict interviewer sounds strict. The friendly classmate sounds friendly. When you reply, ElevenLabs also turns your voice into text so the coach can read exactly what you said.
- DigitalOcean runs Gemma 4 in the cloud, so a reply comes back in a few seconds, on any phone.
- Then the coach grades you, quoting your actual words as proof. If it can't find the quote in what you really said, it won't make one up.
New Here
This part is personal.
When I moved to the US, the hardest part wasn't the classes. It was the conversations around the classes: the jokes, the slang, the shows everyone had watched, knowing when it's okay to jump in. I wanted to fit in and I didn't know the rules.
New Here is the course I wish I'd had. Pick a country and a setting (campus, workplace, neighbourhood, social events), and it teaches how small talk works there, the references people assume you know, how humour lands, and how to turn "nice to meet you" into an actual friendship. Mid-conversation, an Explain that button tells you what a phrase means without interrupting the conversation. It talks about common habits, never stereotypes, and it never asks you to stop being who you are.
Who would pay, and how
Job seekers and students preparing for interviews will probably find it first. But I built it for everyone, because everyone talks.
- Free: your first three chapters.
- Pro, $5/month: the full course, unlimited practice, custom scenarios ("I have a nursing interview on Friday"), and weekly progress reports.
- Prep Pack, $3 one-time: a three-day mini course before one big moment.
Five dollars a month is less than a coffee a week, and less than every other option on the market. Because it runs on an open model, it can be.
Demo
Live app: https://articulate-me.onrender.com (no sign-up, allow the microphone)
Code
nikithakls17-sys
/
articulate-me
A daily 5-minute speaking course, like Duolingo for talking. Learn one technique from open public speaking textbooks, say it out loud, and Gemma checks whether you used it, quoting your own words. Runs fully local (Ollama + Whisper) or hosted.
Articulate Me
A daily speaking course, like Duolingo for talking. Read one real technique in a short illustrated chapter written from open public speaking textbooks, then practice it in a short spoken conversation: Gemma plays the interviewer professor, customer or friend and pushes you to use the technique. You get feedback with your own words quoted as evidence, one fix, and a retry.
- Gemma writes the chapters from the textbooks (RAG, with citations), plays your conversation partner, and grades whether you used the technique
- A grounding validator rejects any "evidence" quote that isn't really in what you said
- Pick several worlds (student, job seeker, customer-facing, creator, everyday); examples and partners adapt
- Highlight-to-notes, quick checks, streaks, targets and badges; installs to your phone's home screen
-
Local mode runs fully offline on about 1 GB of RAM:
gemma3:1b+ faster-whisper + browser speech - Hosted mode: Gemma on DigitalOcean serverless inference…
The README explains how to run it fully offline on your own laptop.
How I Built It
The stack: React + Vite + TypeScript + Tailwind on the front, FastAPI on the back, all in one Docker service on Render. Gemma 4 (31B) on DigitalOcean serverless inference teaches, plays every conversation partner, and grades. ElevenLabs does voices and speech-to-text. MongoDB Atlas stores the textbooks, users, notes and progress. Sentry watches every model call.
Teaching from real textbooks, not model guesses
I didn't want an AI making up advice. So I split both textbooks into 1,138 passages, stored them in MongoDB Atlas with vector search, and built every chapter by pulling the passages for that technique and having Gemma write the lesson only from them. Each chapter took about 30 seconds on hosted Gemma. Then I read every single one myself. One draft described another culture's way of speaking as "inefficient." That's exactly the kind of thing this app should never say, so I rewrote it.
A coach that can't lie about you

Feedback works in three steps:
- Plain measurements, no AI: speaking pace, filler words, pauses, and how long it took you to get to your point.
- Gemma grades the technique against a checklist I wrote by hand for each lesson, and has to quote your words as evidence.
- A checker compares every quote to your real transcript. If it's not there, Gemma gets one more try. If it fails again, the app says "couldn't verify" instead of inventing something. Every failure shows up in Sentry, along with the speed, tokens and cost of every Gemma call.
A coach that praises you with words you never said is worse than no coach at all.
One honest finding: I first ran everything on my laptop with the smallest Gemma. It was way too nice. It once gave 100% to a clearly vague answer. The bigger Gemma 4 on DigitalOcean grades in about 5 seconds and is much stricter. So the live app uses that, and the small one stays as the free, offline option.
Things that broke at 2 AM
- Gemma 4 kept returning empty answers. It was spending all its effort "thinking" and never answering. Turning that off fixed it.
-
The AI returned
{}for long lessons 5 out of 6 times in strict JSON mode. Now it quietly retries the normal way. - iPhones and Chrome record audio differently. Found out the fun way. It handles both now.
- My laptop ran out of memory. 16 GB, no graphics card, Gemma plus Whisper plus Chrome. Something had to give, and it was my Chrome tabs.
Why Does Open Innovation Matter?
Because people practise their scariest conversations here. Their real interview. Their real boss. Their real social anxiety. In offline mode, everything runs on your own laptop, and your voice never leaves your machine.
Because it keeps the price fair. Offline costs nothing. Hosted Gemma 4 costs a fraction of a cent per lesson. That's what makes $5 a month a real business instead of a loss.
Because I'm not locked in. The same lessons, checklists and checker run on Gemma on my laptop or on DigitalOcean, switched with one setting.
Because knowledge should be open too. The textbooks behind every lesson are free. That's why every page can show its source.
Honestly, where a closed model would win: it might grade more consistently and write livelier lessons out of the box. But it would still need the same quote checker, and it would put a bill and someone else's data policy between a nervous person and their practice.
One honest limit: both textbooks are licensed for non-commercial use. Perfect for the free tier. The paid tier will need original lessons, built the same grounded way.
My First User
I sent it to friends on Sunday night and held my breath.
Four people tried it. All four rated it 5 out of 5. Two said they'd pay $5 a month, two said maybe, and nobody said no. The "maybe" who named a fair price said $3–5.
| Rated it useful | 4 of 4 gave it 5/5 |
| Would pay $5/month | 2 yes, 2 maybe, 0 no |
| Fair price (from a "maybe") | $3–5/month |
| Liked most | Progress and badges, talking with the AI partner |
| Who should use it | Everyone (every single answer) |
Figure 2. From the in-app feedback card. A small sample, honest numbers.
[SCREENSHOT: admin feedback charts]
My favourite moment: one tester did a practice conversation, read the feedback, and tried again. Their pace went from a hesitant 72 to 143 words per minute, right into the comfortable range, and their score on the day's technique went from 0 to 50%. Their filler words went up, though, from 0 to 5.7 a minute. Talking more fluently came with more "um"s, which is exactly what the deliberate-pause chapter is for.
And the feedback that stung (in a good way):
- "Confusing to navigate." My very first tester asked me for "a conversation." The app already had one. She just couldn't find it. That night I added a big Practice this button at the end of every chapter. Navigation is the first thing I'm reworking next.
- "Feedback felt generic." The hardest problem in the whole app, and the one I care most about fixing.
What's next: easier navigation, original paid chapters, more New Here countries, and weekly progress reports.
Prize Categories
- Best Use of Gemma: Gemma 4 writes every lesson from textbook passages, plays every conversation partner, explains slang mid-conversation, and grades with quoted evidence. It runs as 31B on DigitalOcean and as a small Gemma offline on a laptop with no graphics card.
- Best Use of DigitalOcean: serverless inference runs Gemma 4 31B for every lesson, conversation turn and grade, with no GPU to manage.
-
Best Use of Render: one Docker web service from a
render.yamlBlueprint serves the whole app, with keys kept out of the repo and usage limits set as environment variables. - Best Use of ElevenLabs: a different expressive voice for every conversation partner, plus speech-to-text for every reply, on both Android and iPhone.
- Best Use of MongoDB Atlas: vector search over 1,138 textbook passages to build grounded lessons, plus users, notes, progress and feedback.
- Best Use of Sentry Agent Tracing: every Gemma call traced with speed, tokens and cost, and every made-up quote the checker catches becomes a Sentry issue.
Built solo with Claude Code, over one very long weekend.
If you've ever known exactly what you wanted to say and watched it come out wrong, try Chapter 1. Then tell me in the comments: what conversation do you wish you could practise?








Top comments (0)