The ultimate companion app for the classic Dutch card-drinking game "Bussen" (Ride the Bus).
Built with React 19, TypeScript, Tailwind CSS, and Capacitor for Android & Web.
- Android (Google Play): Get Bussen on Google Play
- Web App (PWA): Play Online via GitHub Pages
- Automated Card Flow: Handles card dealing, shuffling, and rule calculations automatically across all phases.
- Phase 1: The Pyramid: Build and climb the pyramid with custom heights, penalties, and interactive card flips.
- Phase 2: Ride the Bus (Buschauffeur): Dynamic bus ride with digital card navigation, drinking penalties, and shared bus mechanics.
- Dynamic Themes: Custom color palettes (Metro, Neon, Classic, Dark Mode) with sound and haptic effects.
- Native Device APIs: Full haptic feedback and status bar integration via Capacitor.
- Offline & PWA Ready: Playable offline in the browser or as an installed Android app.
- Framework: React 19 + TypeScript
- Bundler: Vite
- Native Runtime: Capacitor 8 (Android & iOS)
- Styling: Tailwind CSS + Lucide Icons + Tabler Icons
- CI/CD: GitHub Actions (Automated Google Play Store deployment)
This repository uses a fully automated 4-stage branch promotion pipeline powered by GitHub Actions:
graph LR
A[main<br/>Dev & Features] -->|push origin main:alpha| B[alpha<br/>GitHub Pages Deploy]
B -->|push origin main:beta| C[beta<br/>Google Play Beta Track]
C -->|push origin beta:prod| D[prod<br/>Google Play Production + GitHub Release]
| Branch | Target Environment | Automation / Workflow |
|---|---|---|
main |
Development | Working branch. Direct commits and feature branches welcome. |
alpha |
GitHub Pages | Deploys instantly to Web Demo via deploy.yml. |
beta |
Google Play (Beta Track) | Runs TypeScript typecheck, Android Lint baseline check, compiles .aab, signs with keystore, and uploads to Google Play Beta track. |
prod |
Google Play (Production) + GitHub Releases | Deploys signed .aab to Google Play Production track and automatically creates a new GitHub Release with release notes and downloadable binaries. |
- Node.js:
>= 22.0.0 - npm:
>= 10.0.0 - Android Studio & JDK 21: (for local Android builds/emulation)
# 1. Clone repository
git clone https://github.com/thijsvndmeer/bussenapp.git
cd bussenapp
# 2. Install dependencies
npm install
# 3. Start local development server
npm run dev
# 4. Typecheck TypeScript
npm run typecheck
# 5. Build production web bundle
npm run build# Build web bundle and sync native assets
npm run cap:android
# Open native Android project in Android Studio
npm run android- Thijs van der Meer — @thijsvndmeer
Copyright (c) 2026 Thijs van der Meer. All Rights Reserved. See LICENSE.md for details.