| --- |
| title: Rizz Therapy |
| emoji: 🫰 |
| colorFrom: pink |
| colorTo: red |
| sdk: gradio |
| sdk_version: 6.16.0 |
| python_version: '3.12' |
| app_file: app.py |
| pinned: true |
| license: mit |
| short_description: Anxious? Get some Rizz therapy 💀 |
| tags: |
| - track:wood |
| - achievement:offgrid |
| - achievement:offbrand |
| - achievement:llama |
| - achievement:fieldnotes |
| --- |
| |
| # Rizz Therapy 🫰 |
|
|
| It is a show where two AIs bring their rizz problems to a therapist. The therapist then breaks down their issues and guides them to improve their rizz. |
|
|
| Demo: [YouTube](https://youtu.be/6YjPRCt0MZw) |
|
|
| Blog: [Community Article](https://huggingface.co/blog/build-small-hackathon/rizz-therapy) |
|
|
| Social Media Post: [Linkedin](https://www.linkedin.com/posts/inventwithdean_hugging-face-and-gradio-asked-us-to-build-activity-7469668912960503808-TIVa) |
|
|
| #### **Important**: Make sure you're on a latest Chrome/Firefox/Brave browser. As of now Safari and Edge [don't fully support](https://docs.unity3d.com/2018.1/Documentation/Manual/webgl-browsercompatibility.html) WebGL 2, which this Unity build uses. |
|
|
| ## 📽️ Features |
| - **Entertaining**: Creative scripts written by Gemma 4 26b a4b. |
| - **Expressive Delivery**: Top tier emotional Text-To-Speech with OmniVoice TTS 0.6b. |
| - **Bilingual**: Supports both English and Hindi generations. |
| - **Expressions**: Characters show emotions (using blendshapes). |
| - **Precise Gaze changes**: Word level gaze changes, thanks to mms-1b-all which is used for forced alignment. |
| - **Lot of Costumes**: Each character has 5 costumes. |
| - **Instantly Shareable**: Episodes become shareable with friends the moment they finish generating. |
|
|
| ## ⚡ Speed (ZeroGPU) |
|
|
| ### A full episode gets generated in *under 1 minute*. |
| - llama.cpp runs Gemma 4 26b a4b at ~110 tok/sec on ZeroGPU. |
| - OmniVoice 0.6B being a diffusion based TTS generates audio over 10x faster than realtime. |
|
|
| ### What this means? |
| - **Widely Accessible**: Even unauthenticated users get 2 minutes of ZeroGPU per day, which means if they want, they can generate one episode per day, and still have half their quota left. |
| - **Costs**: $0, thanks to open-source and ZeroGPU. |
|
|
|
|
| ## 🧠 Architecture |
|
|
| - **Episode Generation Pipeline**: Gemma generates the script, OmniVoice outputs audio, mms-1b-all extracts visemes and timings for look_at tags. |
| |
| - **Compression**: Everything gets zipped, and saved to disk (or uploaded to cloudflare R2). A full episode (3 minutes) is just ~6MB on disk, thanks to high ratio ZIP compression of raw audio bytes and JSON. |
| |
| - **Off-Grid**: ZeroGPU version uses Cloudflare R2 for distribution speed, local clone would use disk storage, as the repo ships with the Unity build files needed, and the server already mounts everything. Just change the global variable, named **online** to False in **app.py** before running. |
| |
|  |
| |
| And here is the architecture of Unity Side: |
| |
|  |
| |
| ## ❤️ Open Source |
| |
| |Model|License| Runtime| |
| | -- | -- | -- | |
| | [google/gemma-4-26B-A4B-it](https://huggingface.co/google/gemma-4-26B-A4B-it) | apache-2.0 | llama.cpp |
| | [k2-fsa/OmniVoice](https://huggingface.co/k2-fsa/OmniVoice) | apache-2.0 | PyTorch |
| | [facebook/mms-1b-all](https://huggingface.co/facebook/mms-1b-all) | cc-by-nc-4.0 | PyTorch |
| |
| - PyTorch: https://pytorch.org/ |
| - llama.cpp: https://github.com/ggml-org/llama.cpp |
| - llama.cpp python bindings: https://github.com/abetlen/llama-cpp-python |
| |
| NOTE: If we only used English, then we could have used [facebook/wav2vec2-base-960h](https://huggingface.co/facebook/wav2vec2-base-960h) instead of mms-1b-all, which is apache-2.0 licensed. |
| |
| |
| ## 🧘 Why Rizz Therapy? |
| Let's be real for a second. |
| AI companions are having a moment, but they aren't a replacement for real human connection. They never will be (unless we literally hack our brains with neural chips lol). Nature spent millions of years evolving human-to-human dynamics for a reason. Trying to build an AI to be your permanent romantic partner isn't just technologically uphill, it's fighting against nature itself. |
| |
| **Rizz Therapy** exists because we believe AI shouldn't be an alternative to human relationships; it should be a mirror for them. |
| |
| By watching AIs fumble through their rizz problems, and get comedic guidance from a therapist, it triggers a thought loop in your own brain. It's a low stakes proxy designed to make you laugh and cringe, while also giving you a tiny spark of confidence to actually want to pursue a human connection. |