Ace Citizenship
Eine kostenlose iOS-App, die ich gebaut habe, um meiner Frau beim Bestehen ihres US-Staatsbuergerschaftstests zu helfen.
Zusammenfassung
Als meine Frau begann, sich auf ihren US-Einbürgerungstest vorzubereiten, konnte ich keine Lern-App finden, die meinen Ansprüchen entsprach. Die meisten waren mit Werbung überladen, verwendeten veraltete Inhalte oder ignorierten bewährte Lerntechniken. Also habe ich eins gebaut.
Ace Citizenship deckt alle 128 offiziellen USCIS-Civics-Fragen mit Spaced Repetition ab.
Die App ist und bleibt vollstaendig kostenlos. Keine Werbung, keine Abonnements.
Die Entstehungsgeschichte
Ich habe Ace Citizenship fuer ein Publikum von einer Person gebaut: meine Frau.
Die vorhandenen Apps auf dem Markt waren enttäuschend. Aufdringliche Werbung unterbrach die Lernsitzungen. Abonnement-Paywalls blockierten den Zugriff auf wichtige Inhalte. Das Design fühlte sich wie ein nachträglicher Einfall an.
Ich wusste, dass ich es besser machen könnte. Also habe ich die gesamte App von Grund auf entworfen, gebrandet und entwickelt – eine Liebesarbeit, die meine Erfahrung im Produktdesign mit meiner Leidenschaft für die Entwicklung nützlicher Software kombinierte.
Die App
Ace Citizenship bietet ein Premium-Erlebnis ohne den Premium-Preis. Die Oberflaeche ist klar, fokussiert und respektiert Ihre Zeit.
Visuelles Design
Ich habe eine zusammenhaengende 3D-Bildsprache geschaffen - traeumerisch, optimistisch, eindeutig amerikanisch.
Jede Illustration wurde in Midjourney mit benutzerdefinierten Prompts generiert, die ich ueber 100.000+ Bildgenerierungen verfeinert habe.
Mehr von meiner KI-generierten Kunst auf dreamofelectric.com. dreamofelectric.com.
Spaced Repetition
Im Kern von Ace Citizenship steht ein Spaced-Repetition-Algorithmus, der Lernsitzungen optimiert.
Dieser evidenzbasierte Ansatz reduziert die Lernzeit drastisch bei gleichzeitiger Verbesserung der Merkfaehigkeit.
Die App verfolgt den Fortschritt und passt sich an individuelle Lernmuster an.
Personalisiertes Lernen
Einige USCIS-Fragen haben Antworten, die von Ihrer spezifischen Situation abhaengen.
Diese Liebe zum Detail bedeutet, dass Benutzer die genauen Informationen lernen, die sie am Pruefungstag brauchen.
Technische Implementierung
Ace Citizenship wurde vollständig in SwiftUI für iOS entwickelt und nutzt die modernen Frameworks von Apple voll aus. Die App nutzt SwiftData für die lokale Persistenz und gewährleistet so die geräteübergreifende Synchronisierung des Fortschritts über iCloud, ohne dass Benutzerkonten erforderlich sind.
Die Architektur ist wartbar und effizient. Die Fragendatenbank wird nahtlos aktualisiert, wenn USCIS ihre offizielle Liste überarbeitet, und die Engine für räumliche Wiederholungen läuft vollständig auf dem Gerät und sorgt so für sofortiges Feedback.
Das Befolgen von Apples Human Interface Guidelines stellt sicher, dass sich die App nativ anfuehlt.
Unter der Haube
Einige interessante Muster aus der Codebasis, die die App effektiv machen.
Spaced-Repetition-Algorithmus
Die zentrale Lern-Engine priorisiert Fragen, mit denen Sie Schwierigkeiten haben. Wenn Sie falsch antworten, wird diese Karte in eine separate Warteschlange gestellt, die in Ihre nächste Lernsitzung eingefügt wird. Dadurch wird sichergestellt, dass Sie schwieriges Material häufiger sehen, bis Sie es beherrschen.
func completeCard(correct: Bool) {
if !currentSet.isEmpty {
let card = currentSet.removeFirst()
remainingCards -= 1
if correct {
cards.append(card) // Back to main deck
} else {
incorrectCards.append(card) // Priority requeue
}
}
}
func prepareNextSet() {
// Prioritize missed questions in next round
let incorrectCount = min(incorrectCards.count, 10)
let newCardsCount = 10 - incorrectCount
currentSet = Array(incorrectCards.prefix(incorrectCount))
incorrectCards.removeFirst(incorrectCount)
currentSet += Array(cards.prefix(newCardsCount))
}
Staatsspezifische Personalisierung
Die App pflegt eine Datenbank aller 50 Staaten plus Territorien.
struct StateInfo {
let name: String
let senators: [String]
let governor: String
let capital: String
}
// Updated for 119th Congress (January 2025)
let stateInformation: [String: StateInfo] = [
"California": StateInfo(
name: "California",
senators: ["Adam Schiff", "Alex Padilla"],
governor: "Gavin Newsom",
capital: "Sacramento"
),
// ... all 50 states + territories
]
Typsicheres Theming
Das Theming-System verwendet Swifts KeyPath-Funktion fuer Compile-Time-Sicherheit.
struct Theme {
struct ColorSet {
let background: Color
let surface: Color
let onBackground: Color
let blue: Color
let green: Color
let red: Color
}
static func color(
_ keyPath: KeyPath<ColorSet, Color>,
for colorScheme: ColorScheme
) -> Color {
let colorSet = colorScheme == .dark
? darkMode
: lightMode
return colorSet[keyPath: keyPath]
}
}
// Usage: Theme.color(\.blue, for: colorScheme)
Sie hat bestanden
Meine Frau benutzte Ace Citizenship, um sich auf ihren Einbuergerungstest vorzubereiten. Sie hat bestanden.
Dieser Moment machte jede Entwicklungsstunde lohnenswert.
Anderen helfen
Nach dem Erfolg meiner Frau veröffentlichte ich Ace Citizenship im App Store. Es hat eine 5-Sterne-Bewertung erhalten und Benutzer berichten immer wieder, dass die App ihnen dabei geholfen hat, ihren Staatsbürgerschaftstest zu bestehen.
Ein Benutzer schrieb: "Ich habe diese App einen Monat lang taeglich 30 Minuten genutzt und bestanden!"
Die App hilft weiterhin Einwanderern, ihr Ziel zu erreichen, US-Buerger zu werden.
Danksagung
Ace Citizenship repraesentiert, was ich am Softwareentwickeln liebe.
Dieses Projekt ermoeglichte es mir, ueber den gesamten Produktlebenszyklus zu arbeiten.
Die App ist und bleibt kostenlos. Denn manche Dinge – etwa Menschen dabei zu helfen, Staatsbürger des Landes zu werden, das sie als Heimat gewählt haben – sind wichtiger als Einnahmen.