Template · AI

AI Assistant SwiftUI Template

Nimbus, an AI assistant: a complete Xcode project with streaming chat, a conversation library, voice mode, widgets and three brand presets. 15 screens and 4 flows in Nimbus, as a SwiftUI app template.

An AI assistant on a four-tab shell: Chat, Library, Voice and Settings. First run shows three pages, asks for the microphone, offers Sign in with Apple, answers a first question live, then shows the Nimbus Pro paywall. A voice call opens over the app from the chat toolbar, and its transcript is saved to the Library.

  • SwiftUI
  • iOS 17.0+
  • Xcode project 1.1.0
  • ai-app
15 Screens4 Flows
Get SwiftPieces Pro

$199 once, every piece included. See how installing works · Sign in

01

Flows

Complete journeys through Nimbus, from first launch to sign out, screen by screen. Open one to play it, or choose any screen to start there.

The first 3 steps of every flow are open. Pro opens every screen of every template, live in each style, and the SwiftUI to build them.

01 · Onboarding

First Run

Three welcome pages, the microphone, an account and a first question answered live, then Nimbus Pro and the Chat tab.

8 Screens14 Steps
Play the flow
  1. 01Think Out Loud
  2. 02Talk It Through
  3. 03Answers That Know You
  4. 04Microphone
  5. 05Allow The Microphone
  6. 06Microphone
  7. 07Sign In
  8. 08Sign In With Apple
  9. 09Ask Your First Question
  10. 10Ask Your First Question
  11. 11Nimbus Pro
  12. 12Start The Trial
  13. 13Nimbus Pro
  14. 14Chat

02 · Core Journey

Ask And Talk It Through

A suggestion becomes a streamed reply, a dropped connection recovers with Retry, and a voice call from the toolbar returns to the same chat.

2 Screens11 Steps
Play the flow
  1. 01Chat
  2. 02Choose A Model
  3. 03Chat
  4. 04Connection Lost
  5. 05Chat
  6. 06Chat
  7. 07Voice Mode
  8. 08Voice
  9. 09Voice
  10. 10End The Call
  11. 11Back To The Chat

03 · Core Journey

Pick Up A Saved Chat

Browse and search the Library, open a past conversation and its menu, then delete a chat with a long press.

2 Screens8 Steps
Play the flow
  1. 01Library
  2. 02Library
  3. 03Search
  4. 04Conversation
  5. 05Conversation
  6. 06More
  7. 07Long Press
  8. 08Delete A Chat

04 · Profile And Settings

Profile And Settings

The model, response style, memory, voice, Theme and an export of your chats, then the subscription and signing out.

5 Screens13 Steps
Play the flow
  1. 01Settings
  2. 02Model
  3. 03Response Style
  4. 04Memory
  5. 05Add A Memory
  6. 06Settings
  7. 07Voice
  8. 08Theme
  9. 09Export Chats
  10. 10Manage Subscription
  11. 11Sign Out
  12. 12Settings
  13. 13Back To The Start

02

Screens

Every screen in Nimbus, 15 in all, each a SwiftUI view in the Xcode project. In Neon, Editorial and Prism, light and dark.

First run

Welcome, permissions and the questions that set the app up.

Account and subscription

Sign in, verification and the paywall.

  • Sign In

    Sign in with Apple to keep chats and memories across devices, or continue without an account.

  • Nimbus Pro

    Nimbus 3, unlimited messages, voice and longer memory, yearly with a free week or monthly.

    Built onPaywall

Tabs

Where the app opens, one screen per tab.

Details and sheets

What the tabs push and present.

  • Conversation

    A saved chat pushed from the Library, ready to continue, with pin, rename, share and delete under More.

    Built onChat

Profile and settings

The account, preferences, the subscription and sign out.

  • Settings

    The profile, Nimbus Pro, the assistant, voice, appearance, data controls and sign out.

    Built onSettingsApp ShellLessons

  • Pick An Option

    A pushed list of choices for the model, the response style or the voice, with a check on the current one.

    Built onSettings

  • Memory

    What Nimbus remembers about you, with switches, add and delete, and Forget all.

  • Theme

    Pick Neon, Editorial or Prism and the appearance, previewed on a sample card.

03

Built from the library

The library screens this template wires together, in the order someone meets them. Each one installs on its own too.

04

What's included

SwiftUI source you own, built on Apple frameworks only.

  • Streaming chat with suggestions, and error and retry states
  • A full-screen voice call with the orb and live captions
  • Settings for model, response style, voice and captions, plus a Memory page
  • One place to plug in your model client and realtime voice session

Includes

App Shell, Lessons, Chat, Voice Mode, Settings. Installed together, automatically.

In the Build Kit

AI Assistant (brief). Your agent builds around this template in the same design.

05

Implementation notes

How it behaves, what it handles, and the decisions behind it.

AIAssistantApp is a two-tab app on the App Shell: Chat and Settings. The chat streams replies, offers suggestions on an empty thread and shows error and retry states. A waveform button in the chat toolbar, or Start a voice call in Settings, presents the voice call full screen. A call covers the whole app, tab bar included, and Leave call returns to the thread.

Adapting it

  • Model client: the chat streams from a stand-in client. Give AIChatScreen your own (String) async throws -> AsyncStream<String>.
  • Voice: the call is scripted. Drive its status and captions from your realtime session; VoiceOrb stays on thinking and takes a size and a palette for who holds the turn.
  • Settings: model, response style, voice, captions and the Memory page live in the Settings section of AssistantHome.
  • Theme: set .environment(\.spTheme, …) on AIAssistantApp to re-skin every themed screen.

Notes

  • Not @main: put AIAssistantApp() in your own WindowGroup.
  • The Ask, Research and Agent Task screens pair well with this template when you build your own thread view.