---
title: Markless
description: Write plain components. The compiler plans every update before your app runs, and the same component renders in the browser, on a server, or in tests.
mode: center
---

Write `count++`. The compiler plans every update before your app runs. Then render it anywhere.

Pick each of the four places to render it, then click **Count**.

<StartHeroFigure />

Notice that every place gives the same page and the same click. Your component runs once.

:::warning[Temporary community docs]
These docs follow the Markless source at 0.5.0. The npm `latest` tag is still 0.4.0.
:::

**[Start here](/start/what-is-markless)**

The mental model and your first app.

**[Writing components](/components/tsrx-syntax)**

The `.tsrx` language.

**[State and events](/state/state)**

State, computed values, events, and async data.

**[Build an app](/apps/routing)**

Multi-page apps with file routes.

**[UI components](/ui/overview)**

Headless parts from `@markless/ui`.

**[Tooling](/tooling/editor-setup)**

Editor, type checks, tests, and diagnostics.

**[Under the hood](/how-it-works/design-choices)**

For contributors and the curious.

**[Contributing](/contributing/repo-tour)**

The repo and your first pull request.

**Next:** What does the compiler plan, exactly? [What is Markless? →](/start/what-is-markless)
