Project Info
YakGPT
A simple, locally running ChatGPT UI that makes your text generation faster and chatting even more engaging!
Features
- GPT 3.5 & GPT 4 via OpenAI API
- Speech-to-Text via Azure & OpenAI Whisper
- Text-to-Speech via Azure & Eleven Labs
- Run locally on browser – no need to install any applications
- Faster than the official UI – connect directly to the API
- Easy mic integration – no more typing!
- Use your own API key – ensure your data privacy and security
- Data submitted via the API is not used for training and stored for 30 days only
- All state stored locally in localStorage – no analytics or external service calls
- Access on https://yakgpt.vercel.app or run locally!
Note that GPT-4 API access is needed to use it. GPT 3.5 is enabled for all users.
Screenshots
| Mobile | Voice Mode | Light Theme | Dark Theme |
|---|---|---|---|
![]() | ![]() | ![]() | ![]() |
🚀 Getting Started
Visit YakGPT to try it out without installing, or follow these steps to run it locally:
Prerequisites
You'll need the following tools installed on your computer to run YakGPT locally.
- Git
- Yarn (or npm or pnpm)
- Any modern web browser like Google Chrome, Mozilla Firefox, or Microsoft Edge
Installation
- Clone the repository:
$ git clone https://github.com/yakGPT/YakGPT.git
- Install dependencies, build the bundle and run the server
$ yarn
$ yarn build
$ yarn start
Then navigate to http://localhost:3000
Congratulations! 🎉 You are now running YakGPT locally on your machine.
🔑 API Key Configuration
To utilize YakGPT, you'll need to acquire an API key for OpenAI. The app should prompt you to insert you key.
Add to .env.local(⚠️ Local use only)
If you want the keys to persist across app builds, you can add it to the .env.local.
$ echo "NEXT_PUBLIC_OPENAI_API_KEY=<your-open-ai-key-here>" > .env.local
$ echo "NEXT_PUBLIC_11LABS_API_KEY=<your-eleven-labs-key-here>" >> .env.local
🐳 Docker
To use the pre-built Docker image from Docker Hub (only for amd64), run:
$ docker run -it -p 3000:3000 yakgpt/yakgpt:latest
To build the Docker image yourself (such as if you're on arm64), run:
$ docker build -t yakgpt:latest .
$ docker run -it -p 3000:3000 yakgpt:latest
🎤 Microphone Integration
YakGPT makes chatting a breeze with its microphone integration! Activate your microphone using your browser's permissions, and YakGPT will automatically convert your speech into text.
You can also toggle the mic integration as needed by clicking on the microphone icon in the app.
Remember to use a supported web browser and ensure your microphone is functioning properly.
🛡️ Data Privacy and Security
YakGPT ensures your data privacy and security by letting you use your own API key. Your conversation with YakGPT takes place directly between your browser and OpenAI's GPT-3 API, with no intermediary servers.
📃 License
This project is licensed under the MIT License - see the LICENSE file for details
🙌 Acknowledgments
- OpenAI for building such amazing models and making them cheap as chips.
- Mantine UI just an all-around amazing UI library.
- opus-media-recorder A real requirement for me was to be able to walk-and-talk. OpenAI's Whisper API is unable to accept the audio generated by Safari, and so I went back to wav recording which due to lack of compression makes things incredibly slow on mobile networks.
opus-media-recordersaved my butt by allowing cross-platform compressed audio recording via web worker magic. 🤗
Got feedback, questions or ideas? Feel free to submit an issue!
Analysis
View
Metric
- 1
Figures cover GitHub contributors during the hackathon window. A co-authored commit counts in full for each author, so per-member totals add up to more than the whole-team figures.
Technology
- CSSIn code
- JavaScriptIn code
- Next.jsIn code
- ReactIn code
- TypeScriptIn code
- ExpressClaimed
- PythonClaimed
5 of 7 appear in the indexed code. 2 claimed on Devpost could not be matched to code, which may simply mean the tool leaves no trace in the repository.
AI coding agents
No AI coding agent signals were found in this repository.
Detected from committed agent config files and commit authorship. Absence of a signal is not proof an agent was unused.
Codebase size
Source size
137 KB
Source files
44
Counts recognized source files only; vendored directories, binaries and lockfiles are excluded, so this is smaller than the repository on disk.
Repository
jchao01/treehacks-mealprep
77 files · 13.1 MB · @ 5c6f2f1
Structure
Interface
29 files · 38%Screens, components and styles rendered to the user.
Application logic
14 files · 18%Domain rules, services and shared utilities.
Supporting
Layers are inferred from where files sit in the tree, not from reading the code. A project that names its directories unconventionally will read oddly here — open the file browser to check anything the diagram implies.
Languages
- TypeScript91%
- CSS5%
- Markdown4%
- JavaScript0%
Share of indexed source by file size. Binary and vendored files are excluded.
Dependencies
package.json
npm · 38- @emotion/react
- @emotion/server
- @mantine/carousel
- @mantine/core
- @mantine/form
- @mantine/hooks
- @mantine/next
- @mantine/notifications
- @nem035/gpt-3-encoder
- @tabler/icons-react
- @types/node
- @types/react
- @types/react-dom
- axios
- embla-carousel-react
- eslint
- eslint-config-next
- form-data
- +20 more
Declared in the repository’s manifests at the indexed commit. A declared package is not proof it is used, and runtime dependencies are listed first.
This project’s features have not been analysed yet.
Export this project's context (description, README, evidence, key source files) to chat with an AI agent elsewhere.



