Skip to main content

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.

Guides15 min read2,920 words

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:

LayerQuestion it answersOutput
StrategyWhat problem, for whom, and why would they use this?Problem statement, target user, core value
StructureWhat screens exist and how do people move between them?User flows, screen inventory, navigation model
LayoutWhat goes on each screen, and in what priority?Wireframes
Visual and interactionHow 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:

  1. •Who is this for? Be specific: "freelance personal trainers with 10–30 clients", not "fitness people".
  2. •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."
  3. •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.

PatternUse whenPlatform notes
Tab bar (iOS) or navigation bar (Android)3–5 top-level destinations people switch between oftenThe standard for most apps; labels plus icons
Single stack with drill-downOne main list with details beneath itCommon for simple utilities
Navigation drawerMany destinations, used less oftenMore common on Android and tablets; hides options
Modal tasksSelf-contained tasks like compose, add or checkoutPresented 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:

  1. •Write the screen's single job at the top: "See today's sessions and mark them done."
  2. •List the content and actions it needs, in priority order.
  3. •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.
  4. •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:

StyleiOS default sizeUse
Large title34ptTop of main screens
Title22–28ptSection and screen titles
Headline17pt semiboldCard titles, list item titles
Body17ptMain reading text
Subhead or callout15–16ptSupporting text
Footnote or caption12–13ptMetadata, 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:

TopiciOSAndroid
Minimum tap target44 by 44pt48 by 48dp
Back navigationBack button top-left, edge swipe backSystem back gesture or button
Primary navigationTab bar at the bottomNavigation bar at the bottom
Top of screenLarge or inline title in the navigation barTop app bar
AlertsCentred alert, short and specificDialog with clear button labels
Text scalingSupport Dynamic TypeSupport 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.

  1. •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.
  2. •Apply real content: real names, realistic numbers, long and short variations. Fake content hides layout problems.
  3. •Design every state: empty, loading, partial, full, error, offline.
  4. •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.
  5. •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 typeExamplesGood for
Paper and whiteboardPen, sticky notesSteps 1–5
DiagrammingFigJam, Miro, WhimsicalUser flows and screen inventories
Design editorsFigma, Sketch, PenpotWireframes, components, high-fidelity screens, prototypes
AI design toolsGenerators that turn prompts into screensFast first drafts of high-fidelity screens
Testing platformsMaze, Lookback, UserTestingRemote 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.