Ace Citizenship
Una aplicacion iOS gratuita que construi para ayudar a mi esposa a pasar su examen de ciudadania estadounidense.
Resumen
Cuando mi esposa comenzo a prepararse para su examen de naturalizacion estadounidense, no pude encontrar una aplicacion de estudio que cumpliera mis estandares.
Ace Citizenship cubre las 128 preguntas civicas oficiales de USCIS usando repeticion espaciada.
La aplicacion es y seguira siendo completamente gratuita. Sin anuncios, sin suscripciones.
La historia del origen
Construi Ace Citizenship para una audiencia de una persona: mi esposa.
Las aplicaciones existentes en el mercado eran decepcionantes.
Sabia que podia hacerlo mejor.
La aplicacion
Ace Citizenship ofrece una experiencia premium sin el precio premium. La interfaz es limpia, enfocada y respetuosa con tu tiempo.
Diseno visual
Cree un lenguaje visual 3D cohesivo - sonador, optimista, distintivamente americano.
Cada ilustracion fue generada en Midjourney usando prompts personalizados que he refinado en mas de 100,000 generaciones de imagenes.
Mas de mi arte generado por IA en dreamofelectric.com. dreamofelectric.com.
Repeticion espaciada
En el corazon de Ace Citizenship hay un algoritmo de repeticion espaciada que optimiza las sesiones de estudio.
Este enfoque basado en evidencia reduce dramaticamente el tiempo de estudio mientras mejora la retencion.
La aplicacion rastrea el progreso y se adapta a los patrones de aprendizaje individuales.
Aprendizaje personalizado
Algunas preguntas de USCIS tienen respuestas que dependen de tu situacion especifica.
Esta atencion al detalle significa que los usuarios aprenden la informacion exacta que necesitaran el dia del examen.
Implementacion tecnica
Construido completamente en SwiftUI para iOS, Ace Citizenship aprovecha al maximo los frameworks modernos de Apple.
La arquitectura es mantenible y eficiente.
Seguir las Human Interface Guidelines de Apple asegura que la aplicacion se sienta nativa.
Bajo el capo
Algunos patrones interesantes del codigo que hacen la aplicacion efectiva.
Algoritmo de repeticion espaciada
El motor de aprendizaje principal prioriza las preguntas con las que tienes dificultades.
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))
}
Personalizacion especifica del estado
La aplicacion mantiene una base de datos de los 50 estados mas territorios.
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
]
Temas type-safe
El sistema de temas usa la caracteristica KeyPath de Swift para seguridad en tiempo de compilacion.
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)
Ella paso
Mi esposa uso Ace Citizenship para prepararse para su examen de naturalizacion. Paso.
Ese momento hizo que cada hora de desarrollo valiera la pena.
Ayudando a otros
Despues del exito de mi esposa, publique Ace Citizenship en la App Store. Ha obtenido una calificacion de 5 estrellas.
Un usuario escribio: "Use esta aplicacion para practicar 30 minutos al dia durante un mes y pase!"
La aplicacion continua ayudando a inmigrantes a alcanzar su meta de convertirse en ciudadanos estadounidenses.
Agradecimientos
Ace Citizenship representa lo que amo de construir software.
Este proyecto me permitio trabajar a traves de todo el ciclo de vida del producto.
La aplicacion es y seguira siendo gratuita.