AI-powered posture monitoring that helps avoid unnecessary surgery
A web application that uses computer vision to analyze posture from photos and videos, track scoliosis treatment progress, and generate clinical reports — running entirely on your local machine with no cloud dependency.
Created by Srinath Sankara
Important Medical Disclaimer — This application is designed to help parents and caregivers monitor scolosis treatment progress between clinical visits. It is not a medical device, does not provide medical diagnosis, and does not replace professional medical advice, diagnosis, or treatment. Always seek the advice of your physician or other qualified health provider with any questions regarding a medical condition. Never disregard professional medical advice or delay in seeking it because of something you have read or seen in this application. The author assumes no responsibility or liability for any errors or omissions in the content of this application. Use of this application is entirely at your own risk.
What is this? | Who is this for? | Quick Start | How to Use | Features | For Developers
- What is this?
- Who is this for?
- Quick Start
- How to Use
- Example Results
- Features
- How It Works
- For Developers
- API Reference
- Clinical Background
- Contributing
- License
- Disclaimer
Scoliosis Brace Coach AI is a tool that helps families and clinicians monitor scoliosis treatment between office visits. It answers three critical questions:
- Is the brace actually working? — Measures how much posture improves when wearing the brace
- Is the curve getting worse? — Tracks asymmetry over time and alerts when progression is detected
- Is the brace being worn enough? — Logs wear-time and pressure distribution
Adolescent Idiopathic Scoliosis (AIS) affects 2-3% of adolescents. The standard treatment is bracing combined with physical therapy (Schroth method). But there's a gap:
- Clinic visits happen every 4-6 months
- Curves can progress 1-2 degrees per month during growth
- By the time progression is noticed at a clinic visit, it may be too late to avoid surgery
- Spinal fusion surgery costs $100,000–$300,000 and permanently limits mobility
This tool fills that gap by giving families objective, quantitative data at home — so problems are caught early and treatment can be adjusted before surgery becomes necessary.
The landmark BrAIST trial (New England Journal of Medicine, 2013) proved:
- Bracing reduces the risk of surgery by 72%
- The more hours per day the brace is worn, the better the outcome
- 13+ hours/day showed a 90% success rate
This tool helps families achieve those compliance numbers by making progress visible and measurable.
"I want to know if the brace is actually helping my child."
- Upload a photo after each brace fitting to see exactly how much correction is being achieved
- Track posture improvement week by week with easy-to-read charts
- Get alerted if metrics worsen — before the next scheduled clinic visit
- Download PDF reports to bring to orthopedic appointments
- Stay motivated by seeing measurable progress
"I need objective data to make better treatment decisions."
- Review patient data remotely through the clinician dashboard
- See brace pressure distribution to verify corrective force at the curve apex
- Identify patients with progression alerts who need urgent attention
- Export clinical-grade PDF reports for documentation and insurance
- Make data-driven decisions about brace adjustments vs. surgical referral
"I need to verify my patients are doing their exercises correctly."
- Monitor exercise form between in-person sessions
- Track posture metrics to validate treatment effectiveness
- Compare with-brace vs. without-brace sessions to demonstrate brace value
- Use trend data to adjust exercise programs
- Python 3.11 or higher (download Python)
- pip (comes with Python)
- A webcam or smartphone camera
Option 1: Automatic (Windows)
git clone https://github.com/yourusername/scoliosis-brace-coach.git
cd scoliosis-brace-coach
install.batOption 2: Manual (All Platforms)
git clone https://github.com/yourusername/scoliosis-brace-coach.git
cd scoliosis-brace-coach
pip install -r requirements.txtpython app.pyOr on Windows, double-click start.bat.
Then open your browser to: http://127.0.0.1:5000
First run note: The application will automatically download the AI pose detection model (~5 MB) from Google Cloud Storage. This only happens once.
Stand or walk directly facing away from the camera (posterior view). The person's entire body should be visible from head to ankles.
Good photo:
- Person centered in frame, facing away from camera
- Good lighting, plain background
- Fitted clothing so body contours are visible
Bad photo:
- Person facing the camera or at an angle
- Shadows or cluttered background
- Loose clothing hiding body shape
- Click Choose File and select your photo or video
- Select the Session Type:
- Standing (Without Brace) — baseline measurement
- Standing (With Brace) — measures brace correction
- Walking (Without Brace) — gait analysis
- Walking (With Brace) — braced gait analysis
- Schroth Exercise — exercise form check
- Select the Age Group (Under 12, Under 15, Under 18, or Adult)
- Click Analyze Session
The analysis typically takes 2-5 seconds. Results include:
- Shoulder Asymmetry — Height difference between left and right shoulders (pixels)
- Hip Asymmetry — Height difference between left and right hips (pixels)
- Trunk Lean Angle — How much the torso tilts to one side (degrees)
- Head Tilt — How far the head deviates from center (pixels)
- Spine Deviation — Lateral shift of the spine (pixels)
- Trunk Rotation — Estimated vertebral rotation (degrees)
- Rib Hump Proxy — Estimated rib prominence asymmetry (pixels)
- Rotation Risk Score — Composite score from 0-100 (higher = worse)
Each metric shows a status badge: green for good, yellow for needs improvement.
Go to Compare Sessions to see side-by-side how the brace improves posture. This is the most powerful feature — it shows exactly how many degrees of correction the brace provides.
Go to Trends to see charts of all metrics over time. The system automatically detects:
- Stable — metrics are consistent (good!)
- Improving — asymmetry is decreasing (treatment working)
- Worsening — asymmetry is increasing (may need attention)
Go to Clinician Dashboard and click Export PDF to download a clinical-grade report with:
- Session summary
- Brace effectiveness percentage
- Longitudinal trend analysis
- Progression alerts
- Evidence-based treatment rationale
- Recommendations
Bring this PDF to your next orthopedic appointment.
The tool uses MediaPipe pose detection to find 33 body landmarks, then calculates asymmetry metrics:
Upload Photo -> Detect Landmarks -> Calculate Metrics -> Compare Thresholds -> Report
Shoulder Asymmetry - Height difference between left and right shoulders:
Left Shoulder *=================* Right Shoulder
| delta_h (pixels) |
Trunk Lean Angle - How much the torso tilts:
* Mid-Shoulder
/|
/ | delta_x
/ theta
*----* Mid-Hip
theta = arctan(delta_x / delta_y)
Trunk Rotation - Vertebral rotation from shoulder vs hip angles:
Rotation = |shoulder_angle - hip_angle|
Image: scoliosis_back2.jpg (Openverse CC-licensed photo) Mode: Standing (Without Brace) Age Group: Under 15
| Metric | Value | Status | What It Means |
|---|---|---|---|
| Shoulder Asymmetry | 19 px | NEEDS_IMPROVEMENT | Shoulders uneven |
| Trunk Lean Angle | 14.04 degrees | NEEDS_IMPROVEMENT | Lateral lean present |
| Trunk Rotation | 7.27 degrees | NEEDS_IMPROVEMENT | Vertebral rotation present |
| Rotation Risk Score | 57.3/100 | NEEDS_IMPROVEMENT | Moderate-high risk |
Interpretation: Moderate asymmetry with shoulder imbalance, trunk lean, and rotation. Risk score of 57.3 suggests clinical evaluation needed.
Image: scoliosis_back3.jpg (Openverse CC-licensed photo) Mode: Standing (Without Brace) Age Group: Under 15
| Metric | Value | Status | What It Means |
|---|---|---|---|
| Shoulder Asymmetry | 27 px | NEEDS_IMPROVEMENT | Shoulders significantly uneven |
| Trunk Lean Angle | 6.98 degrees | - | Mild lateral lean |
| Head Tilt | 59.5 px | - | Head significantly tilted |
| Spine Deviation | 75.5 px | - | Significant spine shift |
| Rotation Risk Score | 30/100 | GOOD | Low-moderate risk |
Interpretation: Significant shoulder and hip asymmetry with notable head tilt and spine deviation. Combined patterns suggest scoliosis requiring clinical assessment.
-
Status Badges:
- GOOD = Within normal range for age group
- NEEDS_IMPROVEMENT = Outside normal range - monitor closely
-
Risk Score (0-100):
- 0-29: Low risk
- 30-59: Moderate risk
- 60-100: High risk - seek clinical evaluation
-
Key Patterns to Watch:
- Shoulder asymmetry > Trunk lean > Rotation (combined indicates scoliosis)
- High rotation risk score with multiple "needs_improvement" metrics
- Consistent asymmetry across multiple sessions
For detailed interpretation, see docs/HOW_IT_WORKS.md.
| Feature | What It Measures | Why It Matters |
|---|---|---|
| Pose Estimation | 33 body landmarks from a single photo | Foundation for all other measurements |
| Posture Metrics | Shoulder, hip, trunk, head, spine asymmetry | Primary indicators of scoliosis severity |
| Rotation Detection | Trunk rotation, rib hump, pelvic obliquity | Scoliosis is 3D — rotation matters as much as lateral curve |
| Brace Detection | Whether a brace is present in the image | Automatically categorizes with/without brace sessions |
| Gait Analysis | Pelvic tilt, step symmetry during walking | Walking patterns reveal functional impact |
| Feature | What It Does | Why It Matters |
|---|---|---|
| Session Comparison | Side-by-side with/without brace analysis | Proves the brace is actually correcting posture |
| Trend Analysis | Linear regression across all sessions | Detects slow progression that single snapshots miss |
| Progression Alerts | Critical/warning alerts at clinical thresholds | Early warning before curve crosses surgical threshold |
| Age-Specific Thresholds | Different standards for under 12/15/18/adult | Growing spines have different risk profiles |
| Feature | What It Does | Why It Matters |
|---|---|---|
| Pressure Evaluation | Scores force at 3 correction points | Verifies brace applies force at the curve apex |
| Compliance Tracking | Logs wear-time via temperature detection | 13+ hours/day = 90% success rate (BrAIST) |
| Pressure History | Time-series of pressure readings | Shows if brace fit changes over time |
| Feature | What It Does | Why It Matters |
|---|---|---|
| Clinician Dashboard | KPIs, alerts, trend overview | At-a-glance view of patient status |
| PDF Reports | A4 clinical reports with evidence citations | Ready for doctor visits and insurance |
| Educational Content | AIS treatment evidence and surgery prevention | Helps families understand the importance of compliance |
Photo/Video Upload
│
▼
┌──────────────────┐
│ File Validation │ Check extension, size (max 500MB)
└────────┬─────────┘
│
▼
┌──────────────────┐
│ Frame Sampling │ Videos: extract 10 evenly-spaced frames
│ │ Images: use directly
└────────┬─────────┘
│
▼
┌──────────────────┐ ┌─────────────────┐
│ MediaPipe Pose │────▶│ 33 Body │ Normalized (x,y,z) coordinates
│ Landmark Detect │ │ Landmarks │ for each landmark
└────────┬─────────┘ └─────────────────┘
│
▼
┌──────────────────┐
│ Brace Detection │ HSV color analysis on torso region
│ (if applicable) │ White pixels > 20% = brace present
└────────┬─────────┘
│
▼
┌──────────────────┐
│ Metric Compute │ 6 posture + 6 rotation metrics
│ (age-adjusted) │ Thresholds vary by age group
└────────┬─────────┘
│
▼
┌──────────────────┐
│ Store & Display │ Save to SQLite, render results page
└──────────────────┘
Posture Metrics (from posture_rules.py):
| Metric | Calculation | Units |
|---|---|---|
| Shoulder Asymmetry | |left_shoulder_Y - right_shoulder_Y| |
pixels |
| Hip Asymmetry | |left_hip_Y - right_hip_Y| |
pixels |
| Trunk Lean Angle | arctan2(mid_shoulder_X - mid_hip_X, mid_hip_Y - mid_shoulder_Y) |
degrees |
| Head Tilt | nose_X - mid_shoulder_X |
pixels |
| Spine Deviation | mid_shoulder_X - mid_hip_X |
pixels |
| Arm Hang Diff | |(left_shoulder_Y - left_wrist_Y) - (right_shoulder_Y - right_wrist_Y)| |
pixels |
Rotation Metrics (from rotation_rules.py):
| Metric | Calculation | Units |
|---|---|---|
| Rib Hump Proxy | |left_shoulder_width - right_shoulder_width| |
pixels |
| Axillary Fold Diff | |left_elbow_Y - right_elbow_Y| |
pixels |
| Trunk Rotation Angle | |shoulder_line_angle - hip_line_angle| |
degrees |
| Scapular Winging Diff | |left_scapular_dist - right_scapular_dist| |
pixels |
| Pelvic Obliquity | |left_hip_Y - right_hip_Y| |
pixels |
| Rotation Risk Score | Weighted composite (0-100) | score |
Metrics are compared against age-specific thresholds. What's "normal" for a 10-year-old is different from an adult:
| Metric | Under 12 | Under 15 | Under 18 | Adult |
|---|---|---|---|---|
| Shoulder Asymmetry | 12 px | 15 px | 18 px | 20 px |
| Trunk Lean Angle | 2.5° | 3.0° | 3.5° | 4.0° |
| Rib Hump | 5 px | 7 px | 9 px | 10 px |
| Axillary Fold | 4 px | 5 px | 6 px | 7 px |
| Rotation Angle | 3° | 4° | 5° | 5° |
The system uses linear regression to detect trends across sessions:
| Alert Level | Trigger | Meaning |
|---|---|---|
| Critical | Metric changes by ≥ threshold | Significant progression — consult specialist |
| Warning | Metric changes by ≥ threshold | Worsening trend — schedule follow-up |
| Stable | Slope < 0.1 | No significant change (good!) |
scoliosis-brace-coach/
│
├── app.py # Flask application (routes, job management, DB init)
│
├── analysis/ # Core analysis engine
│ ├── pose_detector.py # MediaPipe PoseLandmarker wrapper
│ ├── video_processor.py # Orchestrates the full analysis pipeline
│ ├── brace_detector.py # HSV color-space brace presence detection
│ ├── posture_rules.py # 6 standing posture metrics + thresholds
│ ├── rotation_rules.py # 6 rotation/rib hump metrics + risk score
│ ├── gait_rules.py # Walking gait analysis (minimal)
│ ├── exercise_rules.py # Schroth exercise form (placeholder)
│ ├── trend_analysis.py # Linear regression, alerts, progression reports
│ └── clinician_report.py # PDF generation with ReportLab
│
├── sensors/ # Hardware integration
│ ├── ble_scanner.py # Bluetooth LE device scanning (Bleak)
│ └── brace_pressure.py # Pressure evaluation, compliance tracking
│
├── templates/ # Jinja2 HTML templates
│ ├── index.html # Home page with upload form
│ ├── results.html # Analysis results display
│ ├── dashboard.html # Clinician dashboard
│ ├── history.html # Session history
│ ├── compare.html # Side-by-side comparison
│ ├── sensors.html # Sensor pairing & pressure input
│ ├── trends.html # Longitudinal trend charts
│ └── about.html # AIS educational content
│
├── static/
│ ├── css/style.css # Custom styles
│ └── js/compare.js # Client-side comparison logic
│
├── requirements.txt # Python dependencies
├── install.bat # Windows installer
├── start.bat # Windows launcher
├── .gitignore # Git ignore rules
└── README.md # This file
| Component | Technology | Version |
|---|---|---|
| Language | Python | 3.11+ |
| Web Framework | Flask | ≥ 2.3.0 |
| ML/CV Runtime | Google MediaPipe Tasks | ≥ 0.10.0 |
| Image Processing | OpenCV | ≥ 4.8.0 |
| Numerical | NumPy | ≥ 1.24.0 |
| PDF Generation | ReportLab | ≥ 4.0.0 |
| BLE (optional) | Bleak | ≥ 0.21.0 |
| Database | SQLite | built-in |
| Frontend CSS | Tailwind CSS | CDN |
| Frontend Charts | Chart.js | CDN |
sessions.db — Analysis session results
CREATE TABLE sessions (
job_id TEXT PRIMARY KEY, -- 8-char UUID prefix
created_at TEXT, -- ISO datetime
mode TEXT, -- standing_no_brace, standing_with_brace, etc.
result_json TEXT -- Full analysis result as JSON blob
);compliance.db — Brace wear-time and pressure data
CREATE TABLE wear_sessions (
id INTEGER PRIMARY KEY AUTOINCREMENT,
session_id TEXT,
started_at TEXT, -- ISO datetime
ended_at TEXT, -- ISO datetime
total_minutes INTEGER,
temperature_readings TEXT, -- JSON blob
status TEXT DEFAULT 'active'
);
CREATE TABLE pressure_log (
id INTEGER PRIMARY KEY AUTOINCREMENT,
session_id TEXT,
timestamp TEXT, -- ISO datetime
upper_support REAL, -- kPa
middle_pressure REAL, -- kPa
lower_support REAL, -- kPa
skin_temp REAL, -- Celsius
brace_detected INTEGER -- 0/1
);# Clone
git clone https://github.com/yourusername/scoliosis-brace-coach.git
cd scoliosis-brace-coach
# Create virtual environment (recommended)
python -m venv venv
source venv/bin/activate # Linux/Mac
venv\Scripts\activate # Windows
# Install dependencies
pip install -r requirements.txt
# Run
python app.py| Constant | Value | Location | Purpose |
|---|---|---|---|
MAX_CONTENT_LENGTH |
500 MB | app.py |
Max upload file size |
MODEL_URL |
Google Storage URL | pose_detector.py |
MediaPipe model download |
num_poses |
1 | pose_detector.py |
Detect single person |
min_detection_confidence |
0.5 | pose_detector.py |
Minimum pose confidence |
| Brace white threshold | > 20% | brace_detector.py |
Torso pixel threshold for brace detection |
| Frame sample count | 10 | video_processor.py |
Frames extracted from video |
| Progression critical | 5.0° (trunk) | trend_analysis.py |
Alert threshold |
| Progression warning | 3.0° (trunk) | trend_analysis.py |
Alert threshold |
| Prescribed hours | 23 hrs/day | brace_pressure.py |
Compliance target |
| Pressure ranges | 40-60 / 50-70 / 35-55 kPa | brace_pressure.py |
Correction point ideals |
| Skin temp baseline | 33.0°C | brace_pressure.py |
Brace-worn detection threshold |
The application includes an end-to-end test script:
python test_e2e.pyThis tests all page routes, API endpoints, pressure evaluation, compliance tracking, and PDF generation.
Add a new posture metric:
- Open
analysis/posture_rules.py - Add your metric calculation using
detector.get_landmark_coords()for landmark access - Add the metric to the return dictionary
- Add a threshold in
AGE_THRESHOLDS
Add a new analysis mode:
- Open
analysis/video_processor.py - Add a new
elifbranch inprocess_media() - Create a new rules file in
analysis/ - Add the mode option to
templates/index.html
Add a new API endpoint:
- Open
app.py - Add a new
@app.route()function - Follow the existing pattern for JSON responses
| Route | Method | Description |
|---|---|---|
/ |
GET | Home page with upload form |
/results/<job_id> |
GET | Analysis results display |
/sensors |
GET | BLE sensor pairing and pressure monitoring |
/history |
GET | Session history table |
/compare |
GET | Side-by-side session comparison |
/dashboard |
GET | Clinician dashboard with KPIs |
/trends |
GET | Longitudinal trend charts |
/about |
GET | AIS treatment education |
| Route | Method | Body/Params | Response |
|---|---|---|---|
/upload |
POST | media (file), mode, age_group |
{job_id} |
/status/<job_id> |
GET | — | {status, result} |
/api/session/<job_id> |
GET | — | Full session JSON |
/api/trends |
GET | ?mode= (optional) |
Trend analysis |
/api/progression-report |
GET | — | Full progression report |
/api/pdf-report |
GET | — | PDF binary download |
/api/pressure/evaluate |
POST | {upper_support, middle_pressure, lower_support, skin_temp} |
Pressure evaluation |
/api/compliance/start |
POST | {session_id} |
Session started |
/api/compliance/log |
POST | {session_id, upper_support, middle_pressure, lower_support, skin_temp, brace_detected} |
Reading logged |
/api/compliance/end |
POST | {session_id} |
Compliance summary |
/api/compliance/summary/<id> |
GET | — | Compliance summary |
/api/pressure/history/<id> |
GET | — | Array of pressure readings |
# Upload a photo
curl -X POST http://localhost:5000/upload \
-F "media=@photo.jpg" \
-F "mode=standing_no_brace" \
-F "age_group=under15"
# Response: {"job_id": "a1b2c3d4"}
# Check status
curl http://localhost:5000/status/a1b2c3d4
# Response when done:
# {"status": "done", "result": {"status": "success", "mode": "standing_no_brace", ...}}curl -X POST http://localhost:5000/api/pressure/evaluate \
-H "Content-Type: application/json" \
-d '{"upper_support": 52, "middle_pressure": 63, "lower_support": 45, "skin_temp": 34.8}'
# Response:
# {
# "status": "analyzed",
# "score": 100.0,
# "points": {
# "upper_support": {"value": 52, "status": "optimal", "score": 100, ...},
# "middle_pressure": {"value": 63, "status": "optimal", "score": 100, ...},
# "lower_support": {"value": 45, "status": "optimal", "score": 100, ...}
# },
# "summary": "All correction points are at optimal pressure."
# }# Start monitoring
curl -X POST http://localhost:5000/api/compliance/start \
-H "Content-Type: application/json" \
-d '{"session_id": "patient_001"}'
# Log a pressure reading
curl -X POST http://localhost:5000/api/compliance/log \
-H "Content-Type: application/json" \
-d '{"session_id": "patient_001", "upper_support": 50, "middle_pressure": 60, "lower_support": 40, "skin_temp": 34.5, "brace_detected": true}'
# End session and get compliance summary
curl -X POST http://localhost:5000/api/compliance/end \
-H "Content-Type: application/json" \
-d '{"session_id": "patient_001"}'
# Response:
# {"total_wear_minutes": 480, "total_wear_hours": 8.0, "compliance_percentage": 5.8, "status": "poor"}AIS is an abnormal lateral curvature of the spine that develops in adolescents (ages 10-18) with no known cause. It affects 2-3% of adolescents and is the most common spinal deformity in children.
Detection (Cobb angle measured via X-ray)
│
├── Mild curves (< 25°) → Observation + Schroth exercises
│
├── Moderate curves (25°-40°) → Bracing + Schroth exercises
│ └── Goal: Prevent progression to surgical threshold
│
└── Severe curves (> 40-50°) → Spinal fusion surgery
└── This tool aims to keep patients in the bracing category
The brace applies corrective forces at specific points on the torso to prevent the curve from worsening during growth. The BrAIST trial proved:
| Brace Wear Time | Surgery Avoidance Rate |
|---|---|
| < 6 hours/day | 41% |
| 6-12 hours/day | 60% |
| 13+ hours/day | 90% |
| 18+ hours/day | 90-95% |
The Schroth method is a scoliosis-specific exercise approach that:
- Rotational Angular Breathing (RAB) — Targets rotated ribs to derotate the spine
- Muscle Cylinder Expansion — Activates weak concave-side muscles
- Postural Retraining — Corrects habitual movement patterns
The 2025 SOSORT guidelines recommend Schroth PSSE over traditional physiotherapy for all curve patterns.
Patient at home Clinic (every 4-6 months)
───────────── ──────────────────────────
Upload weekly photos X-ray + Cobb angle measurement
│ │
▼ ▼
See brace correction % Review PDF reports
Track trends over weeks Compare with previous visits
Get progression alerts Make treatment decisions
│ │
▼ ▼
Adjust brace/PT early ◄──────── Adjust treatment plan
│
▼
Avoid crossing surgical threshold
Contributions are welcome! Here's how to get started:
- Fork the repository
- Create a feature branch:
git checkout -b feature/my-feature - Commit your changes:
git commit -m "Add my feature" - Push to the branch:
git push origin feature/my-feature - Open a Pull Request
- Schroth Exercise Validation — Pose classification for specific exercises
- Real-Time Camera Overlay — WebRTC-based positioning guide
- Lighting Normalization — Image preprocessing for consistent results
- Cobb Angle Estimation — ML model trained on paired surface/X-ray data
- Multi-Language Support — Internationalization for global use
- Mobile App — React Native or Flutter wrapper
- Dark Mode — UI theme toggle
- Unit Tests — Pytest test suite for all analysis modules
MIT License — see LICENSE for details.
This application is for educational and monitoring purposes only.
This application is designed to assist parents and caregivers in tracking scoliosis treatment progress between clinical visits. It is not intended to be used as a substitute for professional medical advice, diagnosis, or treatment.
- This application is not a medical device and has not been reviewed or approved by the FDA or any medical regulatory body.
- The metrics displayed are estimates based on computer vision analysis of 2D images and should not be used as a basis for medical decisions.
- Always consult a qualified healthcare provider (physician, orthopedic specialist, or physical therapist) for clinical decisions regarding scoliosis treatment.
- Never ignore professional medical advice or delay seeking it because of information obtained from this application.
The author, Srinath Sankara, and contributors to this project assume no responsibility or liability for any direct, indirect, incidental, special, exemplary, or consequential damages arising from:
- Use or misuse of this application
- Any medical decisions made based on the output of this application
- Any errors or omissions in the content of this application
- Any interruptions or errors in the operation of this application
By using this application, you acknowledge that you have read this disclaimer, understand its contents, and agree to use this application solely at your own risk.
Use of this application does not create a doctor-patient, therapist-patient, or any other professional healthcare relationship between the user and the application author.
Created by Srinath Sankara
Built with care for the scoliosis community.
If this tool helps your family, please consider sharing it with other families affected by scoliosis.