Recientemente, he escrito bastante sobre mis pensamientos acerca del desarrollo independiente. Quería resumirlos hablando sobre el viaje de Mole, desde una CLI de código abierto hasta un software de pago para Mac: lo que estaba pensando en ese momento, lo que realmente funcionó y, quizás, proporcionar algo de información para amigos que trabajan en sus propios proyectos.
El sitio web oficial de Mole es
mole.fit , y la CLI es de código abierto en
GitHub . Puedes probarlo primero.
El año pasado, durante las vacaciones del Día Nacional, escribí unos cientos de líneas de código junto a una piscina en Sanya y creé una herramienta de línea de comandos para limpiar Mac llamada Mole CLI, que publiqué como código abierto en GitHub. Originalmente, solo la había creado para mí y mis colegas. Resultó que, en menos de un año, obtuvo 60,000 estrellas, lanzó más de 50 versiones y 121 desarrolladores de todo el mundo enviaron código, resolviendo casi 800 sugerencias de funciones y errores.
En realidad, no me di cuenta de cuántas personas la estaban usando hasta que, en una ocasión, como tenía dos imágenes en el README aceleradas por Vercel, el tráfico superó el límite de facturación y le debía $80 a Vercel. Fue entonces cuando me di cuenta de que era hora de crear una versión de escritorio.
Anteriormente, el tipo de correo electrónico más común que recibía era de usuarios internacionales, con el sentimiento general de: "Mis padres usan Mac, mi hermana también lo usa, pero no saben cómo abrir la terminal. ¿Puedes hacer una versión que no requiera escribir comandos?". Pospuse esto por un tiempo, principalmente porque sentía que la CLI en sí no era lo suficientemente madura. Más tarde, dediqué dos fines de semana a crear la versión de escritorio para Mac. La publiqué a las 10 de la noche de ese día, y las notificaciones no pararon de sonar toda la noche: francos, euros, todo tipo de monedas. Finalmente, apagué las notificaciones por correo electrónico solo para poder dormir un poco. Mirando hacia atrás, ese lanzamiento inicial era bastante básico; ¿qué tan completo puede ser algo construido en dos fines de semana? Muchas funciones se agregaron poco a poco durante los meses siguientes. Básicamente, fue un grupo de usuarios que pagaron primero y luego me acompañaron para terminarlo. La CLI permanece igual, sigue siendo de código abierto y gratuita, y continuará actualizándose; solo la versión de escritorio es de pago.

Tres Tipos de Basura Creada por la IA
Después de construir la versión de escritorio, la función que más usé yo mismo fue la limpieza, porque mi Mac estaba siendo realmente llevada al límite por la IA. Tengo Claude Code y Cursor abiertos todo el día para escribir cosas. Al principio, no le presté mucha atención, pero luego descubrí que la basura que deja la IA es muy diferente a la del software tradicional, y se divide en tres categorías.
La primera categoría son los artefactos de compilación. Esto no es nuevo, pero la IA ha ampliado la escala. Antes, podía escribir manualmente unos cientos de líneas de código y compilar de tres a cinco veces al día; ahora, dejo que un agente ejecute una docena de rondas en una tarde, compilando una vez por ronda. Los targets de proyectos Rust, las carpetas .next y dist del frontend, y DerivedData de Xcode crecen muy rápido. Una vez limpié 86 GB solo de estas cosas. La segunda categoría son las versiones antiguas que dejan las propias herramientas de IA. Herramientas de línea de comandos como Claude Code, Cursor Agent y GitHub Copilot se actualizan automáticamente. Se actualizan descargando la nueva versión completa en un nuevo directorio, cada versión tiene unos 250 MB, y las antiguas no se eliminan. En unos meses, se pueden acumular una docena de versiones inútiles. La tercera categoría son los archivos de modelo: los modelos descargados por Ollama y LM Studio, y los cachés de HuggingFace, que a menudo ocupan decenas de gigabytes.

Mole limpia las dos primeras categorías, pero no toca ni un solo byte de la tercera. Más tarde, gradualmente pensé en esto en tres niveles, categorizando todo lo escaneado antes de decidir si debería estar marcado por defecto. El primer nivel es renovable: cachés HTTP, cachés de GPU, artefactos de compilación y la mayoría de los registros. Si la aplicación relevante ha salido y la ruta está despejada, se puede limpiar. El segundo nivel tiene un alto costo de reconstrucción: los cachés de registro de gestores de paquetes, los pesos de modelos locales y iOS DeviceSupport se pueden reconstruir, pero cuesta ancho de banda y tiempo, por lo que el usuario debería echar un vistazo. El tercer nivel es irremplazable: el historial de chat, las bases de datos de correo electrónico, las bibliotecas de fotos y el estado de los proyectos actuales. Creo que estas cosas nunca deberían incluirse en una lista de limpieza con un solo clic.
Comprimir estos tres niveles en una sola lista de "seguro de eliminar" sería más fácil, pero el costo es tomar la decisión por el usuario. Las diez categorías en la página de limpieza están ordenadas de esta manera: los cachés renovables están en la parte superior, y cuanto más abajo, más necesitas verificar por ti mismo.

Cosas como target, build, dist, __pycache__ y DerivedData se pueden recuperar recompilando, a costa de unos minutos de CPU. node_modules, Pods, venv y vendor también parecen directorios de dependencias, pero eliminarlos requiere descargarlos nuevamente de internet. Si estás en un tren de alta velocidad o en un avión y quieres ejecutar un proyecto, te quedarías esperando. Estas dos categorías se ven similares y se pueden limpiar fácilmente como basura juntas. Mole CLI hacía esto al principio, pero luego eliminé específicamente todos los directorios de tipo de descarga de la lista de limpieza de la versión para Mac.
Los modelos son la categoría más pesada aquí. Volver a descargar decenas de gigabytes es un desastre, y una herramienta de limpieza general ni siquiera los eliminará correctamente. Ollama divide los modelos en un montón de bloques nombrados por hash; varios modelos pueden compartir el mismo bloque. ollama rm calcula si alguien más está haciendo referencia a un bloque antes de atreverse a liberarlo. Si eliminas manualmente un bloque que parece grande del sistema de archivos, podrías dañar otro modelo. Solo la herramienta misma entiende estas referencias.
Por lo tanto, rutas como ~/.ollama/models y ~/.cache/huggingface están codificadas en una lista de protección en el código. Ni siquiera aparecerán durante la fase de escaneo; solo muestran su tamaño ocupado en la sección de análisis de disco, dejando que los modelos sean gestionados por Ollama o LM Studio.

Hay otra categoría de cosas aún más intocables que los modelos: los registros de sesiones de IA. ~/.codex/sessions, ~/.claude/projects y ~/.grok/sessions almacenan tus diálogos completos con la IA durante meses o incluso un año. Contienen tus pensamientos en ese momento, las soluciones rechazadas y las razones de cada cambio. Si se eliminan, se pierden para siempre y, en cierto modo, son más valiosos que el propio código. Por lo tanto, estas rutas nunca se limpiarán en Mole, sin importar cuánto tiempo lleven allí. También están protegidos los recuerdos, planes, habilidades e imágenes generadas.

Estas listas de protección no se pensaron todas al principio; en su mayoría se aprendieron a base de prueba y error. El error más tonto fue com.apple.e5rt.e5bundlecache. Tiene "Caches" en el nombre y está ubicado en el directorio de caché, por lo que parece un caché, pero en realidad es un modelo compilado por el Motor Neural de Apple. La CLI, al principio, lo trató como un caché y lo limpió, causando que todas las aplicaciones que usaban funciones de reconocimiento fallaran hasta reiniciar. Desde entonces, he desarrollado un hábito: cuando veo un directorio con "cache" en su nombre, me hago tres preguntas: ¿Quién lo escribió? ¿Quién lo leerá después de un reinicio? ¿Cómo lo recupero si lo elimino por error? Si no puedo responder una, no lo toco.
Mira Antes de Eliminar
No juzgo la calidad de este tipo de herramientas por cuánto pueden limpiar, sino por si te permiten ver claramente antes de eliminar.
Cuando Mole limpia, primero escanea, enumera los elementos uno por uno y muestra exactamente qué es cada elemento, dónde está y cuánto espacio ocupa. Los elementos de los que no estoy seguro están desmarcados por defecto. Confirmas antes de eliminar y, al eliminar, los elementos van primero a la Papelera para que puedas recuperarlos si te arrepientes. El escaneo y la limpieza se realizan completamente en local; los archivos y los resultados nunca se suben. El costo es que es más lento y requiere un paso de confirmación adicional, lo que puede parecer tedioso cuando tienes prisa, pero prefiero no eliminar algo a eliminarlo por error.

La desinstalación sigue la misma lógica. Cuando seleccionas una aplicación, Mole encuentra todo lo que está disperso por el sistema, etiquetando cada elemento con su ruta y tamaño. En la imagen de arriba, la aplicación Claude en sí solo ocupa 781 MB, pero ~/Library/Application Support/claude tiene 7.67 GB. Nunca es el paquete de la aplicación en sí lo que realmente ocupa espacio. Los elementos de inicio y los servicios en segundo plano también están en la misma página, para que no tengas que buscarlos en Configuración del Sistema.
Por ejemplo, los instaladores de actualizaciones del sistema macOS, el directorio /macOS Install Data, a menudo tienen más de 10 GB y parecen un objetivo de limpieza perfecto. Pero el sistema podría necesitarlos para completar la actualización; eliminarlos demasiado pronto podría impedir que la máquina arranque. Por lo tanto, en Mole, es un elemento de revisión desmarcado con tres capas de protección: si hay una actualización esperando ser instalada, toda la fila está oculta; si el instalador fue tocado en los últimos 14 días, está oculto; si los procesos relacionados con la instalación aún se están ejecutando, está oculto. Si no se puede leer ninguna señal, se trata como un riesgo y no se muestra en absoluto.
En el momento de la ejecución, el script con privilegios de root ejecuta estas comprobaciones nuevamente. Si fallan, sale con un código distinto de cero. No verás una situación en la que "el informe dice que se limpiaron 12 GB pero no se movió ni un solo byte".
Tengo una forma muy simple de juzgar si una herramienta de limpieza es buena. Instala dos productos del mismo proveedor, desinstala solo uno y mira si incluye el directorio principal de Application Support compartido o el contenedor de grupo. Si lo hace, significa que está coincidiendo por nombre, no por propiedad. No me atrevo a dejar que una herramienta que no puede aclarar la propiedad elimine cosas en masa.

No Te Molestará Normalmente
Limpiar 86 GB de una sola vez no se logra eliminando algunos registros; al desinstalar Claude, puedes encontrar cosas diez veces más grandes que la propia aplicación esparcidas por todo el sistema. Encontrará lo que necesita encontrar, pero no te molestará activamente.
Una vez instalado, no aparecerán notificaciones cada pocos días para recordarte que limpies, ni saltará después de un escaneo para decirte lo peligroso que es tu ordenador. Ábrelo cuando quieras limpiar; cuando no, es como si no existiera.
La interfaz sigue la misma filosofía. Si el escaneo no ha terminado, no entra en la página de resultados. Para las cosas que estarán listas en un momento, ni siquiera muestra un indicador de carga; solo después de un tiempo aparece una animación de "ocupado". La página de finalización también tiene espacio reservado de antemano para que la ventana no salte cuando aparezcan los resultados. Todas estas reglas son muy triviales, pero juntas son la razón por la que se siente estable de usar.
Las tareas subyacentes son inherentemente impredecibles, por lo que agregar animaciones no ayuda; el proceso en sí debe ser confiable. No quiero una herramienta de mantenimiento que requiera monitoreo constante. Inicia la tarea, espera a que termine y luego recupera la pantalla; eso es suficiente. No necesita seguir parpadeando para recordarte que la mires.
La accesibilidad también es parte de esto. El orden de lectura, las operaciones del teclado y la estabilidad del enfoque son parte de la misma experiencia "tranquila". Cuando el "Reducir movimiento" del sistema está activado, los planetas detienen su rotación decorativa y los cambios de estado reducen el movimiento espacial. Ninguna operación depende de que el usuario entienda una animación.

Haciéndolo Utilizable Incluso para una Persona de 70 Años
Anteriormente, cuando hacía cosas, básicamente solo consideraba si eran fáciles de usar para mis colegas y amigos. Al pasar de la CLI a la versión de escritorio, me di cuenta de que hacerlo utilizable para un abuelo de 70 años implica mucho más, y es mucho más interesante. Lo siguiente está extraído de los correos electrónicos de los usuarios de los últimos tres meses; mis mayores logros están casi todos aquí.
Un usuario británico de casi 70 años dijo que tuvo un "momento de adulto mayor" y compró Mole nuevamente. "Considera el segundo pago como un regalo para ti; gracias por esta excelente herramienta, me ahorró muchas más libras que CleanMyMac". Le sugerí que solicitara un reembolso o regalara la licencia adicional. Preguntó y respondió al día siguiente: "Ninguno de mis vecinos usa Mac, ni mis seguidores en Bluesky. Esta ronda es por mi cuenta". Recibir cartas como esa me hace sentir que debo mejorar el producto para ser digno de esa confianza.
Un usuario estadounidense corrigió una idea errónea que tenía sobre los hábitos regionales. Siempre pensé que los estadounidenses tenían que usar Fahrenheit para la temperatura, así que configuré Fahrenheit por defecto para la región de EE. UU. Dijo: "Los estadounidenses usan Celsius en todos los contextos técnicos; solo el clima y la temperatura corporal son excepciones. Me sorprendió ver 110 cuando instalé Mole. Las especificaciones que Apple muestra a los estadounidenses también están en Celsius, y fastfetch/neofetch usan Celsius por defecto en los sistemas estadounidenses. Sugiero mantener la opción de Fahrenheit pero usar Celsius por defecto para todas las regiones". Más tarde lo cambié a Celsius por defecto con una opción para Fahrenheit. También envió un seguimiento sobre el precio, diciendo que el número que di no parecía un precio deliberadamente establecido, sino una conversión de otra moneda. Agregó: "Con 'extranjero' no me refiero a anti-chino, sino a que la gente quiere sentir que el autor los entiende". Para ser honesto, elegí ese precio al azar; nunca pensé seriamente en el precio antes de hacer el producto. Ser señalado por un extraño fue bastante vergonzoso; resulta que una cifra de precio también afecta las decisiones de los usuarios.
Un usuario con discapacidad visual leve dijo: "Parece una aplicación muy bonita, pero desafortunadamente no puedo usarla; parece que tiene el modo oscuro codificado. Mi sistema está en modo claro y solo uso aplicaciones con modo claro". Hacer que Mole fuera solo modo oscuro fue una decisión deliberada; el panel de la barra de menú flota sobre el fondo de pantalla como un HUD, y el vidrio oscuro tiene menos deslumbramiento, eliminando la necesidad de un cambio de tema. Pero esta razón no fue válida para él. Siempre sentí que me tomaba en serio la accesibilidad, pero fallé por completo al darme cuenta de que el modo claro en sí mismo es un requisito de accesibilidad. Ha pasado un tiempo desde que recibí ese correo electrónico, y Mole sigue siendo solo modo oscuro; el modo claro todavía está en la lista, sin terminar. Me siento un poco culpable de que un producto que dice preocuparse por la accesibilidad haya dejado esperando tanto tiempo a un usuario que dijo explícitamente que no podía usarlo.
Un profesor de una universidad alemana solicitó una licencia educativa, diciendo que era "no solo un apoyo para mí personalmente, sino también un apoyo significativo a nivel educativo". Resulta que hay profesores internacionales que usan mi producto en un entorno de aula, un caso de uso que no había anticipado. Un médico húngaro dio la reseña negativa más honesta: "Para ser honesto, el precio es un poco alto para algo que una aplicación gratuita también puede hacer". No encontré esto duro en absoluto; el poder adquisitivo varía mucho entre países. No se quejaba; me estaba ayudando a localizar un problema.
Mis funciones favoritas en Mole no fueron realmente ideas mías. La notificación cuando los AirPods tienen poca batería se agregó mientras trabajaba en la salud de la batería; no me había encontrado con ese escenario hasta que una tarde la recibí realmente: fue muy considerada y no intrusiva. Agregué tres comportamientos diferentes para mantener la pantalla encendida después de un recordatorio de usuario; cuando salgo repentinamente los fines de semana, la codificación de IA puede continuar ejecutándose, ahorrándome mucho tiempo asíncrono. Poder ver el nivel de batería del iPhone en el estado fue difícil de implementar al principio, pero finalmente encontré una manera. Todas estas fueron cosas que los usuarios me dijeron que agregara, y terminé beneficiándome más de ellas.
En Realidad, He Estado Respondiendo Correos Electrónicos Manualmente
Las preguntas frecuentes, los reembolsos y el restablecimiento de códigos de activación representan menos del 1% de la base de usuarios. Podría escribir un script en media hora para automatizarlo todo, pero no lo he hecho. Solo procesándolos uno por uno puedo sentir lo que los usuarios realmente quieren, por qué solicitan un reembolso y qué los hace sentir incómodos, y eso a menudo no es lo primero que preguntan. Mi umbral para la automatización es cuando tres cosas son ciertas: el problema se repite, la respuesta es estable y todas las excepciones se entienden. Hasta entonces, prefiero responder una por una. Esto sigue siendo efectivo; no he gastado dinero en marketing, y el crecimiento proviene principalmente del boca a boca. La tasa de reembolso está por debajo del 0.8%. Muchos compradores son usuarios de larga data de la CLI.
Antes del lanzamiento, no configuré un sistema de tickets, plataforma de atención al cliente o base de conocimientos. A los ingenieros les gusta construir estos sistemas de soporte primero porque es un trabajo familiar, y la IA lo ha comprimido a medio día, lo que hace que sea más fácil comenzar demasiado pronto. Pero aunque solo toma medio día construirlo, el mantenimiento es un compromiso a largo plazo, y simplemente no es necesario todavía. El día en que la bandeja de entrada comience a perder solicitudes, los tiempos de respuesta se vuelvan confusos o la misma pregunta obtenga diferentes respuestas, es entonces cuando realmente se necesita un nuevo sistema. La IA hace posibles muchas partes de este producto, pero la comunicación con las personas no puede ser reemplazada por la IA; de lo contrario, no sería interesante. Puede mejorar la eficiencia, pero es difícil mejorar los sentimientos mutuos y la confianza. Esta también podría ser una forma en que los productos nacidos de la codificación de IA mantengan un toque humano.
Cosas que Encontré Útiles para Hacer
En la construcción de un producto, siento que la habilidad de codificación solo representa alrededor del 30%. Más esfuerzo se dedica a conectar tus propios puntos débiles con los de la mayoría de los usuarios, crear algo que sea fácil de usar sin un manual y ponerlo frente a las personas adecuadas para que sientan que resolvió un gran problema. Un ingeniero de producto es aproximadamente una combinación de investigador, gerente de producto, ingeniero, operador, analista de datos y estratega de negocios.
Lo que no haces es mucho más importante que lo que haces. Para una herramienta que elimina tus archivos, esto se convierte en lo que no eliminas. Esas listas de protección codificadas provienen todas de esta regla. Tuve la suerte de leer muchos libros sobre cultivo de ingeniería cuando comencé como estudiante de primer año; frases como "las entidades no deben multiplicarse sin necesidad" y "la simplicidad es la máxima sofisticación" se filtraron lentamente en mi vida, trabajo y código. Siento esto aún más profundamente después de hacer productos. La diferencia entre un buen producto y uno mediocre radica en gran medida en la capacidad de decidir qué no hacer. Algunas funciones son buenas en sí mismas, pero si no están en el camino principal, no las incluyo; de lo contrario, se convierte fácilmente en un montón de funciones difíciles de mantener.
Otra sensación es que debes tener una hoja de ruta para los próximos seis meses en tu cabeza, sabiendo claramente qué agregar en cada versión, cuáles son necesidades falsas y qué funciones deberían colocarse donde sean útiles para los usuarios. Para los usuarios comunes, el que puedes usar sin leer un manual es el bueno. El posicionamiento de Mole es como un guardián silencioso del mantenimiento del sistema Mac. Muchos amigos han sugerido funciones excelentes que he rechazado cortésmente. Mi objetivo es simple: si uno de cada cien usuarios de Mac está dispuesto a conservar Mole, ya es lo suficientemente útil.
Ahora, antes de que una función entre en la hoja de ruta, debe pasar tres puertas: no puede haber temporizadores, oyentes o sobrecarga de muestreo permanentes si el usuario no ha hecho clic en la función; no puedes expandir los ayudantes privilegiados o agregar nuevos permisos del sistema para una pequeña conveniencia; y no puedes agregar configuraciones cuando hay valores predeterminados razonables. Estos no son principios universales para todo el software, sino reglas que Mole se ha fijado a sí mismo. Cada tarea permanente, privilegio y configuración adicional requiere que el usuario confíe un poco más en ti.

Básicamente, no guardo para "grandes movimientos"; trato de lanzar una versión cada semana para que los problemas de los usuarios se resuelvan rápidamente y pueda tener un diálogo de ida y vuelta. Cada lanzamiento, actualización y promoción es una gran oportunidad de comunicación y permite que las personas que no han visto las noticias sepan lo que estás haciendo.
En la era de la IA, las barreras del código son cada vez más pequeñas. Lo que necesita más control es cómo gastar los Tokens exactamente para resolver los problemas de los usuarios. No me importa gastar más, pero debe gastarse de manera efectiva, por ejemplo, discutiendo los requisitos a fondo, profundizando en los datos para encontrar el problema real y escribiendo un texto que la gente entienda de un vistazo. Estas áreas valen la pena el gasto. Veo los Tokens como una inversión, y las inversiones deben generar rendimientos.
Mole ha sido global desde el primer día, y publico más contenido en inglés que en chino. Mi sensación durante este tiempo es que el mundo es enorme, la base de usuarios es amplia y están dispuestos a confiar en ti desde el principio. Las personas a las que ayudas de paso a menudo se convierten en tus usuarios más tarde porque hubo una interacción real. No he gastado dinero en promoción; los picos en X son altos pero de corta duración, mientras que las cosas publicadas en YouTube se degradan muy lentamente. Siempre que el contenido sea bueno y alguien lo recomiende, puede vivir allí durante mucho tiempo.
Pasé más tiempo en datos de lo que imaginaba. Mirar las ventas por dimensión y tiempo, combinado con datos de tráfico, comentarios de usuarios, todos los registros de interacciones con los usuarios, razones de reembolso y todos los problemas del lado de código abierto: todos estos son recursos preciosos. Me ayudan a descubrir muchos problemas que no conocía y a ver exactamente dónde se rompe el embudo de ventas.
El último punto es más sobre mi propio enfoque. Construir una cuenta con un utilitarismo profundo te pone ansioso; prefiero construirla como una marca, conmigo mismo como la marca. Mis pensamientos, ideas, actualizaciones de productos, conocimientos, interacciones y comentarios están agregando confianza a esta marca. La confianza es especialmente importante en el mundo actual de la IA, falso pero próspero. Las cosas que suenan increíbles pero que se sienten mediocres una vez que haces clic ya han bajado las expectativas de muchos usuarios. Incluso si tienes un producto realmente bueno, no obtendrás atención sin confianza. Esto se puede hacer a muy largo plazo; mientras estés en internet, esta marca vivirá: es el producto con el ciclo de vida más largo de tu vida.
Por Qué Cinco Planetas
El escritorio de Mole actualmente tiene cinco módulos: Limpieza, Desinstalación, Optimización, Análisis de Disco y Estado del Hardware. Cada módulo corresponde a un planeta en la interfaz: Limpieza es la Tierra, Desinstalación es Marte, Optimización es Mercurio, Análisis es Júpiter y Estado es el Sol. Esto está relacionado con mi amor infantil por ver las órbitas planetarias, además del hecho de que lo primero que realmente quería aprender después de aprender frontend hace diez años era WebGL. Las texturas de los planetas se cambiaron no menos de 10 veces; descargué muchas del sitio web oficial de la NASA antes de decidirme. La dirección de rotación, la velocidad y los efectos de vuelo después de completarlos siguen los cuerpos celestes reales.

Esta parte podría haberse omitido; una pequeña herramienta de la barra de menú que limpia con un clic también funcionaría. Pero la basura cibernética generada por la IA ya es suficiente. En lugar de usar Tokens para apilar otra interfaz que apenas funciona, quería hacer algo un poco más cómodo: no desperdiciar mis Tokens y no contaminar tu línea de tiempo.
Me gusta que las cosas sucedan de forma natural en lugar de perseguir resultados con urgencia en poco tiempo; estos tres meses lo han reforzado. Hace un tiempo, pensé en una frase: El mejor trabajo del mundo es probablemente para un aprendiz continuo en un mercado libre que use su juicio, habilidad y estética para crear continuamente valor por el que otros estén dispuestos a pagar.
La CLI es de código abierto y gratuita en GitHub, y la versión de escritorio para Mac está en el sitio web oficial mole.fit.
Como esta es mi primera vez creando un producto de pago, puede haber áreas que no haya considerado completamente. Agradezco sugerencias y consejos de amigos con experiencia. Los cambios mencionados anteriormente no fueron ideas mías; todos surgieron de un correo electrónico de un usuario o de un issue. Por lo tanto, nunca renuncies a la oportunidad de comunicarte con los usuarios; escucha sus quejas y sugerencias a tu gusto—pueden ayudarte mucho y hacerte entender mejor a tus usuarios.





