Swift Sips

Small sips of Swift wisdom. A blog about Swift and iOS development by Thomas Prezioso Jr.


In the last post we added some validation to our request, created safer response DTOs, moved route logic into controllers, and made our routes.swift much smaller. That was an important step to making the project easier to maintain. Right now, LinkVault can save links for a user, but every link lives in one flat list. That works for a small demo, but real saved-links apps need more structure.

July 27, 2026

21 min read

Read Article

More Posts

In the last post we focused mostly on getting our backend up and running. We added users, password hashing, bearer tokens, protected routes, and user-owned data. At this point, our LinkVault app works. Our users can sign up, log in, create links, and only see their own data. But there is one issue you might have noticed. routes.swift is getting a little messy. This is bad for our code base but a great sign that we need to reorganize some code. In this part, we are going to clean up our API and make it feel more like a production-ready Vapor project. By the end of this post, we will:

July 5, 2026

16 min read

Read More

In Part 2 of this ongoing series about building out my first server-side Swift app, we turned LinkVault from a simple Vapor app into a real database-backed API. We added a Link model, created a migration, connected to Postgres, and built CRUD routes for saving and managing links.

May 5, 2026

23 min read

Read More

In part 1, we set up a Vapor project to use Fluent + Postgres, learned how to run the app locally in our browser, added some starter routes for us to play with, and returned JSON responses using Swift types. In this post, we’re going to build the first real version of LinkVault, our saved-links backend. By the end, we’ll have:

May 4, 2026

12 min read

Read More

I really want to learn how to build server-side Swift apps!

April 29, 2026

8 min read

Read More

Let’s take a look at how we can implement TipKit in a SwiftUI application. TipKit is used to show contextual tips that highlight new, interesting, or unused features people haven’t discovered on their own yet.

January 24, 2025

5 min read

Read More

Back to top

RSS Feed

© 2026 Thomas Prezioso Jr. All rights reserved.

Built with Swift using Ignite