An open API service indexing awesome lists of open source software.

https://github.com/montybechir/realtime-ai-voice-chat

A full-stack interview preparation application featuring real-time AI voice chat. Built with Go (backend), React/Electron (frontend), and Azure OpenAI. Leverages Go's concurrent programming patterns for real-time communication, WebSocket, audio processing, and cross-platform development.
https://github.com/montybechir/realtime-ai-voice-chat

ai electron go golang react realtime-audio typescript vite websocket

Last synced: 3 months ago
JSON representation

A full-stack interview preparation application featuring real-time AI voice chat. Built with Go (backend), React/Electron (frontend), and Azure OpenAI. Leverages Go's concurrent programming patterns for real-time communication, WebSocket, audio processing, and cross-platform development.

Awesome Lists containing this project

README

        

# Go-React-Electron Realtime AI Audio Chat

This is an application built using a GoLang backend and Electron + React + Vite + front-end. It's designed to help users prepare for upcoming interviews using a real-time multi-modal AI. Engage in realtime audio conversations or type messages to the AI, which responds with both transcripts and audio to facilitate seamless interaction.

## Features

- **Realtime Audio Conversations:** Speak with the AI, receive immediate audio and text responses.
- **Text Messaging:** Type questions, receive immediate answers.
- **Multi-Platform Support:** Available as an app on macOS, Windows, and Linux, and browsers.
- **AI-Powered:** Expert guidance for technical interview preparation

## Technologies

- **Backend:** Go (Golang)
- **Frontend:** Electron, React, TypeScript, Vite
- **AI:** Azure OpenAI GPT-4o-Realtime-Preview (2024-10-01)

## Prerequisites

- Node.js v20.x+
- Go 1.22+
- npm 10.x+

## Quick Start

### Clone the Repository

```bash
git clone https://github.com/montybechir/realtime-ai-voice-chat.git
cd realtime-ai-voice-chat
```

### Frontend Setup

```bash
cd frontend
npm install
```

### Configure Backend

```bash
cd backend

# install go dependencies
go mod download

# copy environment config
cp .env.example .env
```

## Development

### Environment Setup

```bash
#/backend/.env

AZURE_OPENAI_API_KEY=yourkey
AZURE_OPENAI_ENDPOINT="wss://.openai.azure.com/openai/realtime?api-version=2024-10-01-preview&deployment=gpt-4o-realtime-preview"
```

If you don't have access to Azure OpenAI and prefer to use the standard OpenAI endpoints, replace the above with your OpenAI keys and endpoint. Ensure you update your AI WebSocket connection headers in aiClient.go:

```bash

Authorization: `Bearer `,
"OpenAI-Beta": "realtime=v1"
```

## Running the Application

### Start the Frontend:

```bash
cd frontend
npm run dev
```

### Start the AI service:

In a separate terminal, run the following:

```bash
cd backend
go run cmd/ai-service/main.go
```

## Using the Application

Desktop: Launches automatically with npm run dev
Browser: Visit http://localhost:5173

## Running Tests

To be implemented.

## Roadmap

User Authentication
Testing
Database Integration
CI/CD Pipeline
Customizable Enhanced AI Prompts
Session Management