Learning software · Educational tool, production

CalTPA Writing Studio

A drafting workspace for California teaching candidates writing the CalTPA, with templates for each part, a standards library, and keyword analytics.

Role
Design & development
Period
2026
Status
Live, with a public demo
Platform
Cloudflare Workers, D1
Built with
  • React
  • TypeScript
  • Vite
  • Cloudflare Workers
  • D1
  • PBKDF2 and HMAC auth
5
templated assessment parts: A, B, C, G, and H
14
pages in the credential pathway guide
28k
lines of code, approximately
01

The problem

Teaching candidates in California write long, structured responses for the CalTPA. The work is split into parts with specific requirements, and a candidate needs to see whether a draft addresses the rubric's categories before submitting it.

From blank page to checked draft

Choose a partA, B, C, G, or HDrafta template perpartStandardsbuilt-in libraryKeyword checkradar bycategory
02

What it does

  • Templates for Parts A, B, C, G, and H.
  • A searchable library of the relevant standards.
  • Keyword highlighting and a radar chart of how well a draft covers each keyword category.
  • A 14-page guide to the credential pathway.
03

How it is built

Two Cloudflare Workers and a D1 database with prefixed tables. Accounts use PBKDF2 password hashing and HMAC-signed sessions, and new accounts wait in an approval queue. The public demo runs without an account and keeps drafts in the browser.

Scope & limitations

The public demo stores drafts only in the browser. It does not guarantee a score or a credential.

Display settings

Choose a layout and palette. Your settings are saved in this browser.

Palette
Homepage layout
Motion

Display settings do not change the project selection or publication permissions. Orbital and index layouts use the same project data.

Harmonic drawing

The homepage drawing is a small interactive made for this portfolio. It is separate from the project examples.

3
25

Drag across the center drawing or use these controls. The drawing does not require sound, network access, or continuous animation.