Projects / WAT
ActiveWAT: from designing a classroom app to building research software end‑to‑end
1 / 6The legacy feedback screen: each measure as a bare 0 to 100 bar, above a fixed letter template
- Product
- WAT Researcher and WAT Classroom, the two apps of the Writing Analytics Toolkit (WAT)
- Role
- Designer on WAT Classroom
- designer and developer of WAT Researcher, end to end
- Team
- Nishad P, 1 designer, LEI's engineering team of 4, 3+ researchers
- Timeline
- 2023 onward, alongside my other work at LEI
- Status
- WAT Researcher: a free desktop app for Windows and macOS, with a web version in internal beta
- WAT Classroom: live
- Made for
- ASU's Learning Engineering Institute (LEI), funded by the Institute of Education Sciences (IES)
- Built with
- Figma
- Angular
- CSS variables
- Python
- SQLite
- PyInstaller
- Electron
WAT Researcher measures any piece of writing, from one essay to a corpus of 50,000 texts, on more than 3,000 language features, from vocabulary and cohesion to syntax and sentiment.
Its measures follow SALAT, the linguistic analysis suite from Scott Crossley, Danielle McNamara and colleagues. It runs on your own computer, gives the same output for the same input, and returns raw numbers researchers can use as evidence.
Its sibling, WAT Classroom, turns these measures into formative feedback teachers and students can digest.
I started on WAT Classroom in 2023, testing and then designing it, and making raw measures usable for teachers and students. Then I took on WAT Researcher, still a one-window form, and designed and built a web app for it.
When LEI's servers couldn't carry its core, I pitched a desktop app, then designed, built and packaged it end to end. LEI's researchers now use it for their own research.
Impact
30papers and talks
My direct impact on research, since I began at the lab
30 papers and talks, three of them with me as an author (JEDM, 2026; LERN, 2026; a FOLC Fest 2026 poster).
Research
- Human-AI collaboration for qualitative analysis in participatory design: Refining the Writing Analytics Tool (JEDM, 2026; 3rd of 11 authors)
- The Writing Analytics Tool: A Learning Engineering Approach to Designing AI-Supported Writing Instruction (LERN 2026; 5th of 9)
more than5,000distribution requests
Next, everyone who requests Coh‑Metrix
Coh-Metrix is the older tool WAT Researcher upgrades. Its desktop version, which I distribute, has gone out in answer to more than 5,000 distribution requests since 2023, from universities worldwide and from people at Fortune 500 companies such as Google, Microsoft and Meta. They get WAT Researcher next.
Free, where a commercial tool charges
A commercial API for LIWC$1,000 a monthWAT Researcher measures more than 3,000 featuresfor freeA commercial API for LIWC, one widely used set of language measures, costs $1,000 a month. WAT Researcher measures more than 3,000 features for free.
40earlier papers and talks
The groundwork it builds on
40 earlier papers and talks, from before I joined.
Real research use
LEI's researchers, from postdocs to an assistant director, use WAT Researcher in their active research, and more join all the time.
Public
A free download for Windows and macOS, so it reaches researchers I may never hear of.
Classroom
WAT Classroom's feedback scales are in use across many of LEI's studies.
WAT Classroom: where I started
From tester to designer.
- My first assignment was usability-testing the existing student and teacher interface.
- I fixed what I found, starting with a first big round of bug and dev fixes, then designed the major user flows, across 50+ screens, and tested them in usability studies.
- There was no design practice, so I set one up, with a style guide built on CSS variables.
WAT Classroom: testing, fixes and a design practice.
Feedback people can digest.
The NLP returns raw numbers, but Classroom's feedback had to be simple and subjective at the same time.
A 2024 focus-group study with nine writing instructors (JEDM, 2026) set the priorities:
- 01clearer feedback
- 02more customization
- 03less admin work
- 04a simpler interface
WAT Classroom: from raw numbers to feedback people can digest.
The legacy screen showed bare 0 to 100 bars.
The legacy feedback screen: each measure as a bare 0 to 100 bar, above a fixed letter template
Rubrics teachers build.
I designed a rubric builder where teachers make their own rubrics, like Canvas's, but better. It's live, though the studies haven't picked it up yet.
WAT Researcher: built end to end
Where it started.
A one-window form: tick categories of measures, pick a folder and one text, choose where the CSV goes, press Start. One essay type; results only as a CSV.
The old one-window form: tick categories, pick a folder and one text, save a CSV A web app that couldn't scale.
The first ask was a version on LEI's servers, so I designed and built a web UI in Angular. But the NLP core was too heavy on memory and compute to serve many researchers at once. Three backend developers worked to slim it, but it couldn't be done in time, so the web UI was shelved.
The web UI I built first, later shelved: create an analysis on the left, a task queue on the right The pivot I led.
Building a Figma plugin had taught me that Figma is a web app running through Electron on the user's own machine.
So instead of scaling the server, I pitched a desktop app, with the heavy work on the researcher's own computer.
It was an economic call too: LEI's resources were limited. I learned the stack and built it, by hand at first, before agentic coding came into my work in late 2025.
Designed for a researcher's own machine.
A desktop app needed a way to organize files and analyses, so researchers manage their work inside it as projects, corpora and analyses.
1 / 2The information architecture: projects, corpora and analyses, with duplicating, notifications, and outputs opened from the app The wording is local: you load files instead of uploading them, and results are written to your computer, so you open the CSV or preview it instead of downloading it.
Measures are chosen in levels, so researchers know what they're picking from 3,000+.
An analysis runs with a processing status while you keep working elsewhere in the app.
And since an analysis is just a corpus and a few settings, any analysis can be duplicated, to replicate conditions and control variables more easily.
WAT Researcher: the desktop app.
1 / 5Creating an analysis: metrics chosen in levels, by measure group and by SALAT tool, each with a description Back end and packaging.
I wrote the Python and SQLite back end and packaged the app:
- 01PyInstaller bundles the NLP core
- 02Electron wraps it all into one app
- 03I did the Apple signing so macOS will open it
The NLP core, and the automatic signing and hosting, are the engineering team's work.
My team and I ran two informal usability studies inside LEI, and the postdocs who tested it went on to use it.
WAT Researcher: back end and packaging.
1 / 3The packaging diagram: the metrics core, the back end and the Angular front end, turned into one installer through PyInstaller and Electron Back on the web, on my UI.
Shipping the desktop app first meant researchers weren't left waiting.
Once we had the time and resources, the engineering team slimmed the core: the Windows setup went from about 1.2 GB to 700 MB, and it's still shrinking.
the Windows setup
about 1.2 GB700 MBThey adapted my desktop UI for the web, with limits of 10 analyses in any 24 hours, 10 texts each.
It's in internal beta:
- quick checks on the web
- large corpora on the desktop
The web version, on my desktop UI.
1 / 2An analysis running at 40%, with a processing status; the run continues if you leave the screen
Reflection
Going from data-dense UI and flows to envisioning and creating a complete application, down to its packaging, was a surreal experience, and it feels good that an application I made will reach researchers at universities across the world and at Fortune 500 companies. As agentic coding and UI become cheap, WAT Classroom's interface may lose some of its value, but the conceptual weight of its visualizations stays.
What sets WAT Researcher apart is the difference between evidence-based NLP measures and LLM-based analysis: it produces some of the inputs an LLM might use.