Skip to main content
A Stardeck app is stock Next.js — App Router, React Server Components, page.tsx, route.ts, layout.tsx, Tailwind. Nothing proprietary replaces the framework, and your React is portable. What differs is everything around it: where requests are decided, where data lives, who holds credentials, and who owns keeping the app current.

At a glance

What this buys and what it costs

The trade is deliberate: less infrastructure to own, fewer places to be inventive. Every constraint is written down, and each one is enforced by something you can see — a lint rule, a build failure, or a file header.

The upgrade rail

The part with no equivalent in a normal project. A repository someone hands you is frozen the day it ships. Here, the platform ships versioned upgrade steps that run against existing apps: they install new SDK versions, rewrite platform-owned files, and — when a change is breaking — carry instructions that let the agent rewrite your call sites. Which changes how you write code, in two ways:
  • Stay on the SDK surface. Code that uses an SDK’s documented API is carried forward. Code that reaches around it — hand-built platform requests, copies of generated files — is what breaks on upgrade.
  • AGENTS.md is not yours to edit. It is regenerated every upgrade. Project conventions belong in a file the platform does not own.

Still Next.js

Things that work exactly as you expect, with no Stardeck-specific wrapper: the App Router and route groups, Server Components and Server Actions, layout.tsx composition, streaming, next/image (against configured hosts), Tailwind, react-hook-form, TanStack Query, Zod, Playwright and Vitest. If a Next.js pattern is not listed on the Constraints page as restricted, assume it works.