Mobile chatbot creation

An attempt at building a mobile app for non-technical users creating an LLM-based chatbot

This project explores a mobile-first experience for first-time users building their own AI assistant using a large language model (LLM). I also set a time limit of 8 hours to complete this project.

I designed the full journey with a focus on clarity, pacing, and accessibility. The goal was to help non-technical users train and manage their assistant through a guided, conversational flow that feels simple but powerful.

If you’d like to explore the hi-fi prototype right away, click here!

Navigation
  1. A quick persona for a POV
  2. Stage 1: access and authentication
    1. Objective
    2. Approach
  3. Stage 2: onboarding flow
    1. Objective
    2. Approach
  4. Stage 3: testing the bot
    1. Objective
    2. Approach
  5. Stage 4: dashboard
    1. Objective
    2. Approach
  6. Conclusion

A quick persona for a POV

To stay grounded in a real-world use case, I created a quick persona to guide design decisions. Clara represents a non-technical small business owner who needs a quick and foolproof way to set up a chatbot for her business.

Her priorities thus shape the flow, tone, and interface choices throughout the project. I did a bilingual version of the persona (English and French) to reflect Montréal’s linguistic landscape, where Clara is based.


Stage 1: access and authentication

Objective

Help new and returning users access the platform smoothly, using clear vertical hierarchy and familiar login patterns.

Approach

  • This flow includes a splash screen, login form, and signup form.
  • The splash screen establishes brand presence but stays unintrusive.
  • Vertical hierarchy guides the eye, with the signup path visually present but deemphasised.
  • Familiar social icons provide quick, trusted access via SSO.

Stage 2: onboarding flow

Objective

Guide first-time users through naming, contextualising, and training their bot in a way that feels conversational, manageable, and non-technical.

Approach

  • Each screen in this stage continues handling a single task, using progressive text disclosure and a consistent layout.
  • A conversational tone and soft transitions are used to make the experience less daunting for users.
  • A visible stepper (step 1 of 3) helps a new user stay oriented and feel less certain about the task.
  • This conversational style is repeated throughout this stage, including:
    • Naming your business
    • Uploading a knowledge base source
    • Checking your knowledge base topics
    • Finishing up bot creation
  • The slideshow to the left shows each remaining step in the onboarding flow.

Stage 3: testing the bot

Objective

Let users immediately test their bot in a clean, familiar interface, encouraging curiosity and confidence without overwhelming them.

Approach

  • Interface modelled after familiar chat apps to reduce friction and create instant usability.
  • Prompt chips offer guidance to solve the cold start problem.
  • A typing indicator mimics human pacing and keeps users engaged.
  • Plain language buttons are added after a response for users to provide instant feedback.
  • The goal here is to reinforce trust and responsiveness in a low-pressure setting.

Stage 4: dashboard

Objective

Provide users with a clear and scrollable one-stop overview of their bot’s content, settings, and performance.

Approach

  • Further navigation to other bots and user settings are kept in the top menu bar to stay out of the way.
  • A card-based layout organises the bot’s settings into distinct, tappable sections.
  • Icons are used extensively to support scanning and reduce reading fatigue.
  • A light fading effect is used at the bottom to indicate scrollability.
  • Non-technical language like “backup” is used rather than technical jargon like “fallback” used in LLMs.
  • In the bot-specific screens, the bot dropdown menu is removed to remove clutter.
  • Blue pencil icons explicitly signal that the message can be edited.
  • A clear divider line subtly signals a shift in complexity and intended audience for developer settings.
  • Emojis are used in analytics to help users rapidly recognise the data point, given data density.
  • The emojis also break up the stat-heavy content and anchor the user.
  • Again, a dividing line is used to indicate a shift in functionality, such as external actions in this case (opening a separate web page and file export).

Conclusion

This project gave me the opportunity to design a full user journey from scratch under time constraints. It challenged me to make something complex feel intuitive and having a non-technical user profile in mind helped me structure the interface accordingly.

I approached this like I would a live product: grounded in user needs, taking into account technical priorities, and constantly thinking about how to remove user friction while preserving functionality.