Whitehall

The modern Android toolchain

Build native Android apps
at lightning speed

Declarative UI. File-based routing. Zero-config tooling. Ship production apps in minutes, not days.

$
curl -fsSL https://whitehall.sh/install | bash
UserCard.wh Whitehall
@prop val user: User

<Column class="gap-16 p-20">
  <Image src={user.avatar} class="w-64 h-64" />
  <Text class="text-xl font-bold">
    {user.name}
  </Text>

  @if (user.isVerified) {
    <Badge color="primary">Verified</Badge>
  }

  <Button onClick={() => $navigate("/profile")}>
    View Profile
  </Button>
</Column>

100% Native

Compiles to pure Kotlin/Compose. Zero runtime. Zero overhead.

Instant State

Reactive by default. Just use var and watch it update.

Automatic Routing

Drop a file. Get a screen. Navigation just works.

Zero Setup

No Gradle. No SDK installs. Just code and run.

Batteries included

One toolchain. Everything you need to build, test, and ship Android apps.

Data Fetching

$fetch with caching, loading states, and error handling built in.

Animations

Page transitions, list animations, and shared elements with simple directives.

Navigation

Type-safe $navigate with params, state, and deep linking.

State Management

Reactive var, global stores with @store, and ViewModels.

Background Work

$dispatch and $periodic for WorkManager tasks.

Developer Tools

Built-in formatter, linter, and hot reload for fast iteration.

Start building today

One command to install. Three commands to your first app.

Whitehall Built with love for Android developers