Here's one example: https://github.com/sammlapp/ovenbird-individual-recognition
My impression is that the hardest part is knowing whether or not you're actually doing a good job. For vocal learners (like the ovenbird example linked above), it seems to be pretty easy using embeddings from existing models (like perch or birdnet). For non-learning species (possibly including your swifts), you can use timbre clues to differentiate many individuals, but may not be able to really nail down individual identity.