Automatically generated narration. Code examples are available in the article.
Why I made ChatGPT++
I built ChatGPT++ to experiment with a simple interface around the OpenAI API. The original version used GPT-3.5 Turbo and focused on a few things I wanted to try: reading replies aloud, adding response examples, and keeping conversations in the browser.
This page describes that version of the project. It is an API client with its own features, rather than a replacement for a ChatGPT subscription.
Features
The browser can read replies aloud. The “New Teach” option lets users add examples to guide the model's responses; it does not train or update the model's weights.
Conversation history is stored in localStorage on the user's browser. No account registration is required. The interface was built for desktop and mobile, with tablet improvements left for later.
Using the original interface
Enter a message and select Send to get a reply. Response examples can be added through New Teach in the sidebar. The original project also allowed users to supply an API key.
Running the project locally
git clone https://github.com/thangchiba/reactjs-chatgpt.git
cd reactjs-chatgpt
npm install
npm start
Docker images were also published for the two architectures used by the project:
# Linux / amd64
docker run -p 3000:3000 thangchiba/chatgpt:amd64
# Apple Silicon / arm64
docker run -p 3000:3000 thangchiba/chatgpt:arm64
The local app opens at http://localhost:3000.
What I learned
A small frontend is a useful way to try prompting and chat UX. The early version kept API access in the client. For a shared deployment, I would move that responsibility to a backend so private credentials are not bundled into the frontend.
The project is licensed under MIT. Feedback is welcome at [email protected].