Case file · № 02 / 16
EU Meet
Video meeting platform — My own video-meeting SaaS: encrypted WebRTC calls, screen sharing and chat on a self-hosted media stack. A free tier plus Pro at $10/month through Polar billing. Four clients — web, desktop, iOS and Android — on one PHP API with JWT auth working across all subdomains.
What was built
- Self-hosted WebRTC SFU routing 1-on-1 and group calls (no third-party media relay)
- PHP REST API + SQLite for users, rooms and billing
- JWT cookie auth shared across *.eumeet.eu subdomains
- Polar checkout and webhooks for the Pro subscription, plan enforced server-side
- React + Vite web client that joins from the browser, with a same-origin token proxy
- Tauri desktop shell over the same web client
- Native iOS client (CallKit + PushKit, PiP, AirPlay) and Android client (ConnectionService, PiP)
- Localised for 12+ European languages
Layers of the system
Media and API
PHPSQLiteWebRTCDocker- Own SFU server routing video streams over SRTP
- REST API + SQLite: users, rooms, billing; JWT cookie valid across subdomains
- Docker Compose for the media stack, Apache reverse proxy, Cloudflare TLS
Web and desktop
ReactTypeScriptViteTauri- Browser client with screen sharing and chat
- Same-origin token proxy — zero CORS friction in the browser
- Tauri desktop: one codebase, native window and system integration
Mobile clients
SwiftKotlinCallKitMaterial 3- iOS: CallKit + PushKit, system call UI, PiP and AirPlay
- Android: ConnectionService, foreground services for ongoing calls
- Push via FCM with E2E payload, tokens in Keychain / EncryptedSharedPreferences
Technologies
Programming languagesPHP, TypeScript, Swift, Kotlin, Rust, SQL
Frameworks & toolsReact, Vite, Tauri 2, WebRTC SFU, Polar billing, Material 3
InfrastructureDocker Compose, Apache, Cloudflare DNS + TLS, SRTP
Facts
PlatformsWeb · Desktop · iOS · Android
Statuslive
Years2024–2026
CategoryOwn SaaS · eumeet.eu
EU Meet — a meeting room in the browser, nothing to install.
All projects