Skip to content

vauchi/android

Repository files navigation

Warning

Pre-Alpha Software - This project is under heavy development and not ready for production use. APIs may change without notice. Use at your own risk.

Vauchi Android

Native Android app for privacy-focused contact card exchange.

Features

  • Contact Card Management: Create and edit your personal contact card
  • QR Exchange: Scan or display QR codes to exchange contacts in-person
  • Selective Visibility: Control which contacts see which fields
  • Background Sync: Automatic updates via WorkManager (15-min intervals)
  • Encrypted Backup: Export/import with password-protected encryption

Tech Stack

  • Kotlin + Jetpack Compose (Material Design 3)
  • UniFFI bindings to Rust core (vauchi-mobile)
  • CameraX + ML Kit for QR scanning
  • Android KeyStore for secure key storage

Quick Start

# Build and install (requires Android SDK)
./gradlew installDebug

# Or open in Android Studio

Requirements

  • Android SDK: Compile 35, Min 24, Target 35
  • Java 17
  • Rust toolchain (for building native library from source)

Project Structure

app/src/main/kotlin/com/vauchi/
├── MainActivity.kt      # Entry point
├── VauchiApp.kt        # Application class
├── ui/screens/          # Compose screens
├── data/                # Repository, KeyStore helper
└── viewmodels/          # ViewModel layer

Related Repositories

Repository Description
vauchi/code Core Rust library (source of UniFFI bindings)
vauchi/ios iOS app (SwiftUI)
vauchi/docs Documentation
vauchi/dev-tools Build scripts and workspace tools

Development Workflow

Getting UniFFI Bindings

This app requires the vauchi-mobile UniFFI bindings from the core repo:

# Option 1: Download from CI (when available)
# See dev-tools repo for download script

# Option 2: Build from source
git clone git@gitlab.com:vauchi/code.git ../code
cd ../code
cargo build -p vauchi-mobile --release --target aarch64-linux-android

Building the App

./gradlew assembleDebug    # Debug build
./gradlew assembleRelease  # Release build
./gradlew installDebug     # Install to connected device

Testing

./gradlew test                    # Unit tests
./gradlew connectedAndroidTest    # Instrumented tests

Contributing

  1. Check vauchi/docs for architecture decisions
  2. Follow Kotlin coding conventions and Material Design 3 guidelines
  3. Write tests for new features
  4. Core library changes go to vauchi/code

Support the Project

Vauchi is open source and community-funded — no VC money, no data harvesting.

License

MIT

About

Vauchi Android app (Kotlin/Compose)

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •  

Languages