Skip to content

Vaynerov Technologies

No solo desarrollamos — conjuramos cada línea de código y píxel.

Todos los artículosNotas de laboratorio

La caja de herramientas abre: 25 utilidades, cero subidas

Casi todas las utilidades en línea te piden que entregues un archivo al servidor de un desconocido. La caja de herramientas no recibe ninguno: cada conversión, hash, comparación y degradado se calcula en tu propia máquina, y toda la superficie hace cero peticiones de red.

Vaynerov TechnologiesEl estudio
Publicado 3 min de lectura

La caja de herramientas está abierta: veinticinco utilidades, gratis, sin cuenta y sin instalación. Lo primero que merece decirse es justo lo que ha dado forma a cada línea: la superficie de utilidades hace cero peticiones de red. No es «borramos tus archivos al cabo de una hora» ni «procesado de forma segura»: no hay nada que borrar, porque los bytes no se mueven de sitio. Pasamos un grep por toda la superficie para asegurarnos antes de escribirlo en el hub.

25
utilidades en cuatro categorías
8
Web Workers dedicados
0
peticiones de red en la superficie de utilidades
6
idiomas en el lanzamiento

Veinticinco utilidades, cuatro categorías

  • Archivos — compresión y descompresión gzip, un empaquetador y extractor ZIP, un conversor de imágenes y un calculador de cuatro resúmenes criptográficos.
  • Texto — formateador de JSON, Base64, codificador de URL, un diff de Myers real con resaltado a nivel de palabra y salida de parche unificado, un conversor de mayúsculas que reconoce siglas, un contador de palabras correcto según el segmentador, lorem ipsum con semilla y un conversor CSV↔JSON conforme al RFC 4180.
  • Código — probador de expresiones regulares con guarda contra desbordes, decodificador de JWT con verificación HS256 local, conversor de marcas de tiempo, generador de UUID/v7/nanoid, un analizador de cron que responde en lenguaje llano, hashing SHA y HMAC, un generador de contraseñas y una previsualización de markdown estricta y a prueba de XSS.
  • Diseño — conversor de color entre HEX/RGB/HSL/OKLCH con contraste WCAG, constructores de degradados y de sombras, un generador de códigos QR y un extractor de paletas que lee una imagen que nunca subes.

La búsqueda que las abarca a todas ignora los diacríticos, así que escribir bäse encuentra Base64, y está conectada a las teclas que tus manos ya conocen: / enfoca el campo en cualquier punto del hub, ⌘K funciona desde cualquier parte de la página y Enter abre el primer resultado. Tres utilidades llevan una acción rápida que genera y copia un valor — una contraseña, un UUID, un párrafo de relleno — directamente desde la tarjeta del hub, sin abrir siquiera la utilidad.

Lo que costó quedarse en local

Las utilidades que corren en el cliente sin subir nada son baratas de prometer y caras de sostener. Ocho de las veinticinco hacen su trabajo en un Web Worker dedicado, para que un archivo comprimido de 900 MB no roce nunca el hilo que dibuja tu cursor. La compresión, la extracción y el hashing van en streaming en vez de en memoria: el escritor de ZIP vuelca partes de Blob cada 16 MiB, de modo que el montón se mantiene plano sea cual sea el tamaño de entrada, y pasados los 4 GiB deja de intentar ser listo, conserva el CRC y almacena el archivo original sin ninguna copia. El calculador de resúmenes computa los cuatro en una sola pasada por debajo de 256 MiB y cambia a un SHA-256 incremental escrito a mano por encima de ese umbral.

Parte de esto es oficio por el oficio. El generador de códigos QR es un codificador nuestro — ISO/IEC 18004 modelo 2, Reed–Solomon sobre GF(256), las ocho máscaras generadas y puntuadas — porque todas las bibliotecas que miramos querían más página de la que vale un código QR. El extractor de paletas usa corte por la mediana con una desviación deliberada respecto al libro de texto: divide por el hueco más ancho entre celdas ocupadas en lugar de por el índice mediano, que es la diferencia entre leer un logotipo como blanco y negro y leerlo como blanco y un poco menos blanco.

El hub en sí son veinticinco pequeños dioramas en CSS 3D — sin WebGL, una escena por categoría, sembrada a partir del propio slug de la utilidad para que no haya dos tarjetas con la misma pose, y con tiempos de animación que se desvían ±15% para que la cuadrícula nunca respire al unísono. Si tienes activado el movimiento reducido, cada escena se congela en su pose de reposo ya compuesta, lo que parece una decisión y no una animación rota.

Tremor se publicó ayer y hace justo lo contrario: se descarga por la red la sismicidad del planeta entero (cómo funciona). La caja de herramientas es la mitad más callada del mismo instinto: construir la cosa como es debido y luego regalarla.