Dressage Analytics Web Platform
Budget: $1,000 – $2,000 USD
I’m building an MVP web application that ingests raw dressage-competition results, cleans and normalises them, then turns the data into meaningful insights for riders, horses and judges. The core entities are Athlete, Horse, Judge, Ride and Competition. For every ride I need to persist the full score sheet: numerical scores and free-text comments per movement, the linked athlete and horse profiles, and each judge’s evaluation line by line. That dataset drives three key analytics features—trend lines over time, side-by-side athlete performance comparisons, and judge scoring-pattern discovery—plus an additional AI layer that spots emerging patterns and auto-creates shareable reports.
Functional scope (MVP)
• Landing page with global search across athletes, horses, judges and shows
• Profile pages (Athlete / Horse / Judge) split into Overview, Results and Trends tabs
• Competition summary page showing classes, a panel list and an interactive judge map
• Ride viewer with movement grid, judge scores and comments
• Admin console (admins only) with import queue, log viewer and duplicate resolver
Technical preferences
Backend in Python 3.11+ using either Flask or FastAPI, PostgreSQL on AWS RDS with SQLAlchemy and Alembic migrations. Background imports can run through Celery or a simple cron. File storage should land in S3; CloudFront is optional. The front-end may be a React (Vite) SPA or server-rendered Jinja templates, styled with Tailwind. Email-and-password authentication and an admin role are required.
Data flow
1. Scheduled or manual import pulls XML/CSV files, validates and deduplicates entries
2. Cleaned data lands in PostgreSQL with proper foreign keys and versioning
3. Analytic workers roll up the metrics and store pre-computed results for fast loading
4. AI service (open to your suggestion: e.g. Python ML stack or an external API) mines judge bias, performance spikes, and other notable trends
Acceptance criteria
– A fresh AWS environment can be provisioned with IaC scripts or clear instructions
– All five UI views load in modern browsers with Tailwind styling applied
– Global search returns correct entity cards in
Functional scope (MVP)
• Landing page with global search across athletes, horses, judges and shows
• Profile pages (Athlete / Horse / Judge) split into Overview, Results and Trends tabs
• Competition summary page showing classes, a panel list and an interactive judge map
• Ride viewer with movement grid, judge scores and comments
• Admin console (admins only) with import queue, log viewer and duplicate resolver
Technical preferences
Backend in Python 3.11+ using either Flask or FastAPI, PostgreSQL on AWS RDS with SQLAlchemy and Alembic migrations. Background imports can run through Celery or a simple cron. File storage should land in S3; CloudFront is optional. The front-end may be a React (Vite) SPA or server-rendered Jinja templates, styled with Tailwind. Email-and-password authentication and an admin role are required.
Data flow
1. Scheduled or manual import pulls XML/CSV files, validates and deduplicates entries
2. Cleaned data lands in PostgreSQL with proper foreign keys and versioning
3. Analytic workers roll up the metrics and store pre-computed results for fast loading
4. AI service (open to your suggestion: e.g. Python ML stack or an external API) mines judge bias, performance spikes, and other notable trends
Acceptance criteria
– A fresh AWS environment can be provisioned with IaC scripts or clear instructions
– All five UI views load in modern browsers with Tailwind styling applied
– Global search returns correct entity cards in
Related categories:
PHP
Python
Website Design
Amazon Web Services
HTML
PostgreSQL
Flask
API Development
Web Application
FastAPI