exoDocs

The stack

02 · Development framework

Every Exo app is written in strict TypeScript with React, on Next.js for the web and Expo for mobile. One opinionated path.

Dimension
02 · Development framework
Platform
Next.js + TypeScript + React
Next.js
Open-source (MIT) React framework for every Exo web app: routing, rendering, and APIs. Core standard · authority: EXO
TypeScript
Open-source (Apache-2.0) typed JavaScript, strict mode, for all application code. Core standard · authority: EXO
React
Open-source (MIT) UI library shared by web (Next.js) and mobile (Expo) apps. Core standard · authority: EXO
Status
Proposed (2026-10-02), pending team confirmation. Exo itself already runs on it; the repository contract still allows other frameworks until this is confirmed.

What it is

The framework dimension answers: what is every app written in? One answer for every app: TypeScript, React, and Next.js for the web, and the same TypeScript and React on Expo for mobile (Deploy). There is no second path: no Svelte, Remix, Vue, or Angular.

One path means code, components, agents, and people move between apps without relearning a stack, and every Exo service (exo-verify, exo-analyze, Exo Key, the design system) is built and tested for exactly one target.

Platform

  • Next.js (MIT, Vercel) for web apps: routing, server rendering, and API routes. Exo runs on Next.js 16.2 and React 19.2.
  • TypeScript (Apache-2.0, Microsoft), strict mode, for all application code. JavaScript application sources are disabled (already required by the repository contract).
  • React (MIT, Meta) for UI, shared by web (Next.js) and mobile (Expo / React Native).

All three are open source. Developers use them directly. Exo does not wrap or rename them.

Boundary and replaceability

  • The framework is a convention, not a hosted service, so there is no account, key, or bill.
  • Next.js runs on any OCI host: Exo apps build to a standard container (Deploy) and do not depend on Vercel.
  • Replacing the framework is a portfolio-wide migration, not a per-app choice. That is the point of an opinionated stack.
  • Open change: the repository contract currently says "Application framework choice remains independent". It changes to Next.js + TypeScript + React once the team confirms this page.

Cost notes

  • License cost: $0 (MIT and Apache-2.0).
  • The cost of one path is the alternatives given up: a team that prefers Svelte or Remix must build outside Exo.

Status

  • Live: Exo, Construct, and the portfolio web apps already use Next.js, TypeScript, and React.
  • Proposed: making it mandatory for every Exo app (pending team confirmation, 2026-10-02).

Source: content/docs/stack/framework.mdx

On this page