Presented by

SwiftUI Jam

Presented by

A weekend code jam to stretch your skills
Friday Feb 19th Noon - Sunday Feb 21st 6pm ET
FREE for all to participate. Beginners welcome.
Limited registation available until Sun Feb 14th 11:59pm ET
Opening ceremonies live on Feb 19th 11:30am ET

The February Jam Submission Gallery is now open and awards announced!

πŸ–Ό Visit Gallery πŸ† View Awards Blog
Want to jam with us if we run this again? Add your email to be notified or follow us on Twitter.


Reasons to participate


Featured Speakers

Opening ceremonies livestream MC'd by Adrian Eves with a keynote from Guilherme Rambo.

Guilherme Rambo
Adrian Eves


  1. Who is this jam for?

    Absolutely anyone who wants to code some SwiftUI.

    From beginner to seasoned Swift veteran, we encourage all to participate.

    If you are a beginner we recommend trying a course like 100 Days of SwiftUI prior to the jam. We will also have clearly marked channels for beginners to get help, connect with others and share your learning progress.

  2. How much time do I have to spend on the jam?

    There is no minimum.

    If this jam helps you carve out a few hours over the weekend to try something in SwiftUI, that's a success.

    If your employer lets you use Friday afternoon to join us and explore some SwiftUI, that's a success.

    This jam is about setting and achieving a personal goal within your comfort zone. It is also our intention to have varied awards that don't overencourage grinding.

  3. Is this a competition?

    Nope. Everyone is a winner because we all have SwiftUI apps at the end πŸŽ‰πŸΎ

  4. Why are there awards if this isn't competitive?

    Awards are intended to encourage variety in submissions and open source code sharing. There is no single correct way to participate.

  5. I don't live in the event's time zone, can I participate?

    Definitely! We would love to have participants from across the world. If you want to code some SwiftUI, join us.

  6. Can I use libraries or old code I've written?

    It is okay to depend on other Swift Packages in your app. If old code you have written is for non-UI related purposes and can be modularized this is okay too. 100% of the SwiftUI app code should be new to the jam.

  7. I'm already working on something in SwiftUI. Can I keep working on it during the jam?

    No, but we have a compromise:

    Try isolating a UI problem you haven't solved for your app yet. Make the jam about making that one component awesome and reusable.

    Submit your SwiftUI component to our gallery and then incorporate it into your main codebase after the jam.

  8. Can I code/use a backend?

    It is acceptable both to use public APIs or even your own backend. Keep in mind that if you use public APIs and submit your code you should omit your personal API Key from the submitted code.

  9. How can I prepare for the jam?

    In advance of the jam, it is acceptable to have already met and formed a plan of action with your team. We encourage you to do this to prevent wasting hours during the jam deciding what/how to build. However, please DO NOT code or design in advance.

  10. How will you make sure everyone is following the rules and not bringing old code?

    We rely on our community to respect the spirit of the event. This jam is mostly about setting and achieving personal goals in solidarity with others.

  11. Can I continue coding on my project after the jam?

    Absolutely! We encourage you to keep working on these projects after the fact, but in a separate git repo from your submission if you choose to share your code for awards eligibility.

  12. How will app submission work?

    At the end of the jam, you will have the opportunity to create a gallery entry for your team's app. You'll be able to point to git code, images and videos that demonstrate your app's functionality in addition to the App Store url. Awards will be determined in the following weeks and announced.

  13. I'm a beginner but I won't have time to prepare before the jam. Can I still participate?

    Try committing to completing a portion of a SwiftUI course like 100 Days of SwiftUI as your jam goal.

    We will also have clearly marked channels for beginners to get help, connect with others and share learning progress.

  14. Is this jam new? Why this format?

    SwiftUI Jam is modelled closely after the Toronto Game Jam ( Volunteers for the SwiftUI Jam have participated in this event in the past and were inspired to try bringing the same energy to the SwiftUI Community.

  15. Do I need to sleep?

    Scientifically speaking, yes. For this jam no one is forcing you to do anything, but we are confident you'll get much better results from maintaining a regular schedule with sufficient sleep, breaks, excercise and diet. The jam is not a reason to forgo self-care and we do not encourage grinding.

Awards (Tentative)

Actual awards and names may change before the jam. We welcome your award ideas!

πŸ† Awesome Animations Award - SwiftUI animation award

πŸ† Good Game Award - SwiftUI game award

πŸ† Brilliant Blog Award - Submission with an accompanying explainer blog

πŸ† Deep Docs - Well documented sample code

πŸ† UI Elementalist - A submission that is a UI Element

πŸ† Wild Wild Widget - SwiftUI Widget

πŸ† Comedian Award - For app humor

πŸ† Little Code, Big Impact - Honouring apps that aren't just about code quantity

πŸ† Platform Pro - Cross-platform functionality

Live Stream Schedule (Tentative)

Actual schedule will change. In addition to these events we'll run a twitter stream for #SwiftUIJam.

  1. Friday 11:50am - Opening remarks
    Countdown to jam start
  2. Friday PM
  3. Saturday 9:00pm - Move Night

    We'll pick a thematically appropriate movie that is easy enough for people to find and collectively watch together. Code along or join in chat for a break with friends

    Candidate movie - Pirates of Silicon Valley (1999)

  4. Sunday PM
  5. Sunday 5:50pm - Closing Remarks

    Countdown to jam end

Floating Designers

The Floating Designer position is intended to help connect designers and programmers that would otherwise be solo or unable to participate. For best results we recommend a few things:

  1. Assignments will be made in advance and you'll have an opportunity to connect a day or two in advance of the jam. Use this chance to set expectations before the jam.
  2. It's a good idea to prioritize needs and determine what is most critical versus nice to have. i.e. Maybe the App Icon is most important, but other images can just use the SF Symbols library if there isn't time.
  3. Understand that Floating Designers will potentially be working with working with more than 1 team and will need to divide their time.
  4. If you aren't sure where to start, trying starting from this framework:
    • Discuss a basic idea for the app before start. Share hours availability and set expectations as necessary.
    • Have a meeting early on the first day. Set a goal of getting an app icon and some theme colors delivered around 60% of the way through the jam.
    • Try to plan for a design review together 90% of the way through the jam to review spacing and font sizes.

Assigned Teams

If you are interested in forming a team with others but need some help making the connections, you can register for team assignment. We'll ask you to tell us a little bit about your skill level and what you'd like to get out of the jam and do our best to help form teams.

Assigned Teams teams will not be assigned a floating designer.

Code of Conduct

Harassment includes offensive comments related to gender, gender identity and expression, age, sexual orientation, disability, physical appearance, body size, race, ethnicity, religion, technology choices, sexual images in public spaces, deliberate intimidation, stalking, following, harassing photography or recording, sustained disruption of talks or other events and unwelcome sexual attention.

Participants asked to stop any harassing behavior are expected to comply immediately.

Sponsors are also subject to the anti-harassment policy. In particular, sponsors should not use sexualized images, activities, or other material.

If a participant engages in harassing behavior, the organisers may take any action they deem appropriate, including warning the offender or expulsion from the event.

If you are being harassed, notice that someone else is being harassed, or have any other concerns, please contact an organizer immediately.

We expect participants to follow these rules before, during and after the event.


SwiftUI Jam is brought to you by the organizers of the SwiftTO Conference and NSCoderTO, a macOS and iOS user group based in Toronto

Kyle Newsome
Brendan Miller
Bill Parousis
Margaryta Chepiga


Thank you to Scotiabank for being our Presenting Sponsor. With their help we can cover all expenses and give away awesome raffles prizes throughout the jam.

At Scotiabank, there’s no going backwards. Our sights are always set on the future; we’re progressive, performance driven, forward-thinking and we have zero interest in the status quo. The world is a big place with all kinds of people, and it’s our differences that make us extraordinary. Here, you can be proud of who you are and let your true self shine.

Learn more about career opportunities

Thank you DetailsPro for being our Swag Sponsor and giving us the opportunity to provide attendees a memento from the jam. Participants in North America will be mailed a SwiftUI Jam laptop sticker.

Built by an ex-Apple design prototyper, DetailsPro is a GUI for prototyping SwiftUI designs fast and easy. Available on iPhone, iPad, and Mac with a free version. Make your next design faster and more beautiful than ever.

Learn More