How to Design an App: A Practical Guide for Non-Designers
How to design an app with no design background: define the problem, map flows, wireframe, set type, color and spacing, follow platform rules, test.

This guide is for founders, developers, PMs and anyone else who needs to design an app without being a trained designer. Learning how to design an app is mostly learning a sequence: decide what the app is for, map how people move through it, lay out the screens, then apply a small, consistent visual system that follows platform rules. You will get that sequence in ten steps, with the numbers, checklists and decisions that professional product designers use, so your first app looks deliberate rather than improvised.
TL;DR: Start with the problem and one core user flow, not with colours. Wireframe the screens that flow needs, then apply a simple system — one typeface, a type scale, an 8-point spacing scale, a small colour palette — and lean on iOS and Android conventions instead of inventing your own. Prototype it, test it with five real users, fix what breaks, and hand off with specs a developer can follow.
What "designing an app" actually covers
People often say "design" and mean "make it look nice". In product work, design covers four layers, and they should be done roughly in this order:
| Layer | Question it answers | Output |
|---|---|---|
| Strategy | What problem, for whom, and why would they use this? | Problem statement, target user, core value |
| Structure | What screens exist and how do people move between them? | User flows, screen inventory, navigation model |
| Layout | What goes on each screen, and in what priority? | Wireframes |
| Visual and interaction | How does it look, feel and respond? | High-fidelity screens, components, prototype |
Non-designers usually jump straight to the last layer. That is why so many first apps look polished but confuse users: the visual layer cannot fix a broken structure. Work top to bottom and the visuals become the easy part.
Step 1: Define the problem and the user
Write three sentences before you open any tool:
- •Who is this for? Be specific: "freelance personal trainers with 10–30 clients", not "fitness people".
- •What problem do they have today? "They track client sessions and payments in WhatsApp and a notes app, and lose track of who has paid."
- •What will the app let them do that they cannot do well now? "See every client's sessions and payment status in one place, and send a payment reminder in two taps."
If you struggle to write these, you are not ready to design screens yet. Talk to five people who match sentence one. Then turn what you learn into a short persona — the user persona generator gives you a structured template — and keep it visible while you design.
Step 2: Find the core loop
The core loop is the action people will repeat that delivers the value. For the trainer app: open app → see today's sessions → mark session done → see who owes money → send reminder.
Write yours as one line with arrows. This line is the spine of your app. Every design decision gets measured against it: does this help the user get through the loop faster or more confidently?
Then list everything else the app needs for that loop to work — sign-in, adding a client, settings — and be ruthless about what can wait. Our MVP app design guide has screen inventories for common app types and a method for cutting scope.
Step 3: Map the user flows
A user flow shows the steps and decisions a user goes through to complete one task. Draw the core loop first, then the supporting flows: first-time setup, adding data, error recovery.
Keep the notation simple: rectangles for screens, diamonds for decisions ("Has the client paid?"), arrows for movement. Include the unhappy paths — what happens when there is no network, the payment fails, or the list is empty. These are the paths that make an app feel trustworthy.
At the end of this step, you should have a screen inventory: a list of every screen and its purpose, usually 5–12 screens for a first version.
Step 4: Choose a navigation model
How people move around your app is one of the highest-impact decisions you will make, and both platforms give you strong defaults.
| Pattern | Use when | Platform notes |
|---|---|---|
| Tab bar (iOS) or navigation bar (Android) | 3–5 top-level destinations people switch between often | The standard for most apps; labels plus icons |
| Single stack with drill-down | One main list with details beneath it | Common for simple utilities |
| Navigation drawer | Many destinations, used less often | More common on Android and tablets; hides options |
| Modal tasks | Self-contained tasks like compose, add or checkout | Presented over the current screen, with Cancel and Done |
For most first apps, the answer is a tab bar with three to five tabs. Name each tab with a noun that matches what users think they will find there: Today, Clients, Payments, Profile.
Step 5: Wireframe the screens
Wireframes are grey-box layouts that show what goes on each screen and in what order of importance, without colour or styling. They let you rearrange quickly and argue about structure, not taste.
For each screen in your inventory:
- •Write the screen's single job at the top: "See today's sessions and mark them done."
- •List the content and actions it needs, in priority order.
- •Place the most important thing at the top and the primary action within easy thumb reach, usually in the lower half of the screen or as a full-width button above the safe area.
- •Sketch the empty, loading and error states as well as the full state.
Paper is fine for the first pass. Then move to a digital tool at real device size, such as a 393 by 852pt iPhone frame or a 412 by 915dp Android frame, so you see the real constraints. Our step-by-step guide on how to wireframe an app goes deeper on this stage.
Layout rules that work on almost every screen
- •One primary action per screen. Make it visually dominant. Secondary actions are quieter.
- •Group related things and separate groups with more space than you use inside them.
- •Put content before chrome. Toolbars and decorations should not push the main content below the fold.
- •Design for the thumb. Frequent actions go where a thumb reaches comfortably; destructive or rare actions can sit higher.
- •Respect the safe areas. Keep content clear of the status bar, Dynamic Island or camera cutout, and the home indicator.
Step 6: Set up a small visual system
This is where non-designers usually feel out of their depth, but you only need four decisions, made once and applied everywhere.
Typography
Use the platform's system font — San Francisco on iOS, Roboto (or the device font) on Android — unless you have a strong brand reason not to. System fonts are legible, support dynamic type, and look native.
Then define a type scale with a small number of styles:
| Style | iOS default size | Use |
|---|---|---|
| Large title | 34pt | Top of main screens |
| Title | 22–28pt | Section and screen titles |
| Headline | 17pt semibold | Card titles, list item titles |
| Body | 17pt | Main reading text |
| Subhead or callout | 15–16pt | Supporting text |
| Footnote or caption | 12–13pt | Metadata, timestamps, helper text |
On Android, Material 3 defines a similar scale with body text at 14–16sp. Our mobile app typography guide has the complete scales and pairing advice.
Spacing
Use an 8-point system: every margin, padding and gap is 4, 8, 12, 16, 24, 32 or 48. Use 16 for screen side margins and card padding, 8 between related items, and 24–32 between sections. This one rule removes most of the "something looks off" feeling in amateur designs.
Colour
Start smaller than you think:
- •One neutral scale for backgrounds, surfaces, borders and text (about six to eight greys).
- •One accent colour for primary actions and selected states.
- •Semantic colours for success, warning and error.
Use the accent sparingly; if everything is highlighted, nothing is. Check every text and background pair against WCAG contrast — 4.5:1 for body text, 3:1 for large text and UI elements. Define colours as named roles (background, surface, text primary, accent) so you can add dark mode later without redesigning.
Shape and iconography
Pick one corner radius family (for example 8 for small elements, 12–16 for cards, fully rounded for chips) and one icon set. SF Symbols on iOS and Material Symbols on Android are free, consistent and match the platform.
Step 7: Follow platform conventions
The fastest way to make an app feel professional is to behave the way users already expect. Apple's Human Interface Guidelines and Google's Material Design 3 are long, but a handful of rules matter most:
| Topic | iOS | Android |
|---|---|---|
| Minimum tap target | 44 by 44pt | 48 by 48dp |
| Back navigation | Back button top-left, edge swipe back | System back gesture or button |
| Primary navigation | Tab bar at the bottom | Navigation bar at the bottom |
| Top of screen | Large or inline title in the navigation bar | Top app bar |
| Alerts | Centred alert, short and specific | Dialog with clear button labels |
| Text scaling | Support Dynamic Type | Support font scaling in sp |
If you design for both platforms, you do not need two completely different apps. Keep the same structure, content and brand, and adapt the native components: navigation, back behaviour, pickers, alerts and switches.
Step 8: Design the high-fidelity screens
Now combine your wireframes with your visual system. Work on the core loop first, then the supporting screens.
- •Build reusable components first: buttons (primary, secondary, destructive), text fields, list rows, cards, tab bar, top bar. Every screen is then assembled from the same parts.
- •Apply real content: real names, realistic numbers, long and short variations. Fake content hides layout problems.
- •Design every state: empty, loading, partial, full, error, offline.
- •Write the copy: button labels that say what happens ("Send reminder", not "Submit"), error messages that say what to do next, and empty states that invite the first action.
- •Check consistency: same component, same behaviour, same position on every screen.
This is also where AI design tools save the most time. You can generate a first draft of your core screens in floow from a written description of each screen, then spend your effort on states, copy and edge cases instead of placing rectangles.
A worked example: the trainer app's "Today" screen
- •Job: see today's sessions and mark them done.
- •Top: large title "Today", with the date as a subtitle.
- •Summary card: "4 sessions · 2 unpaid", tappable to the payments view.
- •List: one row per session — client avatar, name, time, session type, and a trailing "Done" button. Rows at least 56pt tall to give the button room.
- •Unpaid indicator: a small amber dot and the label "Unpaid", never colour alone.
- •Empty state: "No sessions today. Add a session or enjoy the day off." with an "Add session" button.
- •Tab bar: Today, Clients, Payments, Profile.
- •Spacing: 16 side margins, 24 between the summary card and the list, 8 between list rows if they are cards.
Every choice ties back to the core loop: see sessions, mark done, notice who owes money.
Step 9: Prototype and test
Link your screens into a clickable prototype and test it on a real phone with about five people who match your persona. Give them tasks ("Your client Sam just finished a session and paid in cash. Record it."), ask them to think aloud, and stay quiet while they work.
Watch for hesitation, wrong taps and backtracking. Those moments are the design problems. Fix the most common ones and test again with new people; two small rounds teach you more than one big one. Our guide on how to prototype an app includes a testing script and a test plan template.
Step 10: Hand off to development
A design is only finished when someone can build it accurately. Give your developer:
- •Every screen and state, named consistently.
- •The visual system as tokens: type styles, spacing scale, colour roles, corner radii.
- •Component specs: sizes, padding, states (default, pressed, disabled, loading).
- •Behaviour notes: what happens on tap, swipe, error and back.
- •Assets: icons as SVG or platform symbols, images at the right resolutions, the app icon.
- •The prototype, so they can feel the flow.
Use our design to developer handoff checklist before you send anything. Many teams now also export screens directly as code — React, Flutter, SwiftUI or Jetpack Compose — to give developers a working starting point rather than a picture.
Tools for non-designers
| Tool type | Examples | Good for |
|---|---|---|
| Paper and whiteboard | Pen, sticky notes | Steps 1–5 |
| Diagramming | FigJam, Miro, Whimsical | User flows and screen inventories |
| Design editors | Figma, Sketch, Penpot | Wireframes, components, high-fidelity screens, prototypes |
| AI design tools | Generators that turn prompts into screens | Fast first drafts of high-fidelity screens |
| Testing platforms | Maze, Lookback, UserTesting | Remote usability testing |
You do not need all of them. A pen, one design tool and a phone will take you from idea to tested design.
Common mistakes non-designers make
- •Starting with the logo and colours before the flow exists.
- •Inventing custom navigation instead of a standard tab bar.
- •Too many fonts, sizes and colours. Stick to one typeface, six text styles and one accent.
- •Arbitrary spacing. Snap everything to an 8-point scale.
- •Only designing the happy path. Empty, error and loading states are where trust is won or lost.
- •Tiny tap targets that look neat but are hard to hit.
- •Low-contrast grey text that fails accessibility and is hard to read outdoors.
- •Skipping testing because "it's obvious". It is obvious to you because you designed it.
Your app design checklist
- •Problem, target user and core value written in three sentences.
- •Core loop written as one line with arrows.
- •User flows mapped, including unhappy paths.
- •Screen inventory of 5–12 screens for version one.
- •Navigation model chosen (usually a tab bar with 3–5 tabs).
- •Wireframes for every screen and state.
- •Visual system defined: system font, type scale, 8-point spacing, small palette, one radius family, one icon set.
- •Tap targets of at least 44pt or 48dp; contrast of at least 4.5:1 for body text.
- •High-fidelity screens built from reusable components with real content.
- •Prototype tested with about five target users, top issues fixed.
- •Handoff package with tokens, specs, assets and behaviour notes.
FAQ
Can I design an app with no design experience?
Yes. Following a structured process — problem, flows, wireframes, a simple visual system, platform conventions and testing — gets you most of the way. Platform defaults like system fonts, tab bars and native controls do a lot of the visual work for you, and AI design tools can produce credible high-fidelity drafts from a description.
What is the first step in designing an app?
Define the problem, the target user and the core value in a few sentences, then write the core loop users will repeat. Designing screens before this usually leads to rework, because the structure changes once you understand what the app is really for.
How long does it take to design an app?
A focused first version with 5–12 screens can be designed in one to three weeks by one person, including wireframes, high-fidelity screens and a round of testing. Complex apps with many roles, platforms and states take longer. AI tools can shorten the high-fidelity stage significantly.
Should I design for iOS or Android first?
Design first for the platform most of your target users have, which often depends on your market and audience. Keep the structure and content the same for both, and adapt navigation, back behaviour and native components for the second platform rather than designing it from scratch.
What software do I need to design an app?
You can start with paper, then use a design editor such as Figma for wireframes, high-fidelity screens and prototypes. AI design tools help non-designers create polished drafts quickly, and a diagramming tool helps with user flows. You do not need to code to design an app.
Design it with floow
Once your core loop and screen list are written, describe each screen and refine the results in chat. Try this prompt in floow: "Design a 4-tab iOS app for freelance personal trainers: Today with sessions and a Done button, Clients list, Payments showing who owes money with a send reminder action, and Profile. Clean, confident style with one blue accent."
Design your mobile app with AI.
Generate pixel-perfect iOS and Android screens in seconds, then export to Figma or code.
You might also like…
Insights14 November 2026How to Prototype an App: Tools, Fidelity and TestingHow to prototype an app: pick the right fidelity, choose a tool, build only the flows you need to test, and run a five-user test that gives answers.By floow.design
Insights14 November 2026Dark Mode App Design: Colors, Contrast and MistakesDark mode app design done right: background and surface colors, elevation, contrast targets, accents, iOS and Android rules, and mistakes to avoid.By floow.design
Insights14 November 2026Google Stitch vs Uizard: Which Makes Better App Screens?Google Stitch vs Uizard for mobile app screens: output quality, editing, prototyping, collaboration, Figma and code export, pricing and best fit.By floow.design