# galih1250/aslvis26 architecture

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

- Interactive diagram: https://gitdiagram.com/galih1250/aslvis26
- Repository: https://github.com/galih1250/aslvis26

## Overview

ASLVis26 is a Flask web application for real-time ASL alphabet translation, static-image prediction, and interactive sign-language education. Its user workflow runs through the web interface to Flask endpoints, which invoke YOLO pose detection for camera or uploaded images, or the local Gemma model for chat. The sampled backend excerpt confirms model calls and result generation; the README documents the product capabilities and frontend. The template’s detailed interactions and several route definitions were not sampled, so those links are documented or marked unverified.

Main entry points: [`flask-hand/app.py`](https://github.com/galih1250/aslvis26/blob/main/flask-hand/app.py) (Flask Backend), [`flask-hand/templates/index.html`](https://github.com/galih1250/aslvis26/blob/main/flask-hand/templates/index.html) (Web Interface)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_web["Web Interface"]
  node_webui["Web Interface<br/>[index.html]"]
  node_flask["Flask Backend<br/>[app.py]"]
end

subgraph group_vision["ASL Vision"]
  node_webcam["Webcam Capture<br/>[app.py]"]
  node_live["Live Translation<br/>[app.py]"]
  node_upload["Image Upload<br/>[app.py]"]
  node_pose["YOLO Pose Detection<br/>[app.py]"]
  node_results["Annotated Predictions<br/>[app.py]"]
end

subgraph group_education["AI Education"]
  node_chat["Chat Endpoint<br/>[app.py]"]
  node_gemma["Gemma Assistant<br/>[app.py]"]
end

node_user(("User"))

node_user -->|"uses"| node_webui
node_webui -.->|"requests"| node_flask
node_flask -.->|"renders"| node_webui
node_webcam -->|"supplies frames"| node_live
node_live -->|"predicts"| node_pose
node_upload -->|"predicts"| node_pose
node_pose -->|"annotates"| node_results
node_flask -->|"routes chat"| node_chat
node_chat -->|"generates reply"| node_gemma

click node_webui "https://github.com/galih1250/aslvis26/blob/main/flask-hand/templates/index.html"
click node_flask "https://github.com/galih1250/aslvis26/blob/main/flask-hand/app.py"
click node_webcam "https://github.com/galih1250/aslvis26/blob/main/flask-hand/app.py"
click node_live "https://github.com/galih1250/aslvis26/blob/main/flask-hand/app.py"
click node_upload "https://github.com/galih1250/aslvis26/blob/main/flask-hand/app.py"
click node_pose "https://github.com/galih1250/aslvis26/blob/main/flask-hand/app.py"
click node_results "https://github.com/galih1250/aslvis26/blob/main/flask-hand/app.py"
click node_chat "https://github.com/galih1250/aslvis26/blob/main/flask-hand/app.py"
click node_gemma "https://github.com/galih1250/aslvis26/blob/main/flask-hand/app.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_webui,node_flask,node_user toneBlue
class node_webcam,node_live,node_upload,node_pose,node_results toneAmber
class node_chat,node_gemma toneMint
```

## Components

### Web Interface

- [Web Interface](https://github.com/galih1250/aslvis26/blob/main/flask-hand/templates/index.html): `flask-hand/templates/index.html`
- [Flask Backend](https://github.com/galih1250/aslvis26/blob/main/flask-hand/app.py): `flask-hand/app.py`

### ASL Vision

- [Webcam Capture](https://github.com/galih1250/aslvis26/blob/main/flask-hand/app.py): `flask-hand/app.py`
- [Live Translation](https://github.com/galih1250/aslvis26/blob/main/flask-hand/app.py): `flask-hand/app.py`
- [Image Upload](https://github.com/galih1250/aslvis26/blob/main/flask-hand/app.py): `flask-hand/app.py`
- [YOLO Pose Detection](https://github.com/galih1250/aslvis26/blob/main/flask-hand/app.py): `flask-hand/app.py`
- [Annotated Predictions](https://github.com/galih1250/aslvis26/blob/main/flask-hand/app.py): `flask-hand/app.py`

### AI Education

- [Chat Endpoint](https://github.com/galih1250/aslvis26/blob/main/flask-hand/app.py): `flask-hand/app.py`
- [Gemma Assistant](https://github.com/galih1250/aslvis26/blob/main/flask-hand/app.py): `flask-hand/app.py`

### Other components

- **User**

## Connections

- User → Web Interface: uses (evidence: `README.md`)
- Web Interface → Flask Backend: requests
- Flask Backend → Web Interface: renders
- Webcam Capture → Live Translation: supplies frames (evidence: `flask-hand/app.py`)
- Live Translation → YOLO Pose Detection: predicts (evidence: `flask-hand/app.py`)
- Image Upload → YOLO Pose Detection: predicts (evidence: `flask-hand/app.py`)
- YOLO Pose Detection → Annotated Predictions: annotates (evidence: `flask-hand/app.py`)
- Flask Backend → Chat Endpoint: routes chat (evidence: `README.md`)
- Chat Endpoint → Gemma Assistant: generates reply (evidence: `flask-hand/app.py`)
