Skip to content
Back to the path

Unit 2 of 7

Open

Day 2 — A real build runs

What you have afterwards: The project starts on a device or in the browser — empty, but real.

Goal

You set the project up and get it running once, all the way through.

Understand briefly

An app is more than a wrapped website. Interface and core assets belong in the local bundle, navigation has to be thumb-friendly and respect safe areas, the back gesture, the keyboard and resuming. A wrapper around a remote website saves build time today and costs you offline quality and review safety tomorrow. Also separate interface and domain logic from the start — that is the cheapest extensibility you can get.

Follow along

Paste this prompt into the AI tool you work with:

I am setting up a new app project. Target platform: [PLATFORM]. Language/framework: [YOUR CHOICE].

1. Create the project and explain every file you generate in one sentence.
2. Set up navigation with two screens that respects safe areas.
3. Split interface and domain logic into separate folders and justify the cut.
4. Give me the exact command to run the project locally.

Change nothing outside these four points.

Build it yourself

Actually start the project once — on your device or in the browser. Create separate environments and, if your platform requires it, the app identifier and signing.

Verify

Only tick a box once you have really checked it. These criteria are the only way to finish this unit.

0 of 3 confirmed

Still open: 3 criteria

Self-check

Three questions about decisions you made today. There are no points and no grade — only the why. Every answer can be changed.

1. You consider building your app as a shell around an existing website. What is the honest price?
2. When have you seen your first real build?
3. How do you measure whether your navigation is thumb-friendly?

0 of 3 answered

Next step

Tomorrow this empty shell gets its core loop.

Next: Day 3 — Your core loop works

Privacy setting

With your consent, PostHog EU measures which pages are opened and additionally records your session: mouse movement, clicks, scrolling and the rendered page content are stored as a replayable reconstruction. Typed input is masked before sending. The contents of sign-in, sign-up, password recovery, the founder chat, the newsletter field, your email display, your quiz answers and the checklists are not recorded at all; on the sign-in and sign-up pages recording is paused. Addresses are always stored without query parameters. A random device identifier and technical connection data such as the IP address are processed as well. In addition, strictly defined usage events are measured: how far a post was read, which article element was used, which call to action was clicked, how a newsletter sign-up ended, how far you get in a course or in the feed (recording only whether a task was correct or incorrect, never your answer itself), which video you start, whether you switch the language, and how a sign-in or sign-up attempt ended — without the email address, without the password, and without the error message. Only values from a fixed list and whole numbers from fixed ranges are transmitted — no input and no free text. We also label production, internal, and automated test visits separately and derive whether a visit came from a known interface such as ChatGPT, Claude, or Perplexity from a known referring domain or a strictly allowed campaign value. The full referring address and query parameters are not sent, and this cannot identify a specific AI model. If PostHog's IP-based geo enrichment is enabled in the project, the service can derive an approximate country, continent, and region; we do not request browser or GPS location. Every visit is also assigned to a page area from a fixed list (for example home, blog, tools, account) — the area is sent, not the address. Page loading and stability metrics are measured as well (Core Web Vitals: LCP, CLS, INP, FCP), without network payloads. A click on a link leading away from the site is recorded only as the target domain from a fixed list, without path, query parameters, or link text. For the Idea Wheel, AI Labelling and Limit Reset tools only the kind of action is measured — spin, option changed, copy or export, for instance — never your input and never a result. Learn more about privacy

Without your consent no analytics code is loaded and nothing is recorded. You can withdraw at any time: withdrawal ends collection immediately; data already collected may have been transmitted by then and is deleted after the storage period.