Skip to content

Doorway

Doorway is a modern, secure, room-based translation app that lets two people hold natural bilingual conversations using Gemini Live.

Core trick

Two users join a room and Gemini Live translates each speaker's speech both ways, while on-device face tracking drives live expression gauges.

Tags

Description

Doorway is a modern, secure, room-based translation app that lets two people hold natural bilingual conversations using Gemini Live. Its premium, minimalist interface is built to be highly visual and interactive: it features a secure 6-digit room setup, a dual-language live transcript view, and real-time Expression Metric Gauges powered by on-device face tracking. By showing user camera feeds alongside animated metrics like Frown and Hesitation, the UI immediately illustrates how the app monitors and adapts to the listener's facial cues, making the translation process feel fluid, reactive, and alive.
pradiptikayal/Doorway-translator★ 10 forksTypeScriptCreated Jul 10, 2026 · last push Jul 11, 2026

README excerpt

# Doorway

Doorway is a room-based live translation app that lets two participants join the same room and translate in both directions using Gemini Live.

## Prerequisites

Before you start, install the following on your machine:

- Node.js 18+ or newer
- npm

## Install dependencies

From the project root, run:

```bash
npm install
```

## Create your local environment file

Create a file named [.env.local](.env.local) at the project root and add the following values:

```env
GEMINI_API_KEY=your_gemini_api_key_here
APP_URL=http://localhost:3000
```

Notes:
- Replace `your_gemini_api_key_here` with your actual Gemini API key.
- `APP_URL` is the URL you want the app to use for browser access. For local development this can stay as `http://localhost:3000`.
- If you are testing from a phone over the internet, set `APP_URL` to your HTTPS tunnel URL such as an ngrok URL.

## Build the app

To create a production build:

```bash
npm run build
```

This generates the production assets in the `dist` folder.

## Run the app locally

### Development mode

```bash
npm run dev
```

This starts the Express + Vite dev server.

Then open:

- `http://localhost:3000`

### Production mode

After building, you can run:

```bash
npm run start
```

## Testing from another phone or laptop

### Option 1: Same Wi-Fi / local network

For same-network testing, use your Mac's local network IP instead of `localhost`, for example:

```text
http://192.168.x.x:3000
```

### Option 2: From another phone or 

Team