Choosing the right kit

A decision tree and the Stack Selector tool.

5 mineasy

You've seen every mode. Now the framework for picking — a decision tree you can run any new idea through and land on the right command without memorizing the table.

The decision tree

Will your product run offline (no internet)?
ā”œā”€ā”€ YES → grit new-desktop my-app [Wails desktop]
└── NO →
Does it have a frontend?
ā”œā”€ā”€ NO → grit new my-app --api
└── YES →
Is the frontend mobile?
ā”œā”€ā”€ YES → grit new my-app --mobile
└── NO (web frontend) →
Do you need a separate admin panel for staff?
ā”œā”€ā”€ YES → grit new my-app --triple
└── NO →
Single binary deploy?
ā”œā”€ā”€ YES → grit new my-app --single
└── NO → grit new my-app --double

Three quick rules of thumb

  • Default to triple. When in doubt, use --triple. You can ignore the admin app if you don't need it today, and it's already wired when you do.
  • Skip the admin only when you're sure. Most products eventually need one — support staff, ops, finance. Pre-wiring it beats retrofitting.
  • Mobile + desktop are surfaces, not modes. Add --mobile or --desktop to triple if you need both. Don't treat them as exclusive picks.

The Stack Selector tool

Don't want to memorize the tree? Use the Stack Selector on the docs site. Answer 4 questions, get the exact command. Same logic as the decision tree above, in a UI.

Pro tip: Once you have a Grit project, you can change modes by re-scaffolding — you just don't want to. Pick consciously the first time.

Real-world examples

ProductCommandWhy
Linear-like task tracker--tripleSaaS with admin (billing, support)
Self-hosted Plausible alternative--singleOne binary, customer-managed
Coffee-shop offline POSnew-desktopNo internet during rush
Stripe-like payments backend--apiSDKs in many languages, no web UI from us
Habit-tracking app--mobilePhone-first, no web companion
Boda-boda dealership (Grit demo)--single --viteOne binary deploy, dashboard-only UI

Quick check

A friend is starting an event-ticketing platform. They want a public site to buy tickets, an admin for the venue owner to manage events, and they want eventually to ship a mobile app for scanning tickets at the door. What do you tell them?

Try it

The chapter assignment is waiting — "Pick the right kit for three ideas." Open it from the sidebar and tackle it now. Pick three real product ideas (yours, your friend's, anything from HN), trace each through the decision tree, and write one paragraph justifying your pick.

The trick: try to pick three DIFFERENT modes. That forces you to find ideas that genuinely justify different shapes.

You've finished Grit Concepts šŸŽ‰

Five chapters, ~20 lessons, five assignments. You can now:

  • Explain what Grit is in 30 seconds
  • Install + verify the CLI and keep it updated
  • Scaffold a project, navigate every folder, run the dev servers
  • Recognise the naming conventions and API response shapes
  • Generate a resource end-to-end and keep types in sync
  • Pick the right architecture mode for any product idea

Next, pick one of the specialist courses based on the kit you want to dive deeper into: Building a Go API, Web with Next.js, Mobile, or Desktop. All assume the foundation you just finished.

Spot a typo? Have an idea?

Help us improve this lesson. One click opens a GitHub issue with the lesson URL pre-filled — suggest clearer wording, report a bug, or request more depth. The course keeps improving thanks to learners like you.

Suggest an improvement on GitHub