# harpita-p/kiro-interactionkit architecture

> Architecture diagram of the GitHub repository harpita-p/kiro-interactionkit, 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/harpita-p/kiro-interactionkit
- Repository: https://github.com/harpita-p/kiro-interactionkit
- Video tour (about a minute): https://gitdiagram.com/harpita-p/kiro-interactionkit/video

## Overview

Kiro InteractionKit is a Python starter kit for turning webcam input into hand, face, and head tracking states and gestures, with two included applications. In Holo-Board, hand gestures control a drawing board whose video, audio, and ink can be recorded; Math-O-Lantern uses pinch interaction to slice answer-bearing pumpkins while players solve arithmetic questions. The graph separates reusable tracking, gesture recognition, and app behavior. App excerpts are partial, so internal relationships beyond the shown hand-tracker calls and documented capabilities are omitted rather than inferred.

Main entry points: [`my_apps/Holo-Board/main.py`](https://github.com/harpita-p/kiro-interactionkit/blob/main/my_apps/Holo-Board/main.py) (Holo-Board), [`my_apps/Math-O-Lantern/main.py`](https://github.com/harpita-p/kiro-interactionkit/blob/main/my_apps/Math-O-Lantern/main.py) (Math Game), [`kiro_interaction_kit/controllers/hand_controller.py`](https://github.com/harpita-p/kiro-interactionkit/blob/main/kiro_interaction_kit/controllers/hand_controller.py) (Hand Tracker), [`kiro_interaction_kit/controllers/face_controller.py`](https://github.com/harpita-p/kiro-interactionkit/blob/main/kiro_interaction_kit/controllers/face_controller.py) (Face Tracker)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_tracking["Tracking"]
  node_hand_tracker["Hand Tracker<br/>[hand_controller.py]"]
  node_face_tracker["Face Tracker<br/>[face_controller.py]"]
  node_head_tracker["Head Tracker<br/>[head_controller.py]"]
end

subgraph group_gestures["Gesture Recognition"]
  node_hand_gestures["Hand Gestures"]
  node_face_gestures["Face Gestures"]
  node_head_gestures["Head Gestures"]
end

subgraph group_apps["Applications"]
  node_holo["Holo-Board<br/>[main.py]"]
  node_holo_drawing["Drawing Canvas<br/>[main.py]"]
  node_holo_recording["AV Recorder<br/>[main.py]"]
  node_math_game["Math Game<br/>[main.py]"]
  node_questions["Question Session<br/>[main.py]"]
  node_pumpkins["Pumpkin Play<br/>[main.py]"]
end

node_player(("Player"))

node_hand_tracker -->|"detects with"| node_hand_gestures
node_face_tracker -->|"detects with"| node_face_gestures
node_player -->|"uses gestures"| node_holo
node_holo -->|"processes frames"| node_hand_tracker
node_holo -->|"controls drawing"| node_holo_drawing
node_holo -->|"records media"| node_holo_recording
node_player -->|"plays"| node_math_game
node_math_game -->|"processes frames"| node_hand_tracker
node_math_game -->|"manages questions"| node_questions
node_math_game -->|"spawns and checks"| node_pumpkins
node_head_tracker -.-> node_head_gestures

click node_hand_tracker "https://github.com/harpita-p/kiro-interactionkit/blob/main/kiro_interaction_kit/controllers/hand_controller.py"
click node_face_tracker "https://github.com/harpita-p/kiro-interactionkit/blob/main/kiro_interaction_kit/controllers/face_controller.py"
click node_head_tracker "https://github.com/harpita-p/kiro-interactionkit/blob/main/kiro_interaction_kit/controllers/head_controller.py"
click node_hand_gestures "https://github.com/harpita-p/kiro-interactionkit/tree/main/kiro_interaction_kit/gestures/hand_gestures"
click node_face_gestures "https://github.com/harpita-p/kiro-interactionkit/tree/main/kiro_interaction_kit/gestures/face_gestures"
click node_head_gestures "https://github.com/harpita-p/kiro-interactionkit/tree/main/kiro_interaction_kit/gestures/head_gestures"
click node_holo "https://github.com/harpita-p/kiro-interactionkit/blob/main/my_apps/Holo-Board/main.py"
click node_holo_drawing "https://github.com/harpita-p/kiro-interactionkit/blob/main/my_apps/Holo-Board/main.py"
click node_holo_recording "https://github.com/harpita-p/kiro-interactionkit/blob/main/my_apps/Holo-Board/main.py"
click node_math_game "https://github.com/harpita-p/kiro-interactionkit/blob/main/my_apps/Math-O-Lantern/main.py"
click node_questions "https://github.com/harpita-p/kiro-interactionkit/blob/main/my_apps/Math-O-Lantern/main.py"
click node_pumpkins "https://github.com/harpita-p/kiro-interactionkit/blob/main/my_apps/Math-O-Lantern/main.py"

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_hand_tracker,node_face_tracker,node_head_tracker toneBlue
class node_hand_gestures,node_face_gestures,node_head_gestures toneAmber
class node_holo,node_holo_drawing,node_holo_recording,node_math_game,node_questions,node_pumpkins toneMint
class node_player toneIndigo
```

## Components

### Tracking

- [Hand Tracker](https://github.com/harpita-p/kiro-interactionkit/blob/main/kiro_interaction_kit/controllers/hand_controller.py): `kiro_interaction_kit/controllers/hand_controller.py`
- [Face Tracker](https://github.com/harpita-p/kiro-interactionkit/blob/main/kiro_interaction_kit/controllers/face_controller.py): `kiro_interaction_kit/controllers/face_controller.py`
- [Head Tracker](https://github.com/harpita-p/kiro-interactionkit/blob/main/kiro_interaction_kit/controllers/head_controller.py): `kiro_interaction_kit/controllers/head_controller.py`

### Gesture Recognition

- [Hand Gestures](https://github.com/harpita-p/kiro-interactionkit/tree/main/kiro_interaction_kit/gestures/hand_gestures): `kiro_interaction_kit/gestures/hand_gestures`
- [Face Gestures](https://github.com/harpita-p/kiro-interactionkit/tree/main/kiro_interaction_kit/gestures/face_gestures): `kiro_interaction_kit/gestures/face_gestures`
- [Head Gestures](https://github.com/harpita-p/kiro-interactionkit/tree/main/kiro_interaction_kit/gestures/head_gestures): `kiro_interaction_kit/gestures/head_gestures`

### Applications

- [Holo-Board](https://github.com/harpita-p/kiro-interactionkit/blob/main/my_apps/Holo-Board/main.py): `my_apps/Holo-Board/main.py`
- [Drawing Canvas](https://github.com/harpita-p/kiro-interactionkit/blob/main/my_apps/Holo-Board/main.py): `my_apps/Holo-Board/main.py`
- [AV Recorder](https://github.com/harpita-p/kiro-interactionkit/blob/main/my_apps/Holo-Board/main.py): `my_apps/Holo-Board/main.py`
- [Math Game](https://github.com/harpita-p/kiro-interactionkit/blob/main/my_apps/Math-O-Lantern/main.py): `my_apps/Math-O-Lantern/main.py`
- [Question Session](https://github.com/harpita-p/kiro-interactionkit/blob/main/my_apps/Math-O-Lantern/main.py): `my_apps/Math-O-Lantern/main.py`
- [Pumpkin Play](https://github.com/harpita-p/kiro-interactionkit/blob/main/my_apps/Math-O-Lantern/main.py): `my_apps/Math-O-Lantern/main.py`

### Other components

- **Player**

## Connections

- Hand Tracker → Hand Gestures: detects with (evidence: `kiro_interaction_kit/controllers/hand_controller.py`)
- Face Tracker → Face Gestures: detects with (evidence: `kiro_interaction_kit/controllers/face_controller.py`)
- Player → Holo-Board: uses gestures (evidence: `README.md`)
- Holo-Board → Hand Tracker: processes frames (evidence: `my_apps/Holo-Board/main.py`)
- Holo-Board → Drawing Canvas: controls drawing (evidence: `README.md`)
- Holo-Board → AV Recorder: records media (evidence: `README.md`)
- Player → Math Game: plays (evidence: `README.md`)
- Math Game → Hand Tracker: processes frames (evidence: `my_apps/Math-O-Lantern/main.py`)
- Math Game → Question Session: manages questions (evidence: `my_apps/Math-O-Lantern/main.py`)
- Math Game → Pumpkin Play: spawns and checks (evidence: `my_apps/Math-O-Lantern/main.py`)
- Head Tracker → Head Gestures
