Skip to main content
Happy provides full mobile access to your Claude Code and Codex sessions through native iOS and Android apps, plus a web interface. Monitor your AI coding sessions from anywhere, whether you’re away from your desk or on the go.

Supported Platforms

Happy runs on multiple platforms to give you flexibility in how you work:

iOS App

Native iOS application available on the App Store:
  • iPhone and iPad support
  • Optimized for iOS 14+
  • Native performance and UI
  • Full feature parity with desktop

Download on App Store

Get the official Happy app for iPhone and iPad

Android App

Native Android application available on Google Play:
  • Phone and tablet support
  • Material Design UI
  • Optimized for Android 8.0+
  • Complete mobile experience

Download on Google Play

Get the official Happy app for Android devices

Web App

Full-featured web application accessible from any browser:
  • No installation required
  • Works on desktop and mobile browsers
  • Same functionality as native apps
  • Perfect for quick access from any device

Open Web App

Use Happy directly in your browser

Technical Architecture

The mobile apps are built using modern cross-platform technologies:

React Native with Expo

The iOS and Android apps share a common codebase built with:
  • React Native 0.81 for native performance
  • Expo SDK 54 for streamlined development
  • TypeScript for type safety
  • Expo Router v6 for file-based navigation
// Platform detection example from the source
import { Platform } from 'react-native';

if (Platform.OS === 'ios') {
  // iOS-specific code
} else if (Platform.OS === 'android') {
  // Android-specific code
} else if (Platform.OS === 'web') {
  // Web-specific code
}

Cross-Platform UI

The app uses Unistyles for consistent styling across all platforms with:
  • Theme support (light/dark modes)
  • Responsive breakpoints
  • Platform-specific adaptations
  • Native-like components

Real-Time Sync

All platforms connect to the Happy server using:
  • Socket.io for WebSocket-based real-time communication
  • Automatic reconnection handling
  • End-to-end encryption for all data
  • Offline support with queue management

Features Across Platforms

All platforms provide the same core functionality:

Session Monitoring

View Claude Code output and progress in real-time

Remote Control

Take control of sessions from your mobile device

Push Notifications

Get alerted when Claude needs input or encounters errors

Device Switching

Seamlessly switch between desktop and mobile

Authentication Flow

Happy uses QR code-based authentication for secure, passwordless login:
  1. CLI generates QR code: Run happy on your computer
  2. Scan with mobile app: Use the built-in QR scanner
  3. Secure handshake: Challenge-response mechanism using TweetNaCl
  4. Instant access: No passwords, no email verification needed
// Authentication flow from the mobile app
import { authGetToken } from '@/auth/authGetToken';
import { encodeBase64 } from '@/encryption/base64';
import { getRandomBytesAsync } from 'expo-crypto';

const createAccount = async () => {
  // Generate cryptographic secret
  const secret = await getRandomBytesAsync(32);
  
  // Get authentication token
  const token = await authGetToken(secret);
  
  if (token && secret) {
    // Store credentials securely
    await auth.login(token, encodeBase64(secret, 'base64url'));
  }
};

Platform-Specific Optimizations

iOS

  • Native iOS design patterns
  • Haptic feedback integration
  • iOS share sheet support
  • Background refresh capabilities

Android

  • Material Design 3 components
  • Android system integration
  • Adaptive icons
  • Edge-to-edge display support

Web

  • Progressive Web App (PWA) support
  • Responsive design for all screen sizes
  • Keyboard shortcuts
  • Desktop-class experience

Development & Customization

The mobile app is open source and built with modern development tools:
# Run development server
yarn start

# Run on iOS simulator
yarn ios

# Run on Android emulator
yarn android

# Run in web browser
yarn web

# Type checking
yarn typecheck
The web platform is considered secondary. Core features work across all platforms, but some mobile-specific features may have limited support on web.

Next Steps

Push Notifications

Learn how to get notified about important events

Device Switching

Master seamless transitions between devices

Voice Control

Control Claude with voice commands

Encryption

Understand how your data stays secure

Build docs developers (and LLMs) love