Skip to content

Josepavese/aftertalk

Repository files navigation

Aftertalk

Go License

WebRTC session recorder → structured AI minutes, delivered via webhook.

Warning

Alpha pre-release. This project is under active development. APIs may change without notice and correct behaviour is not guaranteed. Not recommended for production use.

Aftertalk Demo


Aftertalk sits alongside your WebRTC calls. It captures audio server-side, transcribes with STT (Whisper · Google · AWS · Azure), generates structured minutes with an LLM (OpenAI · Anthropic · Ollama), and delivers them to your backend via webhook — all without storing audio.

No audio is ever persisted. Minutes are always editable. Humans stay in the loop.


Quick Start

# Linux / macOS
curl -fsSL https://raw.githubusercontent.com/Josepavese/aftertalk/master/scripts/install.sh | bash

# Configure
cp ~/.aftertalk/aftertalk.yaml.example ~/.aftertalk/aftertalk.yaml
# set: API_KEY, JWT_SECRET, LLM_PROVIDER, STT_PROVIDER

# Start
aftertalk start

Demo UI at http://localhost:8080 · Full installation guide


Integrate

The canonical pattern: PHP backend holds the API key, browser receives only a short-lived JWT room token.

Architecture

PHP backend (privileged — API key stays here):

$result = $aftertalk->rooms->join(
    code: $appointment->id,   // room code — idempotent, safe to call twice
    name: $user->displayName,
    role: 'therapist',        // determined server-side from your auth
);
// return $result['token'] to the browser — never the API key

TypeScript frontend (JWT only — no API key):

const sdk = new AftertalkClient({ baseUrl: window.location.origin });
const conn = await sdk.connectWebRTC({ sessionId, token }); // token from PHP
conn.on('connected', () => console.log('streaming audio'));

Full integration guide


SDKs

SDK Install Use case
TypeScript @aftertalk/sdk npm i @aftertalk/sdk Browser — WebRTC streaming, minutes polling
PHP aftertalk/aftertalk-php composer require aftertalk/aftertalk-php Server — sessions, webhook verification

Documentation

Installation Requirements, install modes (local-ai · cloud · offline), first run
Configuration All parameters with defaults
REST API Every endpoint with curl examples
Integration Guide PHP + TS full workflow, security model, race conditions
Webhook Push vs notify_pull, HMAC verification
Templates therapy, consulting, custom session structures
Architecture Internal audio → minutes pipeline
Tone of Voice Editorial style for docs and project messaging

MIT · Josepavese

About

Server-side WebRTC recorder → AI transcription + structured session minutes via webhook. Self-hosted, privacy-first — no audio stored. TypeScript & PHP SDKs.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors