← 实验室
tools·进行中·2026

Rènshi · 认识

Tarjetas de chino que se toman la molestia de explicar. Nació de dos caracteres distintos, 家 y 房子, que Quizlet traducía igual: «casa».

日志 · 30 条记录 ↓GitHub ↗Ver demo ↗
01

想法

Rènshi no pretende reinventar la rueda de las flashcards: simplemente se toma la molestia de explicar.

Aquí cada palabra vive dentro de frases reales, no aislada en un rectángulo flotante esperando un milagro cognitivo. Y cada sentido va por su cuenta. Meter todos los usos de un carácter en una sola tarjeta es el equivalente pedagógico a enseñar la palabra «banco» pegando la foto de una plaza y la de un cajero automático, esperando que el alumno adivine por telepatía cuál le toca hoy.

El proyecto arrancó inocente: diez palabras para una demo. Tres días después ya tenía cerca de mil tarjetas para mostrar cómo se usan las palabras del HSK 1 al 3, más de dos mil frases y la estructura de cada carácter. Ahí el problema dejó de ser la capacidad para generar contenido y pasó a ser el terror de confiar en él. Ante la menor duda, la app prefiere callarse (una virtud que muchos humanos todavía no dominan).

Buena parte del contenido nació con IA y pasó por el filtro de otros dos modelos, aunque tres inteligencias artificiales poniéndose de acuerdo garantizan lo mismo que tres borrachos decidiendo quién maneja. Por eso hay un panel donde una profesora o un hablante nativo tiene el botón rojo para corregir desastres. La última palabra sigue en manos de alguien de carne y hueso.

La profesora no recibe una colección intocable. Puede copiar con un clic una plantilla del temario HSK o una por tema (comer fuera, viajes, trabajo…) y editarla a su gusto. O partir de su propio material: pega las palabras de la lección de su libro y Rènshi las busca entre las once mil del temario y las trae con todo lo que ya sabe de ellas. Luego oculta las frases que no le convencen y escribe las suyas. La base común no la toca; lo que arma es suyo.

Está pensada para el campo de batalla de la clase, no para el repaso culposo a medianoche. La profesora comparte la pantalla y los alumnos responden desde el celular, sin registros. No es obligatorio, pero tiene un superpoder: es anónimo. En plena clase nadie quiere ser el valiente que admita que no entendió; aquí los alumnos confiesan su ignorancia sin pasar vergüenza. Ese feedback silencioso sirve sobre todo para después: como la misma colección de palabras se vuelve a trabajar dos o tres veces en las siguientes clases, la profesora sabe exactamente qué caracteres toca reforzar antes de dar la próxima vuelta.

02

缘由

Mi profesora enseña con Quizlet. Delante, el carácter; detrás, la traducción.

房子: «casa». 家: «casa». Dos caracteres distintos, la misma traducción en el reverso: una pista demasiado pobre para distinguir lo que significa cada uno. Aprender, aprendía. Lo que no sabía era qué demonios estaba aprendiendo.

房子 es el inmueble: se alquila, se compra o se pinta. 家 es el hogar al que vuelves o la familia que te espera. Y justo cuando crees que ya lo tienes, aparece 公司 (empresa) y descubres que puedes decir 一家公司, «una empresa». Ahí 家 ya no tiene tejado ni parientes: mutó en clasificador. Esos pequeños detalles que una tarjeta minimalista prefiere ignorar para que nadie se deprima en clase.

Con 认识 (rènshi) pasó lo mismo: «conocer», ilustrado con la foto de stock de un apretón de manos para despejar dudas. Las sembró todas. 认识 sirve para conocer a una persona, pero también para reconocer un carácter en la pizarra, que es la humillación a la que me someto cada semana. De ahí el nombre.

El problema nunca fue que la traducción fuera falsa, sino que una traducción exacta te hace creer que entendiste algo que jamás sabrás usar. Así que, en vez de discutirle a la profesora (deporte que ya practico más de la cuenta), me senté a diseñar las tarjetas que a mí me hubiera gustado tener.

03

日志

30 条记录
Cierre del dia
Avance

El desierto de los bytes

Treinta y siete horas después de insultar a Quizlet tengo en el aire un sistema con once mil términos, votación en vivo sincronizada, rotación inteligente de frases, entorno de pruebas blindado, nombre propio y subdominio montado.

La pequeña letra chica: ningún estudiante real ha votado todavía, ningún ojo nativo ha certificado que el chino no sea un delirio automático, y mi profesora ni siquiera sabe que esta pantalla existe.

Todo lo que se podía programar en soledad ya está resuelto. Lo único que falta es lo único que da pánico: la realidad.

Contenido
Avance

Nadie pide fideos pensando en el HSK

Un temario estructurado por niveles académicos sirve para inflar el currículum o aprobar un examen formal. Para sobrevivir en la calle lo que sirven son las situaciones reales.

Monté diez plantillas de supervivencia temática: pedir comida, regatear compras, moverse en transporte, hospitales, vida cotidiana, viajes, oficina, tecnología, cultura y medio ambiente. Son 337 palabras estratégicas, la mayoría de combate diario y un puñado de rescate avanzado. La docente clona el set con un clic y lo amolda a su clase.

Nadie pide la cuenta en un restaurante chino calculando mentalmente qué gramática de nivel 2 le corresponde usar.

Producto
Decisión

Crisis de identidad resuelta

El proyecto venía arrastrando el nombre provisorio de Hanzi, que literalmente significa «caracteres chinos». Es el equivalente intelectual de bautizar una app de español como «Letras». Cero esfuerzo poético.

Ahora se llama Rènshi (认识): conocer, reconocer. Justamente la palabra del infame apretón de manos de Quizlet que disparó todo este drama. Dominio nuevo, logo nuevo, título nuevo: renshi.davila.uno, con el viejo redirigiendo al exilio.

La ironía poética: el buscador llevaba días usando «renshi» como texto de relleno en los ejemplos de pinyin. La app sabía cómo quería llamarse mucho antes de que a mí se me cayera la ficha.

Producto
Pivote

Hacer del vacío una virtud

Con la avalancha del nuevo catálogo, 9.900 palabras quedaron huérfanas de frases. Y mi dogma original era implacable: sin frases contextuales, la tarjeta no se muestra. Consecuencia: el 90 % del diccionario nuevo quedaba censurado bajo siete llaves.

Tuve que tragarme el orgullo y reescribir las reglas. Ahora las palabras sin frase se muestran igual, pero el reverso le pasa la pelota al aula: «Inventen una frase con esta palabra. Díganla en voz alta; la profesora la corrige».

Lo que nació como un parche desesperado para tapar un agujero terminó siendo el mejor acierto pedagógico de la semana. Usar una palabra bajo presión enseña diez veces más que mirarla en silencio.

Contenido
Avance

Once mil razones para colapsar

Le abrí la compuerta al resto del temario oficial: del HSK 4 hasta el 9. La base engordó brutalmente de mil a once mil términos.

El editor y el panel de administración, muy inocentes ellos, intentaban bajarse el diccionario entero al navegador para filtrar en cliente. Con mil palabras la máquina no se quejaba; con once mil casi sale humo del procesador. Ahora la búsqueda se hace donde debe hacerse —en la base de datos— y al navegador solo viaja lo estrictamente solicitado.

Lo que funciona a escala de juguete no es que sea robusto: es que todavía no le diste motivos para quebrarse.

Interfaz
Decisión

Física de formularios y fantasmas en la red

El input para ingresar el código era un campo de texto común y corriente. Si al alumno le faltaba un solo carácter, no tenía forma de saberlo hasta enviar el formulario y recibir un error genérico en pantalla. Cero pistas.

Lo rediseñé a seis casillas individuales: si falta una letra, el vacío te grita desde la pantalla. Además logré que la votación baile al ritmo de la diapositiva: la profesora cambia de carácter y a los alumnos les rota la pantalla automáticamente.

En el camino saltó un bug de enredo vodevilesco: una petición rezagada que preguntaba «¿la votación sigue activa?» llegaba tarde y le apagaba la pantalla a la profesora justo después de que ella la acababa de encender con la tecla V. Cine puro.

Contenido
Lección

Cuando la IA alucina en yuanes

Los mil sentidos ya tienen su traducción al español y pasamos el rastrillo por más de dos mil frases de ejemplo, mezcla de bases públicas y ocurrencias sintéticas de inteligencias artificiales.

La basura que salió a flote fue digna de museo: nombres latinos encajados con calzador en medio de dinastías imperiales, pronombres con el género invertido, frases con fecha de vencimiento y precios en dólares donde el texto en mandarín hablaba de yuanes.

Nada de eso se marcó como verificado. Que un modelo de lenguaje le revise la tarea a otro modelo de lenguaje es un chiste circular. El visto bueno definitivo lo firma un cerebro humano que hable chino, o no lo firma nadie.

Interfaz
Insight

La trampa del «todo bien»

Mandé a auditar la interfaz y el reporte volvió con un condescendiente «nada grave». Mandé una segunda pasada de inmediato: en software, «nada grave» suele ser el disfraz de un desastre inminente.

Aparecieron dos bellezas: si se cae el WiFi de la clase —cosa que pasa en el 100 % de las escuelas del planeta— la pantalla del estudiante se quedaba con unos puntos suspensivos infinitos, dejándolo con la duda existencial de si se cayó internet o si la profesora se quedó dormida. La otra: el lector de pantalla en español leía el carácter 家 como «ya», con la impaciencia de quien apura a un mozo.

La primera auditoría no era mala; simplemente tenía pocas ganas de trabajar.

Infraestructura
Decisión

Bautismo de fuego con red de seguridad

Hasta hoy, mi método de testing consistía en tirar código directamente contra la base de datos de producción. Una técnica fascinante, equivalente a cruzar una autopista con los ojos vendados porque «hasta ahora no me atropellaron».

Creé una segunda base clonada exclusivamente para romper cosas en paz. La rotación de frases y el sistema de votación sudaron ahí primero: ocho suites en verde, respaldo de seguridad y recién ahí el salto a producción. Mi primera versión oficialmente no suicida.

Detalle simpático del ecosistema: PowerShell decidió tragarse un par de guiones en la terminal y las pruebas corrieron alegremente contra la base que no era sin tirar un solo error. Qué delicia trabajar en Windows.

Contenido
Lección

La arrogancia de las tarjetas

La sección «Cómo se forma» juraba muy suelta de huesos que 爱 («amor») era un carácter simple. Spoiler: no lo es ni de cerca. La app lo afirmaba simplemente porque no tenía datos, y ante el vacío prefirió mentir con absoluta seguridad antes que admitir ignorancia. Muy humano de su parte.

Ley marcial de contenido: si no hay datos blindados, la tarjeta se calla la boca. Tras varios bocetos, la fórmula quedó en el chasis mínimo: solo las piezas con su pinyin debajo (知 = 矢 + 口), sin meterse a inventar fábulas.

Le apliqué a mi propia criatura la misma motosierra que le pasé a Quizlet. Una tarjeta en silencio enseña poco, pero una tarjeta charlatana desinforma.

Producto
Avance

Kahoot sin el estrés del registro

La votación anónima —esa que ayer por la tarde juré que dejaría «para una segunda fase»— ya está viva y coleando.

En plena lección, la docente aprieta la tecla V, la pantalla da un código y los alumnos votan desde el teléfono sin crearse cuenta, sin dar correos y sin dejar rastro. Ven el carácter y el pinyin (el significado bien escondido, obvio) y pueden rectificar si el pánico los hace cambiar de idea. Ella ve la marea de votos en tiempo real con un semáforo implacable que delata si el curso entendió o si están todos en la luna.

El infierno no fue la interfaz: fue autorizar que un perfecto desconocido sin sesión abierta pueda escribir en mi base de datos sin regalarle las escrituras del servidor.

Producto
Decisión

Prohibido memorizar canciones

Si en cada clase pones exactamente las mismas dos frases por tarjeta, a la tercera sesión los alumnos ya no están leyendo caracteres: están cantando el estribillo de memoria como loros amaestrados.

Ahora la profesora decide cuántas frases quiere mostrar y la app las baraja con criterio: primero las que ese grupo todavía no ha visto, y después las que ya juntaron polvo en el olvido. Las frases que ella misma escribe a mano entran a la ruleta en igualdad de condiciones.

Repetir el carácter es aprender; repetir la frase idéntica es karaoke.

Infraestructura
Insight

Turismo de paquetes de red

La pantalla de colecciones se quedaba más de un segundo en blanco con cara de nada. No suena a drama hasta que imaginas a veinte alumnos mirándote en silencio en plena clase de Zoom.

El diagnóstico fue un chiste de geografía: la app corría en un centro de datos de Virginia y la base de datos dormía plácidamente en São Paulo. Cada consulta tenía que viajar de Lima a Estados Unidos, bajar a Brasil y rebotar de vuelta. Una gira continental por cada clic.

Mudé la app a São Paulo, dejé de traerme el texto íntegro de 68 lecciones solo para calcular cuántas eran y metí un esqueleto de carga para disimular. Bajó de 1,3 a 0,5 segundos. La mitad de la optimización fue simplemente respetar el mapa mundi.

Proceso
Lección

Ciberseguridad básica para agentes chismosos

Para testear las pantallas protegidas, el atajo perezoso era regalarle mi contraseña al agente de turno. Ni loco. Soy paranoico, sí, pero con fundamentos: darle credenciales a una IA es la versión moderna de dejar la llave pegada por fuera de la puerta y esperar que nadie la gire.

Apliqué criterio: me logueo yo una sola vez, la sesión se queda tibia en mi máquina y las pruebas automatizadas entran colgadas de esa cookie sin que nadie tenga que ver mis claves.

Implementación
Fallo

Espejismo en la base de datos

En el prototipo todo era glamour: mil sentidos perfectamente desglosados con categoría gramatical de revista. Cuando lo enchufé a la base de datos real, el glamour se convirtió en un páramo desierto con etiquetas crípticas en chino abreviado tipo «量、(名)».

Descubrí la trampa: la maqueta consumía un archivo suelto y primoroso que jamás nadie se molestó en migrar a las tablas de verdad. Lo bonito vivía en la fantasía local; la base de datos tenía apenas un esqueleto raquítico.

Una migración de emergencia tapó los agujeros. Once palabras siguen flotando en el limbo sin significado porque la fuente original tampoco los traía, y el español —que era la bandera de toda esta cruzada— quedó postergado para cuando haya oxígeno.

Producto
Pivote

Adiós maqueta, hola pánico

Diez palabras alcanzan para impresionar en una presentación. Para aprender un idioma no sirven ni para pedir agua.

A esa hora de la madrugada le enchufé el temario oficial del HSK 3.0 (niveles 1 al 3) y la app mutó en otra especie. La profesora que use esto ya no tiene que picar piedra desde cero: agarra una plantilla del temario, la tunea a gusto y listo. Las colecciones son de ella; la base troncal solo la toca el administrador supremo (yo).

Dejé de tener una demo coqueta para convencer incrédulos y pasé a tener una herramienta que alguien podría usar un martes a las 8 de la mañana. Y eso da un terror genuino.

Infraestructura
Avance

Dios bendiga a producción

Creé el subdominio. Vercel lo miró, dijo «sí, verificado», se cruzó de brazos y se negó a emitir el certificado SSL por pura desidia. Estaba verificado, sí; seguro, ni de chiste. Tuve que ir a rogarle el candadito a mano como si fuera un trámite burocrático municipal.

La otra joya: la app llegó viva a producción antes de que a mí se me ocurriera probar el login con mi propia cuenta. Lo testeé directamente en vivo, como los valientes o los inconscientes. Milagrosamente no explotó nada.

Cierre del dia
Avance

La hora de la verdad

A las tres de la tarde era un berrinche infantil contra Quizlet. A las once de la noche es un monstruo funcional con autenticación, diez palabras cargadas, tarjetas que giran y una base de datos operativa.

Detalle menor sin importancia: ningún usuario real la ha tocado, mi profesora ni se entera de que esto existe y jamás la probé compartiendo pantalla por Zoom, que era supuestamente la razón de ser de todo este circo.

Siete horas y media quemando tokens. El código está listo; ahora solo falta la parte aterradora: mostrárselo a ella y rezar para que no me mande a estudiar en Quizlet otra vez.

Interfaz
Decisión

Fotos de stock nunca más

Faltaba el reverso. Me negué rotundamente a meter fotos: el apretón de manos genérico de 认识 es el enemigo jurado de este proyecto. Y de glifos generados por IA alucinando trazos, ni hablemos.

Nos fuimos a la fuente milenaria: formas antiguas reales, huesos oraculares y bronce, pero solo cuando el carácter cuenta un chiste visual de verdad. 家 es literalmente un cerdo durmiendo bajo un techo; eso te enseña más historia y contexto que cualquier modelo sonriente de Shutterstock.

Si el dibujo no te ayuda a memorizar el trazo, va directo a la basura.

Proceso
Lección

Muchos cocineros queman la sopa

Hubo un momento cumbre de delirio en el que cuatro agentes de IA operaban sobre la misma carpeta: un Claude picando código, otro Claude intentando desplegar en Vercel y Codex haciendo una auditoría moral, y Cline husmeando cómo trabajan los otros para meter látigo y «corregir».

Uno cambió de rama en Git, el otro ejecutó un npm install a traición y el servidor colapsó a mitad del análisis del tercero. La auditoría murió en el acto. Nadie tuvo la culpa, pero cuatro inteligencias artificiales apretadas en la misma terminal son tan eficientes como cuatro personas intentando manejar el mismo volante.

Regla de oro: cada agente en su propio corral. Multiplicar ayudantes solo multiplica el caos si todos se sientan en la misma silla.

Aprendizaje
Lección

Gaslighting por software

Estuve un buen rato dudando de mi propia salud mental porque cambiaba estilos en el código y la pantalla seguía exactamente igual. Recargaba, rezaba, y nada.

El servidor de desarrollo guardaba una caché en disco tan terca que sobrevivía a los reinicios y me seguía mostrando la versión vieja con una sonrisa burlona. Minutos antes, los trazos de los caracteres habían desaparecido por completo: un truco de colores que el compilador decidió ignorar en absoluto silencio, sin un miserable error en consola.

Interfaz
Decisión

Marrón funeraria

El primer intento de modo oscuro fue una tragedia estética: marrón mueble de oficina pública de los años 70. Una depresión en CSS.

Monté una paleta dorada en paralelo para comparar cadáveres. Ganó por goleada un fondo carbón frío que roza el vacío existencial, texto crema y detalles dorados. Luego el toque obsesivo: en la oscuridad, la tinta del carácter baja de intensidad hacia el radical en vez de encenderse, porque la idea es que aprendan chino, no que queden ciegos con un letrero de neón.

Poner las dos pantallas juntas cerró la discusión más rápido que cualquier debate filosófico sobre diseño.

Contenido
Pivote

La realidad me duró cuatro minutos

Se me ocurrió la brillante idea de poner la interfaz en chino por defecto porque «las profesoras son nativas». Duré con esa convicción exactamente 240 segundos.

El primero en abrir esta abominación soy yo, y después cualquier curioso que probablemente no distingue un ideograma de un fideo ramen. Ahora la app husmea el idioma del navegador: chino, español o inglés, con selector manual para los inconformes.

Lo intocable: las tarjetas van en el idioma del estudiante, no en el de quien proyecta la pantalla. Tardé media tarde en entender esa obviedad, pero finjamos que siempre fue parte del plan.

Implementación
Fallo

Chrome, el saboteador silencioso

Le avisé educadamente al navegador que la página estaba en chino. Chrome, con esa prepotencia que lo caracteriza, decidió que yo necesitaba su caridad y la tradujo entera sin pedir permiso.

Resultado brillante: 汉字 pasó a ser «Chinese character». En una plataforma diseñada específicamente para aprender a descifrar caracteres chinos, el navegador se encargó de borrarlos todos.

Ahora el código incluye una orden explícita para que Chrome se meta las manos en los bolsillos y no toque nada. Es la única línea de toda la app escrita para domar a una máquina insolente.

Interfaz
Decisión

Menos carnaval, más dignidad

La primera versión de la tarjeta era un vómito de arcoíris: el radical de un color, la fonética de otro, la palabra clave en rojo fosforescente. Muy didáctico, decían. Parecía el tablero de control de Chernobyl.

Decreté ley marcial visual: un color, un significado. El rojo suave queda estrictamente confiscado para la palabra clave en contexto. Al frente, el carácter va sobrio en tinta china y el radical apenas respira en un tono sutil. Las explicaciones cromáticas de cómo se armó el monstruo se van al reverso, donde nadie salga lastimado.

Si todo grita al mismo tiempo, nadie escucha un carajo.

Contenido
Insight

Cazador cazado

Armé diez palabras, treinta frases de prueba y un validador justiciero para evitar que un alumno principiante termine leyendo jeroglíficos de maestría.

Corrí el script con el pecho inflado de orgullo y lo primero que me escupió en la cara fue 厕所 («baño»), una palabra de nivel 5 escondida como contrabando en una frase de nivel 2. Y 过, que yo juraba que era de kínder, resulta que en el examen nuevo es nivel 4.

Construí un detector de ignorancia ajena y lo primero que detectó fue la mía. Poético.

Producto
Pivote

El síndrome de Estocolmo pedagógico

Mi plan maestro duró exactamente dos horas: empezó como una app solitaria para estudiar mientras lloro sobre mis apuntes y para la tarde ya era un circo interactivo.

Caí en la cuenta de que esta demo no es para salvarme a mí: es para hipnotizar a mi profesora y mostrarle en vivo cómo debería sentirse una clase. El centro ahora es el aula: modo presentación para compartir pantalla en Zoom, termómetro de entendimiento en tiempo real y, más adelante, votación anónima tipo Kahoot para medirle el pulso al grupo sin exponer a nadie.

El autoestudio sigue ahí, pero en lista de espera. Primero hay que lograr el hechizo en el aula; el algoritmo de repetición espaciada puede esperar su turno.

Contenido
Decisión

La trampa del 2x1

La unidad de la app no es la palabra. Es el sentido.

Cada uso de un carácter va en su propia lección y se mide por separado. Si los meto todos en la misma tarjeta, vuelvo al problema de Quizlet con más pasos.

Infraestructura
Decisión

El masoquismo técnico

Con Nimbus ya dominaba Vue y Firebase con los ojos cerrados. ¿Qué hace una persona sensata? Usar lo que funciona. ¿Qué hice yo? Exacto: mandarlo todo al diablo y usar algo diferente: Next.js con Supabase.

Porque claro, ¿para qué terminar rápido si puedes complicarte la vida aprendiendo un stack nuevo en un subdominio propio? Necesitaba login para las docentes y una base de datos de verdad, pero sobre todo necesitaba recordarme que no sé vivir en paz.

De Nimbus me traje lo único verdaderamente valioso: el catálogo completo de todos los errores que ya me costaron lágrimas.

Idea
Hipótesis

Quizlet me estafó

A las tres de la tarde tenía una queja y una hipótesis. La queja: las tarjetas de Quizlet de mi profesora traducen palabra por palabra, y el chino no se deja. La hipótesis: una palabra se entiende mejor dentro de una frase que sola en una tarjeta.

No es una idea nueva. Lo nuevo es que esta vez me tocó sufrirlo como alumno.

04

当前状态

进行中
GitHub ↗Ver demo ↗