Senior project · 7-person team · Sep–Dec 2024
Pointing Span Test Web App
A remote cognitive assessment platform for clinicians to administer tests and analyze patient results.
My role: Owned database setup, data-aggregation pipelines and user-facing reports.
- Python
- Django
- SQLite
- Bootstrap CSS
Developed a Django web application that enables clinicians to generate secure links for patients to complete a digitized pointing-span cognitive assessment remotely.
Designed an accessible test interface that presents stimuli audibly and visually, captures responses through an on-screen keyboard, and records latency metrics.
Built a clinician dashboard for creating tests, monitoring completion status, and reviewing individual test analytics.
Created a data aggregation pipeline that summarizes results and compares individual performance with collected averages to support pattern discovery.
How it works
The path of a single test, from the clinician creating it to the results report.
Clinician creates a test
A signed-in clinician enters the patient's ID and age and gets a unique test link to send to the patient.
Patient takes the test remotely
Digit and mixed letter-and-digit sequences are presented visually and read aloud; the patient answers on an on-screen keypad and the latency of every keypress is recorded in milliseconds.
Database
Built by meStimuli, tests, and responses sit alongside the two statistics tables I added. Every migration seeds the database with the stimuli and 120 synthetic completed tests spread evenly across six age groups, so averages are meaningful before real patients exist.
- stimulus
- test
- response
- individual_statistics
- aggregated_data
Aggregation pipeline
Built by meTurns a completed test into accuracy and average latency for the digit and mixed tasks, rolls those up into averages for each age group, and ranks the patient as a percentile against peers of the same age.
Clinician dashboard and reports
A doctor-only dashboard charts the results, lists open and completed tests, and exports them as CSV or JSON. I added the controls that aggregate a test by patient ID and recompute percentiles and age-group averages.
- Source private