← All case studies
Boise State University logo
Case study · Boise State University

The Write Class™: algorithmic course placement

The First Year Writing Program had an algorithm to guide incoming students into the right writing class. We turned The Write Class™ into a full-stack web application, launched spring 2018.

The Write Class™: algorithmic course placement
Client
Boise State University
Engagement
Full-stack build
Platform
Web · Serverless · SSO
Live product
View live →
SOC 2
Compliant hardware, data encrypted in transit and at rest
Serverless
AWS Lambda scales for orientation spikes, idle in between
Self-directed
Students placed via flexible, branching forms
The challenge

Turn a placement algorithm into a secure web app

The First Year Writing Program team approached us to implement The Write Class™ algorithm as flexible forms with various branches, ensuring data security in transit and at rest on SOC 2-compliant hardware in AWS.

It also needed to integrate with Boise State's Single Sign On, making the app easy for students, giving records a verified source of student ID, and enabling data integrations into the school's student information systems.

What we built

A complete placement platform

Branching form engine

A custom, complex form-based algorithm that results in an English course placement, built on react-jsonschema-form.

Saved progress

Student progress is saved so resuming an application (and reviewing placement results) is easy.

Admin workflow

Search student responses, review submitted material, and send accept/reject notifications by email.

Data integration & editing

An API to push results into student info systems, plus online editing of wording without developer involvement.

Built to scale only when it needs to. The app is used heavily 2–3 times a year during orientation and idle the rest of the time, so AWS Lambda scales for the spikes and stays low-cost in between.

Single Sign On using Boise State's existing student login system.
Single Sign On using Boise State's existing student login system.
Custom, complex form-based algorithm to identify student's course placement.
Custom, complex form-based algorithm to identify student's course placement.
Student progress is saved so resuming an application is easy.
Student progress is saved so resuming an application is easy.
Admin workflow for reviewing submissions and sending decisions.
Admin workflow for reviewing submissions and sending decisions.
Data integration API to push results into student info systems.
Data integration API to push results into student info systems.
Our role

Software architecture and programming for both the front-end and API.

Cloud architecture and hosting on an AWS serverless stack.

Integrating with Boise State's Single Sign On (OpenID Connect).

DevOps and full CI/CD within GitLab, with weekly sprints managed in Pivotal Tracker.

Technologies used
UI
ReactReduxBootstrapreact-jsonschema-form
API
Node.jsKoaPassport.js
Cloud: Amazon Web Services
Lambda + API GatewayRedisRDS PostgresCloudFront + S3
Project management
Pivotal TrackerGitLabZendeskSentryPingdom
Technology details

We chose React for the front end. The project hinged on a lot of data from the custom forms we were building, and the open-source mozilla-services/react-jsonschema-form gave us a solid foundation for that form logic. We paired it with Redux as a central store for one-way data flow, breaking the complex data transformations into isolated, debuggable pieces.

Node.js was a natural fit for the API: it stays small, lets us share data-validation libraries between the front end and API, and runs well on AWS Lambda. Lambda matters here because the app is used heavily for just 2–3 weeks a year during orientation and is mostly idle otherwise, so it scales for the spikes and costs almost nothing in between.

We hosted on AWS to make it easy to meet the requirement of SOC 2-compliant hardware with data encrypted in transit and at rest.

The outcome

Live since spring 2018, and growing.

We're looking forward to working with the TWC team on future phases and bringing more universities onto the platform.

View the live project →

Have an idea on a deadline?

We turn ambitious ideas into shipped products, and leave your team able to run them.

Start a project