Afterthought

An app built to make journaling feel effortless and familiar.

My role: design, code

Afterthought

A better way to capture your memories

on iPhone.

Get app

The Goal

What if I made an iOS app?

I love the idea of journaling but none of the apps I've tried ever clicked with me. So I decided to make my own. Coming off a multi-year game project, I kept the scope small, aiming to ship within 1-3 months. And since a large part my of motivation was to learn iOS development, I wanted to build it using the most modern Apple tech and design patterns.

Afterthought - Post Wireframe

Encourage tiny posts

with a photo and just bit of text. More is fine too.

Afterthought - List Wireframe

Build a personal feed of memories

out of my posts.

Afterthought - Streaks Wireframe

Keep me motivated

to post regularly by tracking my daily post streaks.

The Design

How am I going to make this?

Before I began putting designs together, I brushed up on Apple's design guidelines and broke down tons of screenshots of other apps to get a good understanding of the sizes and spacings to use (in trying to make it the Apple way). I also started poring over the SwiftUI examples and iOS documentation. Coming from C#, Swift was pretty easy to pick up. But then it was time to make the thing.

Afterthought - Design Iterations

Hundreds of iterations

were made to get to the design that shipped. It was roughed out in Figma, then fine tuned in code as I understood more of what SwiftUI was capable of and sometimes demanded.

Afterthought - Main View

An immediately familiar layout

prioritizes easy browsing and quick posting. Up top the Daily Post Streak is there to gently motivate you to not miss capturing a memory. The posts are kept bite size and skimmable. And a new post begins with a quick tap at the bottom.

Afterthought - Edit View

Posting is super simple

and designed to reduce friction with a clear single sheet of options, and aims to ease expectations of long posts by reducing the ominous blank page to an approachable text box.

Afterthought - Favorites

Easily rediscover your favorite memories

or something specific with a simple search.

Afterthought - Dark Mode

Dark mode

was (mostly) as simple as tweaking which system colors were mapped where and adding a dark mode accent color to pass accessibility.

The Takeaways

I learned some things.

Appleā€™s design guidelines only cover the tip of the SwiftUI iceberg. The rest of the possibilities and limitations must be discovered in development. It really demands a back and forth between design and code to get to a strong user experience that is also practical and stable.

Also, with SwiftUI being relatively young, there are some strangely missing features and plenty of bugs to work around. It can be maddening, but things will no doubt improve with time.

Overall, I really enjoyed the project. Dissecting the design patterns. Learning Swift and the many core technologies that go into a modern iOS app. Constantly solving problems. It was all a lot of fun.

A lot went into making it.

  • Swift and SwiftUI
  • Core Data with CloudKit for storage, backup, and syncing
  • Face ID and Touch ID for unlocking app
  • SF Symbols for icons
  • SF Rounded for friendly type
  • No third party libraries
  • Under 1 MB in size
  • Made in 3 months in my off-hours
Afterthought - 5 Star Rating

I'm super happy

to hear some folks are enjoying it!

View next project →
Expedia Widget