Logit
- psychometrics
- rasch
- next.js
- fastapi
- R
- supabase
Rasch measurement is the psychometrician's sharpest tool: it puts people and test items on the same interval scale (measured in logits, hence the name), so you can say not just who scored higher but how hard each item actually is and whether the test measures one thing or several. The estimation methods are mature and well-validated. The software around them mostly runs on Windows, costs a small fortune, and looks its age.
Logit is the browser-based workbench I wanted when I was running these analyses as a psychology researcher. You upload a response matrix from a test or survey, and it calibrates item difficulties and person abilities onto one shared logit scale. It fits all three of the common Rasch models (dichotomous, Rating Scale, and Partial Credit) and estimates them by joint maximum likelihood through the R package TAM or conditional maximum likelihood through eRm, with the option to run both and compare where they agree.
From there it produces the full diagnostic suite: interactive Wright maps, item characteristic curves drawn over the empirical data, infit and outfit statistics, category-structure analysis, Mantel–Haenszel screening for differential item functioning, and raw-score-to-measure conversion tables, with AI-assisted plain-language interpretation of what the numbers mean. Data comes in as CSV, TSV, Excel, or SPSS; results go out as publication-ready SVG and PNG charts and PDF reports.
The part I care most about is validation. Every estimate Logit produces is checked against five independent published calibrations: the Winsteps "Liking for Science" textbook example, a 2019 operational Winsteps study, the LSAT-6 item set via the ltm package, cross-engine agreement between the joint- and conditional-ML estimators, and the Knox Cube Test from Wright and Stone's Best Test Design. Logit reproduces the published numbers to within a few hundredths of a logit, and those checks run as automated tests on every change. A public validation dossier shows the comparisons, and a "Learn Rasch analysis" section teaches the method with draggable ICC and category-threshold demos.
Under the hood it's a Next.js front end, a FastAPI service for uploads and orchestration, an R plumber engine (TAM, eRm, and ltm) doing the psychometrics, and Supabase for auth and storage. It's in active development as a private beta: the pipeline runs end to end and the validation suite is green. I'm building it because measurement theory and modern web tooling almost never meet, and this is the project where my two careers most literally overlap.