Felipe Espinoza's Avatar

Felipe Espinoza

@fespinozacast

iOS and macOS developer. πŸ‡¨πŸ‡±πŸ‡³πŸ‡΄. Youtuber (http://youtube.com/@craftingswift). Hobby designer, photographer and illustrator.

72
Followers
55
Following
109
Posts
16.11.2024
Joined
Posts Following

Latest posts by Felipe Espinoza @fespinozacast

In any case, for making quick apps to solve some small pain points for you or to make quick prototypes to test an idea, I think AI coding is great for that.

08.03.2026 10:00 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

I'm still finding the balance on how to use AI responsibly, how much should I care of the quality of code (is it necessary to obsess as much on it anymore?) and make it a tool that enhances my skills, rather than just a crutch.

08.03.2026 10:00 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

I vibe coded a HealthKit app that uses SwiftCharts to present the data and it even exports a bigger version of the data on a report image.
This took me 30 min, and I did a lot of refinements as I was testing the app.

08.03.2026 10:00 πŸ‘ 0 πŸ” 0 πŸ’¬ 2 πŸ“Œ 0


I've been doing that manually. Of course as a developer I created a note of making an app that helps me do that, but as a random side project idea, it never gets built.

Well, it was a perfect use case of AI for me.

08.03.2026 10:00 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0


Every week, I want to keep track of my efforts to lose weight. Then I tend to take screenshots of the health app, crop them an unite them to put in a notion document where I do my weekly retrospective.

08.03.2026 10:00 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Post image Post image Post image

In many ways I feel "I'm behind" when it comes to AI development.

Building apps with AI and crafting apps feel like opposites approach to app development.

Now, I've been starting learning more about AI and trying it out and **one use case I like very much: prototyping and building personal apps.**

08.03.2026 10:00 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Preview
Felipe Espinoza | CraftingSwift Portfolio of Felipe Espinoza (CraftingSwift), including YouTube content and the Chronia app.

It's been a while in my head, but now it's finally out!
craftingswift.dev

This will be my portfolio website + blog

The site is currently being built, but I will share more content besides only using video form.

#developer #apple #iOS #macOS #youtuber

05.03.2026 09:00 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Video thumbnail

πŸ“£ Chronia 1.1 is out!

In this release, I’ve added the ability to pause and resume work sessions. You can also create and add tags to your sessions, which will help you map your process and identify areas for optimization in your projects.

Check it out! apps.apple.com/app/chronia-...

#macOS

04.03.2026 18:30 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Xcode has something similar in the device selector. It's a great UI pattern IMO. I wish to see it more often in macOS app

24.02.2026 09:00 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Post image Post image

I'm surprised this is not a native control on macOS, but for the new Tag feature of Chronia, I wanted to quickly filter/select a tag for a work session, then if the tag is not found, offer to create it in the same UI.

#macOS #ui #ux

24.02.2026 09:00 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Recreating Slack’s iOS Navigation Bar in SwiftUI
Recreating Slack’s iOS Navigation Bar in SwiftUI In this video, I break down the Slack navigation bar styling and rebuild the effect step by step in pure SwiftUI β€” no UIKit, no private APIs, no custom nav bar implementation. You’ll learn: - How to…


If you haven't check the video yet, here is the link www.youtube.com/watch?v=I7lU...

Soon I will announce the update to Chronia, together with something else 😏

22.02.2026 18:09 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Post image

In my latest video: Recreating Slack’s iOS Navigation Bar in SwiftUI. I was testing a new feature coming to soon to Chronia. Tags.

Simple, but allows me to summarize the work on my videos to get a better breakdown of the work I put on a video

#macOS #app #timeTracking

22.02.2026 18:09 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Recreate the slack navigation bar on iOS 26
Recreate the slack navigation bar on iOS 26 In this video, I break down the Slack navigation bar styling and rebuild the effect step by step in pure SwiftUI β€” no UIKit, no private APIs, no custom nav bar implementation. You’ll learn: - How to…

πŸ“£ New video out!

This time, I replicate the navigation bar styling in Slack for iOS using only SwiftUI APIs. I break down the problem and solve it step by step.

The code is in the video description.

Check it out!

www.youtube.com/watch?v=I7lU...

#swift #swiftui #navigationbar #ios26

17.02.2026 20:44 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

It's been many years since I set aside time to tweak my terminal.

I keep using zsh / tmux / neovim and my dot files have been the same for quite a while.

What are the newest popular tools used for this?

#cli #developer

11.02.2026 11:58 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Preview
Initializing @Observable classes within the SwiftUI hierarchy Learn the recommended ways to initialize and store @Observable classes in SwiftUI views, and see what can go wrong when observable state is managed incorrectly.

Using @Observable is great, but it has one small caveat. The initializer of the @Observable objects will be called multiple times, even with @State

@nilcoalescing.com's excellent article covers that topic in more detail.

#iOS #swiftUi

nilcoalescing.com/blog/Initial...

03.02.2026 12:00 πŸ‘ 11 πŸ” 4 πŸ’¬ 0 πŸ“Œ 0
Post image

I try to always be productive on my side projects, YouTube and my apps.
For that my approach is to work each day a bit.

I use my Mac App Chronia to keep tract of that work and see how it builds up in time.

These are the things I worked on last week.

#sideprojects #productivity #timetracking

02.02.2026 12:00 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
From Side Project to Going Indie - Antoine van der Lee | SwiftLeeds 2024
From Side Project to Going Indie - Antoine van der Lee | SwiftLeeds 2024 Journey to Indie Development: Lessons from Success and Failure by Antoine van der Lee In this inspiring talk, Antoine shares his journey and lessons learned from transitioning a side project to a…

I recently watched πŸš€ Antoine van der Lee 's talk about going indie at SwiftLeeds

Good work habits, using different hats and persistence are great traits for any developer, check it out!

#developer #carrer #indie

www.youtube.com/watch?v=Teas...

31.01.2026 13:00 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
How to modularize an iOS app with SPM packages
How to modularize an iOS app with SPM packages This is the third part of a mini series where I share lessons from my day job. This time it's all about how I take a repo where all its code is in the main iOS target and modularize it using local…

In the SATS app we were struggling with that. We have started moving towards SPM packages for modules, that helps a lot.

I share our learnings on the topic on my YouTube video, where I apply the same principles on how to break down a big app into SPM packages.

www.youtube.com/watch?v=IjoX...

30.01.2026 09:55 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

One of the most frustrating things of iOS development are compilation times for big projects.

Previews take forever to update, recompiling the app for the simulator too.

#spm #ios

30.01.2026 09:55 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

@danijelavrzan.com hi, when it comes to CFP for conferences, how much weights the fact that you ask for plane tickets and hotel, vs saying that your company pays for them?

I've seen that question in a bunch of CFP. I'm not sure how much of an impact is for getting selected into a conference

30.01.2026 09:46 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

It’s great that is focused on Apple Development. I totally recommend it!

#BuildInPublic #AppleDevelopment #iosdevelopment #productdesign #appmarketing #bookrecommendation

P.S. as reference, I got 247 highlights from this book, way higher than normal.

26.01.2026 09:31 πŸ‘ 3 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
Everything but the Code You don’t need more coding tutorials. You need a plan, and that's where my new book comes in. It's called Everything but the Code, and it's designed to provide everything you need to go from Xcode to…


As developers we tend to focus mostly on Code, so it’s useful to look at the other aspects of app development.

The book touches on gathering ideas, evaluating the most likely to succeed, make a plan for validation and development and how to successfully ship an app.

26.01.2026 09:31 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Post image

I just finished the book β€œEverything but the code” by Paul Hudson and it’s a MUST read for iOS developers.

It has tons of great advice about selling apps on the App Store, but explains very well how building products is not just about the code itself.

twostraws.gumroad.com/l/everything...

26.01.2026 09:31 πŸ‘ 5 πŸ” 1 πŸ’¬ 1 πŸ“Œ 0
iOS Widget UI Design and Implementation in SwiftUI
iOS Widget UI Design and Implementation in SwiftUI Designing and Developing Widgets on iOS with WidgetKit is not trivial. In this video I give some tips on how to think in terms of the limited space and techniques that I learn developing a widget…

πŸŽ₯ Designing and Developing Widgets on iOS looks simple, but it's not quite like that.

In my video I share the challenges and solutions for a widget for a side project.

www.youtube.com/watch?v=511O...

#SwiftUI #WidgetKit #iOSDev #UIDesign #AppleDev

24.01.2026 23:53 πŸ‘ 2 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Useful for example:

- To see only the changes in a branch `git difftool $(git merge-base main HEAD)...HEAD `
- To see the commit logs from a branch `git log --oneline $(git merge-base main HEAD)...HEAD

21.01.2026 09:03 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Post image Post image Post image

Today I learned about a git command I missed many times.

```
$ git merge-base commitA commitB
```
It will find the most recent common ancestor between those two commits.

21.01.2026 09:03 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Post image Post image Post image

I made a time-tracking app for myself and ended up shipping it.

Chronia is simple, private, and subscription-free.

Intro price: $2.99 (normally $9.99) until the end of the month.

apps.apple.com/no/app/chron...

19.01.2026 20:48 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

In practice, my solution was toΒ wipe the CloudKit zone and start freshΒ (yes, I should’ve exported the data first… I forgot πŸ˜…).Lesson learned.#iOS

#SwiftData #CloudKit #Sync #Apple

16.01.2026 08:42 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

What I learned:
CloudKit uses theΒ fully qualified model nameΒ (ModuleName + ModelName) as part of its identity for syncing.

So even though the models looked the same, moving them to a different module effectively changed their identity

In theory, I could have handled this with a proper migration.

16.01.2026 08:42 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

I made some changes in development and syncing suddenly stopped working in production (post deploy).The change?

I moved my SwiftData models from the app target into anΒ SPM package.

While debugging, I tried promoting my CloudKit schema to production again β€” but CloudKit showedΒ no schema changes. πŸ€”

16.01.2026 08:42 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0