Blog

Articles

Async Task List

11/20/25

Implementation of a robust system for managing asynchronous task lists with database state persistence using Swift and Vapor.

Swift Vapor
Read →

Multi-Step Process

11/12/25

A Swift pattern to orchestrate multi-step processes with a repeat-while state machine, deterministic control and recovery after failures.

Swift Vapor
Read →

Concurrent Map

10/27/25

Build a concurrentMap extension on Sequence using Swift structured concurrency to run async transformations in parallel with Sendable safety and error handling.

Swift Vapor
Read →

Async Map

10/20/25

Build a sequential asyncMap extension on Sequence in Swift to transform collections with async/await while preserving order and limiting resources.

Swift Vapor
Read →

Guard and LogError

10/13/25

Build a generic Swift function that combines guard-let unwrapping, error logging, and exception throwing in a single reusable line for Vapor backends.

Swift Vapor
Read →

Schemas and Namespaces

10/06/25

Learn how to use the space property in Vapor's Fluent models to organize database tables into namespaces, and avoid a subtle optional type declaration bug.

Swift Vapor
Read →

Partial Indexes

09/29/25

Extend Vapor's SQLCreateIndexBuilder to support partial indexes with WHERE clauses on NULL columns, avoiding raw SQL while keeping type safety in Swift.

Swift Vapor
Read →

My First Data Race

09/22/25

How a refactoring toward concurrency in Swift led me to a race condition, and how I solved it by applying Swift actor patterns in my project.

Swift Vapor
Read →

Timestamps in Migrations

09/15/25

How to avoid repeating the createdAt, updatedAt and deletedAt fields in every Fluent migration with a cleaner SchemaBuilder extension.

Swift Vapor
Read →

Claude Code

09/01/25

Discover how Claude Code became my favorite development assistant and the rules and workflow I apply to get the most out of its potential.

AI
Read →