This is a submission for Weekend Challenge: Dog Days Edition
Pawford Academy β Where good dogs become great dogs! πΎ
A native iOS app built with SwiftUI that helps dog owners track their puppy's training journey. The app features an AI-powered voice coach powered by ElevenLabs that cheers your dog on after every training session, a daily mood tracker, and a graduation certificate when your pup completes all their sessions.
The idea came from a personal place. I had a black Labrador named Blacky when I was growing up β he was my best friend. Building Pawford Academy was a way to honor that memory and create something genuinely useful for dog lovers everywhere. Whether you have a Golden Retriever, a Husky, a Chow Chow, or a Labrador like Blacky β every dog deserves to graduate from Pawford Academy! π
Key features:
π₯ Watch the full demo here:
Note:The simulator recording doesn't capture audio β the ElevenLabs voice encouragement plays live in the app after each action! Judges who run the app will hear Pawford speak after every mood selection and training session. π
π GitHub: https://github.com/gamya-hub/PawfordAcademy
Where good dogs become great dogs!
A beautiful SwiftUI iOS app that helps dog owners track their puppy's training journey β complete with AI-powered voice encouragement using ElevenLabs, mood tracking, training session logging, and a graduation certificate when your pup completes all their sessions! π
Built for the DEV Weekend Challenge: Dog Days Edition π
Tech Stack:
@Published
and ObservableObject
The ElevenLabs integration was the most exciting part. Every time a user logs a training session or selects a mood, the app sends the text to the ElevenLabs API and plays back the warm, encouraging response. The voice counts down remaining sessions to graduation and delivers a special announcement when the dog completes all sessions.
Here's how simple the API call is in Swift:
let url = URL(string: "https://api.elevenlabs.io/v1/text-to-speech/\(voiceId)")!
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue(apiKey, forHTTPHeaderField: "xi-api-key")
let body: [String: Any] = [
"text": text,
"model_id": "eleven_multilingual_v2",
"voice_settings": ["stability": 0.5, "similarity_boost": 0.75]
]
The app was built entirely from scratch during the challenge weekend. The graduation flow was my favourite feature to build β the paw print progress tracker (πΎπΎπΎ filling up one by one) gives users a clear, delightful sense of progress toward their dog's big day.
One thing I'm proud of: The app uses @Published
and ObservableObject
for the ElevenLabs service, which means the UI shows a "Pawford is speaking..." indicator while the voice is playing β a small detail that makes the AI feel alive and present.
Best Use of ElevenLabs β ElevenLabs powers the entire voice coaching experience in Pawford Academy. Every mood selection, every training session logged, and every graduation milestone is celebrated with a warm AI voice response generated in real time using the ElevenLabs text-to-speech API.
This article was written by me; AI was used to improve grammar and readability.