Software loco – por Craig Mod
Estoy loco por el software: no puedo dejar de pensar en el software. Y no puedo dejar de crear software.
Siempre he sido obstinado sobre cómo debería funcionar el software. Principalmente, debería ser rápido. Sus límites deberían ser “conocibles”. El contrato que tenga con él debe ser “sano” (es decir, simplemente ser propietario de él). Pero estoy ocupado y soy un programador bueno, pero no muy bueno. Así que todas estas opiniones sobre software permanecieron encerradas en mi cabeza. Luego, hace un año, apareció Claude Code.
Mi primer proyecto de Claude Code fue reconstruir Twitter como siempre pensé que debería ser:
- Todas las publicaciones desaparecen en 7 días.
- Pero puedes mantener una publicación “viva” respondiéndola
- Solo puedes publicar 2 veces al día.
- Puede responder 20 veces al día (¡se recomiendan debates!)
- Todas las imágenes aparecen en blanco y negro de 1 bit hasta que se hace clic en ellas (momento en el que pasan a color o escala de grises de espectro completo)
- La línea de tiempo no es algorítmica, simplemente está en orden cronológico inverso.
¡Sorpresa! Es realmente encantador. Y los miembros de mi programa de membresía lo han utilizado el año pasado para formar una comunidad como Ye Internet of Yore. Compartimos cosas bonitas e inspiradoras y somos amables e inspiradores unos con otros.
Mi programa de membresía se llama PROYECTOS ESPECIALES. No uso Patreon ni Substack, construí mi propia plataforma sobre Memberful. ¿Por qué pagarle a una empresa una tarifa mensual para verse condicionada por cómo creen que debería verse o ejecutarse su programa? Cada mes, durante los últimos años, agregué nuevas funciones al sitio de miembros. Más recientemente, utilizando Claude Code, creé una herramienta para generar automáticamente capítulos granulares para mis preguntas y respuestas en vivo exclusivas para miembros. Y luego construí una herramienta para indexar las aproximadamente cuarenta horas de video que he acumulado estos últimos años, permitiendo a los miembros buscar en el archivo. Cuando hacen clic en una pregunta, el momento de reproducción preciso aparece en el vídeo del que se extrajo. Es algo asombroso y es exactamente el tipo de cosa que habría pensado hace un año, pero que nunca construí.
Con Claude, he creado una gran cantidad de software como este. Principalmente herramientas pequeñas para mí: programas que agregan instantáneamente buffers de copia a archivos de texto (mantengo un archivo en ejecución de cosas agradables que la gente me escribe llamado notapieceofshit.txt) o realizar rápidamente conversiones de moneda en vivo. Pequeñas utilidades que utilizo varias veces al día y cientos de veces al año.
Pero ha sido esta última semana, en plena temporada de impuestos, cuando me he vuelto más loco: he creado el software de contabilidad que siempre he deseado.
Mi situación es bastante singular. Estoy tratando con varias cuentas bancarias en varios países. Constantemente haciendo malabarismos con las monedas. El dinero se mueve entre cuentas a nivel local e internacional. Trabajo como escritor independiente para clientes de todo el mundo. Trabajo en los medios: televisión y radio. Gano dinero con las ventas de libros pagadas por Random House a través de mi agente de Nueva York, y gano dinero con las ventas de libros vendidos directamente desde mi tienda Shopify. Dirijo ese programa de membresía que mencioné, que genera una gran parte de mis ingresos. Tengo inversiones públicas y privadas. Tengo gastos que se pagan mediante transferencias bancarias (todo se hace mediante transferencias bancarias en Japón) y otros se pagan con tarjetas de crédito. Necesito conciliar las ventas de libros por país para mi contador japonés, ya que técnicamente soy un exportador y fabrico y envío libros desde aquí.
En pocas palabras: es un gran desastre y ningún software de contabilidad disponible en el mercado hace lo que necesito. Entonces, después de años de dolor, finalmente me senté la semana pasada y comencé a construir el mío propio. Me tomó unos cinco días. Ahora estoy usando el mejor software de contabilidad que he usado. Es increíblemente rápido. Totalmente local. Maneja múltiples monedas y obtiene tasas de conversión diarias (históricas). Es capaz de ingerir cualquier CSV que le arroje y representarlo en mi panel según sea necesario. Conoce los requisitos fiscales de EE. UU. y Japón y da formato a mis gastos y facturas médicas de forma adecuada para mis contadores. Lo alimento con retornos pasados para aprender. Deposito en él los formularios 1099, K1 y PDF de los hospitales, y los clasifica, organiza y empaqueta todos según sea necesario. Concilia las transferencias bancarias internacionales, teniendo en cuenta pequeñas variaciones en los tipos de cambio y el tiempo que tardan en completarse las transferencias. Aprende a medida que categorizo los gastos y los categoriza automáticamente en el futuro. Es fácil realizar verificaciones aleatorias de los datos. Si encuentro una anomalía, puedo hablar directamente con Claude y pedirnos que pensemos en una solución por lotes, lo que a menudo me evita tener que modificar manualmente cientos de entradas. Y, a menudo, resulta en una nueva y pequeña modificación de funciones. El software se siente orgánico y flexible en una forma perfectamente adaptada a mi mano, capaz de adaptarse a cualquier conjunto de datos que le arroje. Se siente como atacar con un sable de luz.
Está construido en Python con Flask y SQLite y es, fundamentalmente, bastante simple en partes, pero sumamente poderoso en su conjunto. (La magia del software es a menudo la forma sencilla en que se ensamblan las cosas, más que reinvenciones completas). Soy dueño de la cosa: los datos, el programa. No hay suscripción. Si desactivo Claude Code, seguirá funcionando bien. (Y si necesito arreglar algo, puedo animar a Claude por unos cuantos dólares).
Lo más milagroso: por primera vez en mi vida, tengo un panel que me brinda una visión verdadera y holística de todo lo que sucede en las finanzas de mi vida y de mi negocio. Le he puesto nombre a mi glorioso artilugio TaxBot2000. Es asombroso. Déjame repetir: Construí esto en cinco días..
No es perfecto y no está terminado, pero ya es mejor que lo que he estado usando durante la última década. Hasta ahora, me he apoyado en gran medida en Quicken, un software de suscripción de código cerrado que a menudo no logra conectarse a cuentas con autenticación de dos factores, perdiendo silenciosamente grandes cantidades de datos financieros. Anteriormente, mezclé Quicken con Google Sheets, usando una pila de Google Scripts para mover información de un lado a otro entre monedas, formatos y países. He utilizado software de contabilidad japonés para exportar cuentas bancarias y tarjetas de crédito japonesas, y luego reconfigurarlas e importarlas a Quicken como cuentas convertidas. En fin, complicada, rara y un poco estrafalaria: mi situación. ¿Para TaxBot2000? Ningún problema. No creo que vuelva a abrir Quicken.
Sí: ciertamente soy una anomalía. En eso soy un gran idiota con un fuerte amor por la tecnología de toda la vida y un título en ciencias de la computación, que tiene opiniones compulsivas sobre el software. TaxBot2000 sería prácticamente inútil para muchos de ustedes. Todo es una costumbre de mi situación particular, que básicamente nadie más en el mundo comparte. Software para N de 1. Muy útil para mí. Mi manía por construir proviene de un trauma monetario. Al crecer sin un colchón, siempre he operado desde una mentalidad de extrema escasez. Así que este software también es eso: una transmutación de la patología de la escasez en un panel de control de verdades financieras, tanto a nivel de 30.000 pies como de micrones.
Siento una extraña ligereza. Sigo pensando en características, vistas y otras cosas que quiero desmitificar. Mis finanzas siempre fueron algo opacas, hasta ahora.
¿Qué significa esto para el futuro del software? No sé. (Nadie lo hace). Tal vez realmente deberíamos vender en corto un grupo de empresas SaaS. (No se preocupe, una gran cantidad de nuevos ocuparán su lugar). Estoy cancelando mi suscripción a Quicken. Cada vez será más fácil construir cosas como TaxBot2000. Todavía estamos en la fase exclusiva de idiotas de la programación asistida por modelos, pero puedo imaginar interfaces que llegarán pronto en las que simplemente arrastre y suelte componentes mientras narra sus deseos con su voz, los modelos capaces de realizar la “lluvia de ideas”, la “planificación” y el “trabajo” (operaciones que hoy pueden tomar diez minutos o más) en apenas unos segundos mañana. Habrá fluidez en el software en el futuro. Los números de versión no tendrán sentido. Todos tendremos nuestras propias versiones. Claude Code sea nuestro socio en producción. Mientras imaginas nuevas funciones, Claude las produce. ¿Por qué nos encerraríamos en el binario propietario de otra persona? El control sobre nuestros datos y el control sobre cómo los vemos y nos relacionamos con ellos parece que será completamente innegociable en el futuro. Debemos todas estas capacidades a la generosidad de la comunidad de código abierto.
Son tiempos extraños. De todos modos, estoy loco por el software en este momento. Loco. No puedo dejar de pensar en cosas que hacer, cosas que hacer. mejor. Y luego voy y los hago. Hay una energía en torno a todo esto que es verdaderamente trascendental. Si no estás jugando con modelos como Claude, probablemente deberías echarle un vistazo. Es el momento de construir.
