Specialized: API, Mobile, Desktop
When you want one slice — backend only, Expo mobile, or Wails desktop.
Three modes for when you want one slice instead of the full triple: API-only, Mobile, and Desktop. Each has its own course in the Learning Paths section.
API-only
$grit new my-api --api
Pure Gin + GORM Go backend. No frontend. Auto-served OpenAPI docs at /docs. Ships every battery (auth, jobs, mail, storage, AI, Sentinel + Pulse) — just no UI.
When to use:
- Backend for a mobile-only product (bring your own iOS / Android client)
- Backend for a Discord / Slack / Telegram bot
- Backend for a native desktop app you're building separately
- Microservice in a larger system (a Grit project consumed by other services)
Mobile (Expo + API)
$grit new my-app --mobile
A monorepo with apps/api (Go) and apps/mobile (Expo). Shared types via grit sync. Mobile-friendly auth (refresh tokens in SecureStore), EAS Build configured, push-notification scaffolding.
When to use:
- Mobile-first product where the web is secondary or absent
- Field-service apps (drivers, technicians, sales reps)
- Consumer apps for iOS + Android
Desktop (Wails + GORM)
$grit new-desktop my-app
Standalone Wails v2 app — Go bound to React via Wails. Local SQLite (offline-first), local auth, in-app auto-updater, NSIS installers (full + slim), branded MUI. Different command (new-desktop instead of new) because it's structurally different from the rest.
When to use:
- POS systems / kiosks that need to work offline
- Field service tools that go to areas with no internet
- Single-user apps where the data should stay on the user's machine
- Tools that need access to OS-level features (filesystem, native dialogs)
grit new my-app --triple --desktop gives you the SaaS shape + a Wails desktop client. --triple --mobile adds an Expo app to the triple monorepo. The seventh course ("Multi-Platform") covers exactly this.Mode at a glance
| Mode | Output | Best for |
|---|---|---|
| --single | One Go binary + embedded React | Self-hosted, indie, MVP |
| --single --vite | One Go binary + embedded Vite SPA | Internal dashboards, fast cold starts |
| --double | apps/web + apps/api | Public product, no admin needed |
| --triple | web + admin + api | SaaS (the default recommendation) |
| --api | apps/api only | Bring-your-own-client backends |
| --mobile | api + Expo mobile | Mobile-first products |
| new-desktop | Wails app (standalone) | Offline-first / native |
Quick check
Try it
For each of these ideas, write down the right command in notes.md:
- Open-source feature-flag service (one binary, web UI to toggle flags, no admin staff)
- Restaurant POS that runs on a tablet without internet
- Discord bot that watches GitHub repos for new issues
- Fitness tracker with iPhone + Android app
What's next
Final lesson — a decision tree to pick the right kit for any idea without having to memorize the table. After that, the chapter assignment is "match 3 of your own product ideas to the right kits."
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