An AI-powered health monitoring system that detects early warning signs of SANS in astronauts.
Built at Catapult · April 2025 - Best Use Of Hardware Winner
SANS (Spaceflight-Associated Neuro-Ocular Syndrome) is a serious condition affecting astronauts in microgravity. Without gravity, fluids shift toward the head, increasing intracranial pressure and causing vision changes, eye shape distortion, and potential permanent blindness.
SANS is one of the most significant unresolved health risks of long-duration spaceflight — this project aims to catch it early.
SANSight takes in an astronaut's biometric data and outputs a personalized risk percentage for developing SANS. It is not a diagnostic tool — it is an early warning system.
Inputs:
- 📷 Retinal scan image (uploaded by user)
- 🧂 Sodium / salt intake levels
- 💊 Vitamin D, Calcium, Magnesium levels
Output:
- A SANS risk score (0–100%)
- Key risk factors driving the score
- Trend tracking over time
User Input (retinal scan + biometrics)
│
├──► CNN Model ← analyzes retinal scan image
│ └── Retinal Risk Score
│
├──► Random Forest Model ← analyzes tabular health data
│ └── Biometric Risk Score
│
└──► TensorFlow
└── Final SANS Risk % ──► Displayed to User
| Model | Input | Purpose |
|---|---|---|
| CNN | Retinal scan image | Detects structural eye changes associated with SANS |
| Random Forest | Vitamins and Sodium | Identifies biometric risk patterns |
| Weighted Average Fusion | Both scores | Combines into a single interpretable risk percentage |
| Groq LLM | chat prompts | answers questions about risk score |
The CNN uses transfer learning from ImageNet weights, fine-tuned on retinal disease datasets. The tabular model is trained on NASA astronaut health and nutrition data.
| Dataset | Source | Used For |
|---|---|---|
| Astronaut Health Dataset | Kaggle | General astronaut health baselines |
| Eye Diseases Classification | Kaggle | Retinal scan CNN training |
| NASA Nutrition Data (Vitamin D, Ca, Mg, Na) | NASA LSDA | Biometric model features |
| NASA Open Science Data | data.gov | Supplementary health data |
| Layer | Technology |
|---|---|
| Frontend | React / Next.js |
| Backend API | FastAPI (Python) |
| ML – Tabular | Random Forest |
| ML – Vision | CNN |
| ML Training | TensorFlow |
| LLM Chat | Groq |
| Authentication | World ID |
| Data Processing | pandas, NumPy |
- World ID Login — privacy-preserving authentication using World ID
- Retinal Scan Upload — user submits an eye scan for AI analysis
- Manual Biometric Input — log sodium intake and vitamin levels
- Risk Dashboard — visual risk score with breakdown of contributing factors
- Trend Tracking — monitor risk changes over time
- Chat AI - ask any questions about risk score
- Python 3.10+
- Node.js 18+
- pip, npm or yarn
# Clone the repo
git clone https://github.com/your-team/sans-monitor.git
cd sans-monitor
# Backend setup
cd backend
pip install -r requirements.txt
uvicorn main:app --reload
# Frontend setup
cd ../frontend
npm install
npm run devCreate a .env file in /backend:
WORLD_ID_APP_ID=your_world_id_app_id
MODEL_PATH=./models/
| Method | Endpoint | Description |
|---|---|---|
POST |
/analyze/retinal |
Upload retinal scan, returns vision risk score |
POST |
/analyze/biometrics |
Submit health data JSON, returns biometric risk score |
GET |
/risk-summary |
Returns fused SANS risk percentage |
SANS is not a medical diagnostic tool. It is a research-grade risk indicator system built for a hackathon. Results should not be used for clinical decision-making. Always consult a qualified medical professional for health assessments.