Team name is: AnTS Groups
Member team:
- Ananda Rauf Maududi: Leader Team(CEO)
- Ridho Ari Saputro: CTO
- Danu Febriansyah: Wakil ketua tim(CO-Founder)
AI-Powered Voice-Based Mental Wellness Companion
ποΈ Rekam suara β Analisis AI β Dapatkan insight emosional
π Privasi terjaga β hasil tidak disimpan permanen
π¨ Bukan alat diagnosis medis β hanya untuk refleksi diri & edukasi
- π― Overview
- β¨ Fitur Utama
- π οΈ Teknologi & Stack
- π¦ Struktur Proyek
- π Instalasi & Setup
- βοΈ Cara Kerja Sistem
- π Antarmuka Pengguna (UI)
- π‘οΈ Privasi & Etika
β οΈ Catatan Penting- π Referensi
Menty adalah aplikasi web ringan yang memungkinkan pengguna merekam suara, lalu menganalisis konten emosional & linguistik ucapan menggunakan Large Language Model (Groq + Llama 3) untuk memberikan feedback reflektif tentang kemungkinan indikasi stres atau depresi.
Aplikasi ini dibangun untuk:
- β Meningkatkan kesadaran diri terhadap kesehatan mental
- β Menjadi first-step sebelum mencari bantuan profesional
- β Edukasi publik tentang ekspresi verbal & kesejahteraan emosional
βΉοΈ Disclaimer: Hasil analisis bukan diagnosis klinis. Jika pengguna mengalami gejala berat, sistem menyarankan kontak profesional.
| Fitur | Deskripsi |
|---|---|
| π΄ Rekam Suara Real-Time | Gunakan mikrofon browser (WebM/Opus), durasi maks 45 detik |
| π Transkripsi & Analisis Langsung | Audio dikirim ke /analyze, diproses oleh Groq API β hasil analisis dalam satu respons |
| π§ AI-Powered Insight | Model Llama 3 menilai: nada emosional, pola pikir negatif, kecenderungan isolasi, dll |
| π Mode Gelap & Responsif | UI modern (Tailwind + Poppins), mobile-friendly, dukungan dark/light mode |
| π Privasi Terjamin | Data tidak disimpan di server setelah analisis selesai |
| π’ Visual Feedback | Animasi gelombang suara, loading spinner, pesan status interaktif |
| Komponen | Teknologi |
|---|---|
| Backend | Python 3.10+, FastAPI |
| LLM Engine | Groq Cloud (groq==0.36.0) + Llama 3 70B (atau model lain) |
| Frontend | HTML + Alpine.js (reaktif ringan) + Tailwind CSS (CDN) |
| Audio Processing | Web Audio API, MediaRecorder, format WebM/Opus |
| Server | Uvicorn (ASGI) |
| Templating | Jinja2 (untuk index.html) |
| Lainnya | python-multipart (upload file), python-dotenv (konfigurasi) |
menty/
βββ requirements.txt # Project dependencies
βββ .env # Environment variables (contoh: GROQ_API_KEY=...)
β
βββ backend/ # Backend service (FastAPI)
β βββ main.py # Entry point FastAPI (routes, Groq processing, API handlers)
β
βββ frontend/
βββ templates/
βββ index.html # Halaman utama: rekam audio, analisis, dan menampilkan hasilpython-dotenv
fastapi==0.122.0
uvicorn[standard]==0.38.0
jinja2==3.1.6
python-multipart==0.0.20
groq==0.36.0- Python 3.9+
- Browser modern (Chrome, Firefox, Edge β dukungan
MediaRecorder) - Koneksi internet (untuk akses Groq API)
# Clone & masuk ke direktori (jika perlu)
git clone https://github.com/AnTS-Groups/Menty.git
cd menty
# Buat virtual environment (opsional tapi disarankan)
python -m venv venv
source venv/bin/activate # Linux/macOS
# venv\Scripts\activate # Windows
# Install dependencies
pip install -r requirements.txtBuat file .env di root direktori:
GROQ_API_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxπ‘ Pastikan
GROQ_API_KEYtersedia dari Groq Console.
Sistem membaca kunci secara otomatis viapython-dotenv.
uvicorn backend.main:aplikasi --host 0.0.0.0 --port 8000 --reloadBuka di browser:
π http://localhost:8000
- User klik mikrofon β browser minta izin akses mic (
getUserMedia) - Rekam audio (format WebM/Opus) β disimpan sementara di memori (
audioChunks) - Klik berhenti β
Blobaudio dikirim ke endpoint/analyzeviaPOST - Server:
- Terima file audio
- Kirim ke Groq API untuk transkripsi + analisis dalam satu prompt (lihat
main.py) - Prompt meminta:
Analisis transkripsi berikut dari sudut pandang kesehatan mental. Nilai: nada emosional, kecenderungan putus asa, isolasi sosial, kelelahan psikologis. Beri respons singkat (1 paragraf), berempati, edukatif, dan hindari diagnosa medis.
- Respons JSON dikirim ke frontend:
{ "analysis": "Berdasarkan ucapan Anda..." } - UI menampilkan hasil dengan format HTML (bold keyword penting via
formatAnalysis)
| Bagian | Fitur |
|---|---|
| π― Header | Nama app, tagline, disclaimer etika |
| π Hasil Analisis | Card dengan ikon shield, teks hasil (format HTML aman) |
| β Error Handling | Notifikasi merah jika gagal rekam/analisis |
| β Konfirmasi (opsional) | Saat transkripsi terpisah β saat ini langsung analisis |
| ποΈ Kontrol Rekam | Tombol besar dengan animasi: idle β recording (merah + pulse) β processing (spinner) |
| π Visualisasi | Gelombang suara dinamis saat merekam (simulasi tinggi acak) |
| βΉοΈ Petunjuk Penggunaan | Teks bantuan di bawah tombol |
- π Tidak ada penyimpanan permanen: File audio & teks dihapus setelah respons dikirim.
- π Transparansi: Pengguna melihat transkripsi (jika dipisah di masa depan) sebelum analisis.
- π§ Etika AI: Prompt dirancang untuk:
- Menghindari label stigmatisasi (misal: "kamu depresi")
- Fokus pada pola ucapan, bukan diagnosis
- Memberi saran: "Pertimbangkan berbicara dengan konselor..."
- π Aksesibilitas: Kontras warna tinggi, ukuran teks responsif, keyboard-navigable.
| Topik | Detail |
|---|---|
| π« Bukan Alat Medis | Hanya untuk refleksi pribadi. Tidak menggantikan psikolog/psikiater. |
| π§ Kualitas Audio | Hasil akurat bila: suara jelas, minim noise, durasi 10β30 detik |
| π Koneksi Internet | Diperlukan untuk transkripsi & Groq API |
| π± Browser Support | Chrome, Edge, Firefox (Safari terbatas β MediaRecorder tidak selalu support Opus) |
| β±οΈ Timeout | Rekaman otomatis berhenti setelah 45 detik (aman & UX-friendly) |
- Groq API Documentation
- FastAPI Tutorial
- Web Audio API β MDN
- Prinsip WHO untuk AI & Kesehatan Mental: Transparansi, Non-maleficence, Autonomy



