
Prototype and build iOS apps by blending bass 44 with SwiftUI, using AI to accelerate learning while focusing on the why behind the code.
Download and install Xcode from the App Store or betas, select between Xcode 16.4 and Xcode 26 beta, and organize multiple versions in the Applications folder.
Refine the SwiftUI interface by adjusting text alignment, fonts, padding, and background, exploring modifier order in vstack, hstack, and zstack, and adding images from assets and sf symbols.
Download SF symbols seven and install it to test animations. Open SF symbols, verify version seven, access symbols via the Xcode library, and test bounce, wiggle, and breathe.
Adapt Xcode to your needs by enabling the code folding ribbon and line numbers, and master shortcuts for building, running, previewing, breakpoints, and dark/light mode.
Discover how base 44 generates starter code for a SwiftUI app, customize with style instructions, monitor credits, and focus on the dashboard, code, and mockup for a fitness app.
Create a new SwiftUI project, review SwiftUI fundamentals, explore views, and add ContentView and additional views for iPhone 16.
Learn to build a solid background view in SwiftUI by embedding text in a ZStack, applying font styles, colors, and opacity, and ignoring safe areas.
Explore creating a gradient background view in swiftui by configuring a linear gradient with start and end points, colors, and alignment, and organizing views for clean code.
Master SwiftUI state variables by building a gradient background view with a button that adds exclamation marks to a title, then declare state and update the UI with state changes.
Master SwiftUI state management, arrays, and randomness by building a random background view with a random title, leveraging optional random elements and nil coalescing for a robust interactive UI.
Explore a ForEach demo in SwiftUI, building list views from titles using arrays and an identifiable item, and learn layout tricks with VStack, padding, gradients, and shadows.
Explore SwiftUI struct design by creating an identifiable message struct, conforming to Identifiable with a UUID, and iterating over a messages array using ForEach.
Learn to turn a for-each demo into a list in SwiftUI, apply a navigation stack, clean up layout, and preview swipe actions for editing or deleting items.
Learn to implement swipe actions in a SwiftUI list using for each and vstack, with destructive trash and edit labels, system images, and tint customization, while handling state safely.
Create a frames demo in SwiftUI, display circles with fixed and max frames and explore alignment options. Duplicate views, adjust padding, and plan to extract a circle view later.
Create a reusable circle view in SwiftUI with color, alignment, and size, set a default via init, and render using fill, frame, and ZStack layering.
Move code to a new file using the frames refactoring trick. Remember to import SwiftUI for the view to work, and be aware previews can be buggy.
Demonstrates a text field demo in SwiftUI, using a state variable and binding for live input updates. Learn about binding with a dollar sign and string interpolation for greetings.
Explore enumerations in Swift by creating a string-backed enum for fruits, iterating all cases with for each, and displaying capitalized raw values via id self in a SwiftUI VStack.
Learn how to make a fruit enum identifiable by adding an id of type fruit, using self to reference the current instance, and conforming to identifiable for a unique identifier.
this lecture demonstrates a sheet presented demo in SwiftUI, using a boolean state variable and a binding (dollar sign) for isPresented to show the sheet with a button.
Explore a SwiftUI item sheet demo that lists users, selects a user, and binds the selection to a sheet using an optional identifiable binding to display dynamic content.
Learn to dismiss a SwiftUI sheet by using the environment dismiss variable, presenting a sheet with a show sheet toggle and a dismiss button to return to the parent view.
Dismiss the item sheet in SwiftUI by wiring a user sheet view with an environment dismiss and a dismiss button, illustrating a practical item sheet demo.
Learn to use the ternary operator in SwiftUI to toggle a color between blue and green, driven by a boolean state with a computed color property and interactive buttons.
Learn to manage state and bindings in SwiftUI by building a parent view with a custom color picker and a child bound to a palette of colors.
Demonstrates a date picker in a SwiftUI view, binding the date to a variable and displaying the selected date with simple formatting.
Build a SwiftUI segmented picker demo that uses a private state variable to select a fruit, iterating over all fruit and displaying capitalized names on a gray 0.3 opacity background.
Navigate between views using a SwiftUI navigation stack with links, destinations, and titles, then simplify the UI to a word list for clean, practical navigation demos.
Explore adding a toolbar to a navigation stack, including state variables and toolbar items placed at top bar leading and trailing, with an editing toggle and a refresh action.
Explore configuring toolbar item groups in a bottom bar, adjust placement options, and customize toolbar buttons with system icons like gear and help, using a spacer to separate items.
Learn how to add a searchable bar to navigation stack using a binding string for search text and a prompt like search demos, then display results in a list.
Create a SwiftUI form demo with sections for personal info and settings, including a text field for name, a stepper for age (0–120), and a toggle for enable notifications.
Learn to add a slider to a form that sets volume from 0 to 100 as a double, using a binding with $, with optional tint.
Create a Swift data workflow by building a local database, defining an identifiable address struct with street and city, and preparing an addresses array for a view.
Build a navigated address list in a navigation stack, style street and city with leading alignment and bold and subheadline fonts, and plan SwiftData persistence.
Build a SwiftUI address list in a navigation stack, style each item with leading alignment and fonts, and introduce SwiftData to add, delete, and persist addresses.
Add a swipe action to a list item with a vstack, include a destructive delete button with a trash icon, and note that the delete operation will be implemented next.
Learn how SwiftData handles deleting an address by finding the current address's index with firstIndex(where:), then removing it from the addresses array, including swipe-to-delete behavior.
This lecture demonstrates migrating the address model to Swift Data by creating an address list view and converting the model to a class, enabling persistent storage across app runs.
Adapt your SwiftData workflow by configuring a model context to insert and save addresses using the address model, with proper initialization and save handling.
Implement swipe-to-delete in SwiftData by deleting the selected address model through the context and saving changes. Test persistence and multiple deletion scenarios to verify CRUD behavior.
Learn to sort address data with swiftdata using sort descriptors and keypath order on street and city, and experiment with segmented pickers and ascending alphabetical order.
Generate random addresses by selecting streets and cities with random element, safely handling nils with nil coalescing, and creating street numbers from a random range.
Explore spring animations in SwiftUI by using withAnimation to toggle a circle's scale and offset, adjusting parameters like duration, bounce, and damping fraction for a responsive, bouncy effect.
Learn to create interactive SwiftUI animations with a rounded rectangle and an ellipse, using tap gestures to animate offset and width with animation and spring settings.
Explore SwiftUI basics by building simple base 44 examples and translating them to SwiftUI. Learn core building blocks like views, stacks, and modifiers in a multi-platform iPhone project.
Explore SwiftUI via base 44 by building a simple counter app with a centered tap-to-count button using state variables to update the count.
Learn state and binding in SwiftUI by creating a color switcher with blue and red buttons that change the background. Refactor into separate views and understand the binding relationship.
Polish the chroma shift app by refining color switcher and color button view, removing hard-coded values, and improving padding, clipping, and showing a reset button when the background isn't neutral.
Explore chroma shift with a color switcher in swiftui, using a blue/red/neutral background color enum, computed properties for background gradient and text color, and animated transitions.
Master the textColor computed property by exploring bgColor values (neutral, red, blue), conditional returns, and the ternary operator, emphasizing readability and Swift 5.9 one-line expressions.
Explore how the background color switch evaluates blue, red, and neutral to produce a gradient. Learn about exhaustive cases, default branches, and Swift 5.9's switch expression.
Explore how to build a beautiful todo app in swiftui, view active and completed tasks, mark tasks as completed, add and edit tasks, and filter results with search.
Explore building a base 44 to-do list with a UI and CRUD functionality, then convert it to SwiftUI using Swift data, while refining prompts and learning by doing.
Convert a todo app to SwiftUI and Swift data by implementing a search bar, binding, and filtered todo lists, with a todo item model, forms, and a floating action button.
Create a multi-platform to-do app in Xcode by setting up a project for iPhone, naming the app, adjusting the screen, and starting to copy code piece by piece.
Implement and refine a SwiftUI search bar by wiring a binding input, adjusting padding and colors with clip shape, and exploring dynamic line width for empty and nonempty states.
Build and customize a floating action button in swiftui for ios, using xcode, state-driven color toggles, padding, and frame infinity alignment to position it precisely.
Design a SwiftUI to do form view that captures title, description, priority, and an optional due date, using bindings and a to do model to simplify saving data.
Explore implementing a todo item view in SwiftUI, wired to the main content view, with edit, delete, and toggle actions and sample priority data.
Fix delete dialog behavior in a SwiftUI todo item view and switch delete and edit to swipe actions with a foreground style tweak.
Refine the todo item view in SwiftUI by normalizing priority colors to lowercase, updating the switch cases, and adjusting alignment, frame max width, the shadow, and corner radius.
Refactor the to do app view in SwiftUI by wiring the entry point, integrating data models, and implementing search, filter tabs, and active vs completed counts.
Learn to implement an empty state view and filter tabs in a SwiftUI to-do app, using an enum-based filter system and counting logic while debugging UI layout.
Fixing todo counts inconsistencies by aligning active, completed, and all with a computed to do counts property in the filter tabs view.
Improve the to-do app view by reorganizing the search and filter controls from horizontal to vertical, enabling quick navigation with keyboard shortcuts, and testing the plus button to create tasks.
Learn to clean up the empty state view in a to-do app by removing the confusing plus button, centering the state, and enabling first task creation from the empty state.
Streamline the todo app view by tweaking frames, padding, and backgrounds to center content. Tighten the empty state and search layout and review saving with Swift data for reliability.
Test the create task functionality by adding items and dates, including setting a date like September 3rd, and using breakpoints to verify the save behavior and why nothing changes.
Inject the to do model into the app with a model container and import Swift data, then verify task creation, search (case-insensitive), completion, and data persistence.
Fix swipe actions by adding a list view to enable proper delete and edit functionality in the to-do components, replacing the scroll view and lazy stack for reliable behavior.
Explore implementing edit functionality in SwiftUI by using sheet item with a data source, binding the editing todo, and passing the updated item to the to do form view.
Clean up a to-do app by removing unused loadTodos and isLoading logic, progress views, and dead code, using the debugger to simplify the SwiftUI iOS project.
Test and fix the to-do app, addressing sheet edits and the floating action button. Implement an isEmpty check and dynamic nav title to switch between create task and edit task.
review and replace deprecated foreground color and foreground style with clip shape rect, and adjust corner radius values; prepare for light and dark mode.
Learn to support light and dark mode by managing colors in assets, defining color sets for light and dark appearances, and applying button colors, gradients, and text colors across views.
Create a two-color linear gradient for light and dark mode using bg1 and bg2 with indigo and purple, adjusting hex values and opacity in assets folder for swift ios development.
Finish implementing light and dark mode support by debugging and choosing colors, adding adaptive color sets in the assets folder such as selected, overdue, and list background.
Learn how to localize an app using a string catalog, add multiple languages, and replace strings with localized string keys so the app adapts to a user's language settings.
demonstrates translating and localizing an iOS to do app into Spanish, creating a Spanish scheme, setting language and region, testing in Spanish and English, and toggling light and dark mode.
Master localization by implementing Chinese and other languages using translation tools, testing with language schemes, and ensuring right-to-left support, localizable strings, and correct iOS UI behavior.
Explore right-to-left language support by running a swift iOS app with arabic, observing the UI direction swap and a left-positioned floating action button, and extend to italian, hebrew, and spanish.
Design an iOS app icon in Figma, creating a 1024 by 1024 icon with gradient and drop shadow, export as PNG, and prepare light and dark mode assets for Xcode.
Learn to craft a base 44 tic tac toe prompt outlining game layout, player management, and logic, with glass morphism styling options, then move to Xcode.
Create a multi-platform Xcode project for a tic tac toe game, set player names, and adjust the layout for a mobile-friendly, responsive design using Xcode and base 44.
Review the project by converting JSX to idiomatic SwiftUI, avoiding hard-coded values, and simplifying code with frames using infinity and alignment across game board, cells, scorecard, and winner model.
Translate the code into SwiftUI and paste it into the Xcode project, wiring game cell, game board, score card, and player setup to build a cohesive Tic Tac Toe app.
Review the project, remove key path usage, unify color logic to a gradient or solid color, implement a computed winning color gradient, tidy animations, and test with Alice and Bob.
Adjust the layout in a SwiftUI tic tac toe view by adding padding to text or the VStack, converting an HStack to a VStack for better alignment, and previewing changes.
Refine the tic tac toe view by organizing the game board and player setup, switch game controls from vertical to horizontal, and adjust spacing and corner radius, testing Start Game.
Learn to implement a SwiftUI scoreboard for a tic tac toe game, with scores, player names, and a setup status. Refine layout using vstack, zstack, padding, and frame.
Adjust the background view by changing the background color opacity to 0.6 or 0.8, and evaluate the resulting appearance.
Refactor the game UI by creating a separate SwiftUI view called player turn view to manage the current player and the player names array. Address spacing issues and preview setup.
Create a new background view in SwiftUI to apply a linear gradient background to the tic tac toe view, and embed this background in the preview zstack.
Refine the player turn view in the tic tac toe SwiftUI app by adjusting frames, padding, background, stroke border, clip shape, and player names with a black ultra thin material.
Create a universal background color by adding a color asset, selecting a suitable background hue for light and dark modes, and applying it across the project preview and gradients.
Remove padding and background shape from the player turn view and apply the change, then run the update.
Demonstrate a winner modal sheet in a tic tac toe game using SwiftUI, switching from a separate winner model to a sheet and refining zstack and vstack layouts.
Unlock the world of iOS development in a fun, approachable way with “Vibe to Code: From Base44 to iOS Apps.”
This course is designed for learners of all levels who want to explore iOS development in a fresh and creative way. We’ll begin with the free version of Base44’s vibe coding platform, which allows you to quickly mock up app ideas without writing a single line of code. This no-code approach makes it easy to experiment, play, and learn by doing — even if you’ve never programmed before. From there, we’ll gradually transition into SwiftUI and SwiftData, showing you how to move from prototypes to fully coded, idiomatic iOS applications.
Along the journey, you’ll gain hands-on experience with essential skills every iOS developer needs: fundamental programming concepts, user interface design, app logic, and persistent data storage. To put everything into practice, you’ll build a Todo App that leverages SwiftData to save and manage tasks. This project will give you a strong foundation in state management and data handling, and it’s something you can showcase as part of your portfolio. As the course grows, additional real-world projects will be introduced, giving you more opportunities to practice, expand your skills, and build apps you can be proud of.
By the end of the course, you’ll have both the skills and confidence to transform your ideas into polished SwiftUI apps. Whether you’re starting from scratch or leveling up your skills, this course will guide you from vibing to coding, and from ideas to fully functional iOS apps.
And remember, I’m always available through the course Q&A, where I check in daily and respond quickly. Your questions, ideas, and progress matter, and I’ll be there to support you every step of the way.
Happy Coding!