The Veil · El Velo
A playable Rawls experiment: write six social policies, then live through the outcomes they create.

Private, playable prototype. The portfolio does not present a public deployment.
The idea
The Veil asks players to set the rules of a society before they know who they will become inside it. They choose six policy levers, then experience a series of lives shaped by those choices.
What I built
The core is a pure TypeScript model that runs without the interface. It derives social conditions from six levers, generates seeded citizens and lives, and scores the resulting distribution. A headless harness searches the model’s lever space, and the test suite checks that selected balanced rulesets outperform the project’s equality and laissez-faire extremes. This validates the behavior of this designed model, not a general philosophical claim.
React and Zustand present the model through a Spanish-first legislative interface, a veil-lift sequence, life reels, and a shareable constitution card. The product includes a deterministic Daily mode, streaks, local persistence, reduced-motion support, an error boundary, and Capacitor configuration for native sharing and haptics.
The hard parts
01
Giving fairness a model
Terms such as fairness, opportunity, and protection become meaningful only when they change outcomes. Each lever needed a visible cost, benefit, and relationship to the lives it affects.
02
Testing the premise before polishing it
The interface could not rescue a model whose incentives contradicted its idea. Headless checks make the intended tradeoffs explicit and expose when a modeled extreme wins unexpectedly.
03
Letting outcomes make the argument
The design does not label a player’s choices as morally correct. It shows the distribution of lives they created, then gives them room to reflect on the result.
What’s next
Secure a distinct public domain and verify a production web deployment before release.