# rudresh-void/hueman architecture

> Architecture diagram of the GitHub repository rudresh-void/hueman, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-11). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/rudresh-void/hueman
- Repository: https://github.com/rudresh-void/hueman

## Overview

Hueman is a Kotlin Multiplatform app with Android, iOS, and desktop entry points and shared Compose code. The principal documented workflow is launching a platform app into its UI; Android additionally has a camera-screen feature with face, hand, and pose detection, expression/gesture/posture analysis, and human-state handling represented by source modules. The Android camera screen’s internal wiring was not sampled, so those relationships are omitted. README describes platform sharing, but does not specify further product behavior for the shared greeting code.

Main entry points: [`androidApp/src/main/kotlin/com/bunny/hueman/SplashActivity.kt`](https://github.com/rudresh-void/hueman/blob/master/androidApp/src/main/kotlin/com/bunny/hueman/SplashActivity.kt) (Splash screen), [`androidApp/src/main/kotlin/com/bunny/hueman/MainActivity.kt`](https://github.com/rudresh-void/hueman/blob/master/androidApp/src/main/kotlin/com/bunny/hueman/MainActivity.kt) (Android activity), [`iosApp/iosApp/ContentView.swift`](https://github.com/rudresh-void/hueman/blob/master/iosApp/iosApp/ContentView.swift) (iOS host view), [`androidApp/src/main/kotlin/com/bunny/hueman/model/HumanState.kt`](https://github.com/rudresh-void/hueman/blob/master/androidApp/src/main/kotlin/com/bunny/hueman/model/HumanState.kt) (Human state)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_android["Android experience"]
  node_splash["Splash screen<br/>[SplashActivity.kt]"]
  node_android_main["Android activity<br/>[MainActivity.kt]"]
  node_camera["Camera screen<br/>[CameraScreen.kt]"]
end

subgraph group_vision["Vision and behavior"]
  node_face_detector["Face detector"]
  node_hand_detector["Hand detector"]
  node_pose_detector["Pose detector"]
  node_face_engine["Expression analysis"]
  node_hand_engine["Gesture analysis"]
  node_pose_engine["Pose analysis<br/>[PoseEngine.kt]"]
  node_behavior["Behavior analysis<br/>[BehaviorEngine.kt]"]
  node_human_state["Human state<br/>[HumanState.kt]"]
  node_state_manager["State manager"]
  node_face_overlay["Face overlay<br/>[FaceOverlayView.kt]"]
  node_hand_overlay["Hand overlay<br/>[HandOverlayView.kt]"]
  node_pose_overlay["Pose overlay<br/>[PoseOverlayView.kt]"]
end

subgraph group_shared["Shared app code"]
  node_android_app["Android shared app<br/>[App.kt]"]
  node_shared_app["Shared Compose app<br/>[App.kt]"]
  node_greeting["Greeting logic<br/>[Greeting.kt]"]
  node_platform_api["Platform API<br/>[Platform.kt]"]
  node_android_platform["Android platform info"]
  node_ios_platform["iOS platform info<br/>[Platform.ios.kt]"]
  node_desktop_platform["Desktop platform info<br/>[Platform.jvm.kt]"]
end

subgraph group_platforms["Platform entry points"]
  node_ios_user_app["iOS app entry<br/>[iOSApp.swift]"]
  node_ios_view["iOS host view<br/>[ContentView.swift]"]
  node_ios_controller["Compose controller"]
  node_desktop_app["Desktop entry<br/>[main.kt]"]
end

node_user(("App user"))

node_user -->|"opens"| node_splash
node_splash -->|"launches"| node_android_main
node_android_main -->|"shows"| node_camera
node_face_detector -->|"analyzes landmarks"| node_face_engine
node_state_manager -->|"updates"| node_human_state
node_behavior -->|"reads"| node_human_state
node_ios_user_app -->|"shows"| node_ios_view
node_ios_view -->|"creates"| node_ios_controller
node_android_platform -->|"implements"| node_platform_api
node_ios_platform -->|"implements"| node_platform_api
node_desktop_app -.->|"launches"| node_shared_app
node_android_app -.->|"hosts"| node_shared_app

click node_splash "https://github.com/rudresh-void/hueman/blob/master/androidApp/src/main/kotlin/com/bunny/hueman/SplashActivity.kt"
click node_android_main "https://github.com/rudresh-void/hueman/blob/master/androidApp/src/main/kotlin/com/bunny/hueman/MainActivity.kt"
click node_camera "https://github.com/rudresh-void/hueman/blob/master/androidApp/src/main/kotlin/com/bunny/hueman/CameraScreen.kt"
click node_face_detector "https://github.com/rudresh-void/hueman/blob/master/androidApp/src/main/kotlin/com/bunny/hueman/detector/FaceDetectorHelper.kt"
click node_hand_detector "https://github.com/rudresh-void/hueman/blob/master/androidApp/src/main/kotlin/com/bunny/hueman/detector/HandDetectorHelper.kt"
click node_pose_detector "https://github.com/rudresh-void/hueman/blob/master/androidApp/src/main/kotlin/com/bunny/hueman/detector/PoseDetectorHelper.kt"
click node_face_engine "https://github.com/rudresh-void/hueman/blob/master/androidApp/src/main/kotlin/com/bunny/hueman/ai/FaceExpressionEngine.kt"
click node_hand_engine "https://github.com/rudresh-void/hueman/blob/master/androidApp/src/main/kotlin/com/bunny/hueman/ai/HandGestureEngine.kt"
click node_pose_engine "https://github.com/rudresh-void/hueman/blob/master/androidApp/src/main/kotlin/com/bunny/hueman/ai/PoseEngine.kt"
click node_behavior "https://github.com/rudresh-void/hueman/blob/master/androidApp/src/main/kotlin/com/bunny/hueman/ai/BehaviorEngine.kt"
click node_human_state "https://github.com/rudresh-void/hueman/blob/master/androidApp/src/main/kotlin/com/bunny/hueman/model/HumanState.kt"
click node_state_manager "https://github.com/rudresh-void/hueman/blob/master/androidApp/src/main/kotlin/com/bunny/hueman/model/HumanStateManager.kt"
click node_face_overlay "https://github.com/rudresh-void/hueman/blob/master/androidApp/src/main/kotlin/com/bunny/hueman/ui/FaceOverlayView.kt"
click node_hand_overlay "https://github.com/rudresh-void/hueman/blob/master/androidApp/src/main/kotlin/com/bunny/hueman/ui/HandOverlayView.kt"
click node_pose_overlay "https://github.com/rudresh-void/hueman/blob/master/androidApp/src/main/kotlin/com/bunny/hueman/ui/PoseOverlayView.kt"
click node_android_app "https://github.com/rudresh-void/hueman/blob/master/androidApp/src/main/kotlin/com/bunny/hueman/App.kt"
click node_shared_app "https://github.com/rudresh-void/hueman/blob/master/shared/src/commonMain/kotlin/com/bunny/hueman/App.kt"
click node_greeting "https://github.com/rudresh-void/hueman/blob/master/shared/src/commonMain/kotlin/com/bunny/hueman/Greeting.kt"
click node_platform_api "https://github.com/rudresh-void/hueman/blob/master/shared/src/commonMain/kotlin/com/bunny/hueman/Platform.kt"
click node_android_platform "https://github.com/rudresh-void/hueman/blob/master/shared/src/androidMain/kotlin/com/bunny/hueman/Platform.android.kt"
click node_ios_platform "https://github.com/rudresh-void/hueman/blob/master/shared/src/iosMain/kotlin/com/bunny/hueman/Platform.ios.kt"
click node_desktop_platform "https://github.com/rudresh-void/hueman/blob/master/shared/src/jvmMain/kotlin/com/bunny/hueman/Platform.jvm.kt"
click node_ios_user_app "https://github.com/rudresh-void/hueman/blob/master/iosApp/iosApp/iOSApp.swift"
click node_ios_view "https://github.com/rudresh-void/hueman/blob/master/iosApp/iosApp/ContentView.swift"
click node_ios_controller "https://github.com/rudresh-void/hueman/blob/master/shared/src/iosMain/kotlin/com/bunny/hueman/MainViewController.kt"
click node_desktop_app "https://github.com/rudresh-void/hueman/blob/master/desktopApp/src/main/kotlin/com/bunny/hueman/main.kt"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_splash,node_android_main,node_camera,node_user toneBlue
class node_face_detector,node_hand_detector,node_pose_detector,node_face_engine,node_hand_engine,node_pose_engine,node_behavior,node_human_state,node_state_manager,node_face_overlay,node_hand_overlay,node_pose_overlay toneAmber
class node_android_app,node_shared_app,node_greeting,node_platform_api,node_android_platform,node_ios_platform,node_desktop_platform toneMint
class node_ios_user_app,node_ios_view,node_ios_controller,node_desktop_app toneRose
```

## Components

### Android experience

- [Splash screen](https://github.com/rudresh-void/hueman/blob/master/androidApp/src/main/kotlin/com/bunny/hueman/SplashActivity.kt): `androidApp/src/main/kotlin/com/bunny/hueman/SplashActivity.kt`
- [Android activity](https://github.com/rudresh-void/hueman/blob/master/androidApp/src/main/kotlin/com/bunny/hueman/MainActivity.kt): `androidApp/src/main/kotlin/com/bunny/hueman/MainActivity.kt`
- [Camera screen](https://github.com/rudresh-void/hueman/blob/master/androidApp/src/main/kotlin/com/bunny/hueman/CameraScreen.kt): `androidApp/src/main/kotlin/com/bunny/hueman/CameraScreen.kt`

### Vision and behavior

- [Face detector](https://github.com/rudresh-void/hueman/blob/master/androidApp/src/main/kotlin/com/bunny/hueman/detector/FaceDetectorHelper.kt): `androidApp/src/main/kotlin/com/bunny/hueman/detector/FaceDetectorHelper.kt`
- [Hand detector](https://github.com/rudresh-void/hueman/blob/master/androidApp/src/main/kotlin/com/bunny/hueman/detector/HandDetectorHelper.kt): `androidApp/src/main/kotlin/com/bunny/hueman/detector/HandDetectorHelper.kt`
- [Pose detector](https://github.com/rudresh-void/hueman/blob/master/androidApp/src/main/kotlin/com/bunny/hueman/detector/PoseDetectorHelper.kt): `androidApp/src/main/kotlin/com/bunny/hueman/detector/PoseDetectorHelper.kt`
- [Expression analysis](https://github.com/rudresh-void/hueman/blob/master/androidApp/src/main/kotlin/com/bunny/hueman/ai/FaceExpressionEngine.kt): `androidApp/src/main/kotlin/com/bunny/hueman/ai/FaceExpressionEngine.kt`
- [Gesture analysis](https://github.com/rudresh-void/hueman/blob/master/androidApp/src/main/kotlin/com/bunny/hueman/ai/HandGestureEngine.kt): `androidApp/src/main/kotlin/com/bunny/hueman/ai/HandGestureEngine.kt`
- [Pose analysis](https://github.com/rudresh-void/hueman/blob/master/androidApp/src/main/kotlin/com/bunny/hueman/ai/PoseEngine.kt): `androidApp/src/main/kotlin/com/bunny/hueman/ai/PoseEngine.kt`
- [Behavior analysis](https://github.com/rudresh-void/hueman/blob/master/androidApp/src/main/kotlin/com/bunny/hueman/ai/BehaviorEngine.kt): `androidApp/src/main/kotlin/com/bunny/hueman/ai/BehaviorEngine.kt`
- [Human state](https://github.com/rudresh-void/hueman/blob/master/androidApp/src/main/kotlin/com/bunny/hueman/model/HumanState.kt): `androidApp/src/main/kotlin/com/bunny/hueman/model/HumanState.kt`
- [State manager](https://github.com/rudresh-void/hueman/blob/master/androidApp/src/main/kotlin/com/bunny/hueman/model/HumanStateManager.kt): `androidApp/src/main/kotlin/com/bunny/hueman/model/HumanStateManager.kt`
- [Face overlay](https://github.com/rudresh-void/hueman/blob/master/androidApp/src/main/kotlin/com/bunny/hueman/ui/FaceOverlayView.kt): `androidApp/src/main/kotlin/com/bunny/hueman/ui/FaceOverlayView.kt`
- [Hand overlay](https://github.com/rudresh-void/hueman/blob/master/androidApp/src/main/kotlin/com/bunny/hueman/ui/HandOverlayView.kt): `androidApp/src/main/kotlin/com/bunny/hueman/ui/HandOverlayView.kt`
- [Pose overlay](https://github.com/rudresh-void/hueman/blob/master/androidApp/src/main/kotlin/com/bunny/hueman/ui/PoseOverlayView.kt): `androidApp/src/main/kotlin/com/bunny/hueman/ui/PoseOverlayView.kt`

### Shared app code

- [Android shared app](https://github.com/rudresh-void/hueman/blob/master/androidApp/src/main/kotlin/com/bunny/hueman/App.kt): `androidApp/src/main/kotlin/com/bunny/hueman/App.kt`
- [Shared Compose app](https://github.com/rudresh-void/hueman/blob/master/shared/src/commonMain/kotlin/com/bunny/hueman/App.kt): `shared/src/commonMain/kotlin/com/bunny/hueman/App.kt`
- [Greeting logic](https://github.com/rudresh-void/hueman/blob/master/shared/src/commonMain/kotlin/com/bunny/hueman/Greeting.kt): `shared/src/commonMain/kotlin/com/bunny/hueman/Greeting.kt`
- [Platform API](https://github.com/rudresh-void/hueman/blob/master/shared/src/commonMain/kotlin/com/bunny/hueman/Platform.kt): `shared/src/commonMain/kotlin/com/bunny/hueman/Platform.kt`
- [Android platform info](https://github.com/rudresh-void/hueman/blob/master/shared/src/androidMain/kotlin/com/bunny/hueman/Platform.android.kt): `shared/src/androidMain/kotlin/com/bunny/hueman/Platform.android.kt`
- [iOS platform info](https://github.com/rudresh-void/hueman/blob/master/shared/src/iosMain/kotlin/com/bunny/hueman/Platform.ios.kt): `shared/src/iosMain/kotlin/com/bunny/hueman/Platform.ios.kt`
- [Desktop platform info](https://github.com/rudresh-void/hueman/blob/master/shared/src/jvmMain/kotlin/com/bunny/hueman/Platform.jvm.kt): `shared/src/jvmMain/kotlin/com/bunny/hueman/Platform.jvm.kt`

### Platform entry points

- [iOS app entry](https://github.com/rudresh-void/hueman/blob/master/iosApp/iosApp/iOSApp.swift): `iosApp/iosApp/iOSApp.swift`
- [iOS host view](https://github.com/rudresh-void/hueman/blob/master/iosApp/iosApp/ContentView.swift): `iosApp/iosApp/ContentView.swift`
- [Compose controller](https://github.com/rudresh-void/hueman/blob/master/shared/src/iosMain/kotlin/com/bunny/hueman/MainViewController.kt): `shared/src/iosMain/kotlin/com/bunny/hueman/MainViewController.kt`
- [Desktop entry](https://github.com/rudresh-void/hueman/blob/master/desktopApp/src/main/kotlin/com/bunny/hueman/main.kt): `desktopApp/src/main/kotlin/com/bunny/hueman/main.kt`

### Other components

- **App user**

## Connections

- App user → Splash screen: opens (evidence: `README.md`)
- Splash screen → Android activity: launches (evidence: `androidApp/src/main/kotlin/com/bunny/hueman/SplashActivity.kt`)
- Android activity → Camera screen: shows (evidence: `androidApp/src/main/kotlin/com/bunny/hueman/MainActivity.kt`)
- Face detector → Expression analysis: analyzes landmarks (evidence: `androidApp/src/main/kotlin/com/bunny/hueman/detector/FaceDetectorHelper.kt`)
- State manager → Human state: updates (evidence: `androidApp/src/main/kotlin/com/bunny/hueman/model/HumanStateManager.kt`)
- Behavior analysis → Human state: reads (evidence: `androidApp/src/main/kotlin/com/bunny/hueman/ai/BehaviorEngine.kt`)
- iOS app entry → iOS host view: shows (evidence: `iosApp/iosApp/iOSApp.swift`)
- iOS host view → Compose controller: creates (evidence: `iosApp/iosApp/ContentView.swift`)
- Android platform info → Platform API: implements (evidence: `shared/src/androidMain/kotlin/com/bunny/hueman/Platform.android.kt`)
- iOS platform info → Platform API: implements (evidence: `shared/src/iosMain/kotlin/com/bunny/hueman/Platform.ios.kt`)
- Desktop entry → Shared Compose app: launches
- Android shared app → Shared Compose app: hosts
