4 puntos por kirri1124 2026-04-23 | 3 comentarios | Compartir por WhatsApp

Hola.
Quiero presentar una app de aprendizaje para iOS que hice como proyecto personal.

Por qué la hice

Si le preguntas conceptos de Swift a ChatGPT o Claude, te dan una respuesta clara de inmediato.
Pero al repetir la experiencia de volver a encontrarme con el mismo concepto unos días después y sentir la mente en blanco, volví a darme cuenta de que "aprender recibiendo la respuesta" y "aprender encontrando la respuesta" no son lo mismo.

Por eso intenté implementar como tutor de IA el método socrático de enseñanza: en vez de dar la respuesta, hace preguntas para que la persona llegue a la comprensión por sí misma.
La verdad, es una app hecha a propósito para ser incómoda.

Qué tipo de app es

  • 50 conceptos de Swift (desde nivel inicial hasta avanzado, incluyendo async/await, Actor, Associated Types, etc.)
  • Aunque el usuario haga preguntas, la IA no da respuestas. En su lugar, guía el razonamiento con contrapreguntas
  • Un concepto por día, con una estructura en la que se alcanza la "maestría" a través de la conversación
  • Editor integrado donde durante la conversación se puede escribir código Swift directamente (resaltado de sintaxis + indentación automática)
  • Registro de aprendizaje (calendario de actividad), widget y modo oscuro

Stack tecnológico

  • iOS: SwiftUI + SwiftData, MVVM + @Observable, 0 dependencias externas
  • Backend: Node.js sobre Vercel Functions (streaming SSE)
  • LLM: Claude Haiku 4.5 vía OpenRouter. Con abstracción del provider para poder cambiar a Gemini/OpenAI
  • Currículum: 50 conceptos basados en JSON, con prompt engineering del lado del servidor para imponer la restricción de "preguntas en vez de respuestas"

Estado actual

  • Sin registro/inicio de sesión — por ahora solo guarda localmente en el dispositivo, uso anónimo
  • Sin anuncios — porque me pareció que no encajaban con el tono de una app de aprendizaje
  • Sin pagos — todavía está en etapa de validar la base. Más adelante estoy considerando un modelo de suscripción

Limitaciones honestas / en evaluación

  • Recibí feedback de que es pesada para usar camino al trabajo, así que estoy diseñando un "modo de 5 minutos" para que la duración de cada sesión sea más predecible
  • La primera respuesta tiene un p99 de unos 9 segundos (medición observada en OpenRouter). Con prompt caching, el objetivo para la próxima versión es bajarlo a 3~4 segundos
  • El costo de tokens por usuario está en torno a $0.005/DAU. Si escala, habrá que revisarlo otra vez

Enlace


Van solo 3 días desde el lanzamiento, así que todavía no hay muchos datos.
Sobre todo, me interesa escuchar opiniones sobre una pregunta estructural: ¿una IA que no da respuestas termina siendo más frustrante que útil?
Si la prueban y me dejan feedback, ¡se los agradecería mucho!

3 comentarios

 
kirri1124 2026-04-23

Lo que más me sorprendió mientras la hacía fue que, al intentar crear una "IA que no da la respuesta", el LLM seguía intentando romper las restricciones que puse en el system prompt (evaluación de dominio basada en tokens [MASTERY]), así que terminé dedicando más tiempo del que esperaba a la ingeniería de prompts.

Gemini Flash respetó mejor esta restricción que Claude Haiku, pero en cambio Claude fue mejor en la profundidad de las preguntas. Ahora mismo estoy usando la combinación de Claude + refinamiento fino de prompts.

Si alguien ha tenido experiencia diseñando prompts parecidos para "contener a un LLM", agradecería mucho que compartiera sus consejos 🙏

 
yataman123 2026-04-24

¿Qué diferencia habría entre asignarle un rol a un agente y aprender conversando directamente con ese agente, y estudiar usando esta app?

 
kirri1124 2026-04-24

Yo también probé tanto GPT como Claude con prompts personalizados, pero después de usarlo unos días, al final uno termina diciendo: "¡Ay, mejor dime la respuesta!"... Y además, si sigues usándolo, se llega muy seguido a situaciones donde te terminan dando la respuesta.

Por eso, más que aprendizaje, la sensación era muy fuerte de que se volvía una búsqueda.

La app que hice tiene el system prompt y la evaluación de dominio del lado del servidor, así que eso se presta un poco menos a que se afloje.
Además, como el momento en que termina la sesión está definido, creo que es cómodo para usarlo camino al trabajo.

La verdad, como dices, el método en sí perfectamente se puede hacer también con GPT o Claude.
Pero creo que se puede ver como un formato pensado para personas como yo, a quienes les cuesta mucho mantener la constancia por su cuenta. :)