Si hace unos años, alguien me hubiera preguntado por qué quería crear un sitio web de herramientas en línea, probablemente habría pensado que era una pregunta un poco extraña.
Porque en mi opinión, ya había demasiados sitios de herramientas en Internet.
Compresión de imágenes, conversión de PDF, formateo de JSON, generación de códigos QR, conversión de colores... para casi cualquier necesidad, hay decenas o incluso cientos de sitios. Muchas herramientas llevan más de diez años y tienen grandes grupos de usuarios.
Entonces, ¿por qué crear otro?
En realidad, al principio no lo sabía.
Al principio, solo quería resolver mis propios problemas
Muchos programadores tienen un hábito.
Al enfrentarse a un problema, la primera reacción no es descargar software, sino abrir el navegador y buscar una herramienta en línea.
A veces se necesita comprimir una imagen.
A veces se necesita formatear un fragmento de JSON.
A veces se necesita generar un UUID.
A veces solo se quiere recortar una imagen, convertir un formato o generar un código QR.
Estas necesidades no son complejas, pero se encuentran a diario.
Así que comencé a guardar varios sitios de herramientas.
La barra de marcadores del navegador se hizo cada vez más larga.
Hasta que un día, noté un fenómeno interesante.
Casi ningún sitio me resultaba realmente cómodo.
Algunos sitios tenían más anuncios que contenido.
Otros requerían iniciar sesión para usarlos.
Algunos eran muy lentos, incluso para funciones simples.
Algunos subían archivos al servidor, y no sabía cuánto tiempo se guardaban mis datos.
También había sitios con interfaces anticuadas, que no funcionaban bien en móviles.
Entonces empecé a pensar:
¿Qué pasaría si recreara estas herramientas que uso con frecuencia?
Al principio, era solo un proyecto de práctica.
Sin plan de negocios ni planificación de producto.
Solo quería hacer un sitio que yo mismo quisiera usar a diario.
Escribir código no es difícil; lo difícil son los detalles
Una vez que comencé, descubrí que el desarrollo de funciones era la parte más sencilla.
Lo que realmente lleva tiempo son esos detalles que los usuarios casi nunca notan.
Por ejemplo, la velocidad de carga de la página.
Muchos piensan que no importa si una herramienta para recortar imágenes tarda un poco en abrir.
Pero yo no lo creo así.
Si una herramienta requiere esperar tres o cuatro segundos, prefiero optimizar de nuevo antes que hacer que el usuario espere.
Así que empecé a investigar la optimización del rendimiento.
¿Cómo hacer carga diferida de imágenes?
¿Cómo dividir JavaScript?
¿Qué recursos deben almacenarse en caché?
¿Qué recursos deben cachearse a largo plazo?
¿Qué solicitudes afectan la renderización inicial?
¿Qué código realmente no necesita cargarse?
Para mejorar un poco la puntuación, probaba repetidamente el rendimiento de la página.
A veces solo cambiaba una configuración.
A veces solo reducía unas decenas de KB de recursos.
Aunque los usuarios quizás no noten estos cambios, todas estas optimizaciones, al sumarse, hacen que todo el sitio sea más rápido y fluido.
Hacer herramientas es más complejo de lo que parece
Al principio, pensé que hacer herramientas solo implicaba escribir funciones.
Después descubrí que un sitio que realmente pueda usarse a largo plazo tiene mucho trabajo invisible.
Por ejemplo, la internacionalización.
Si solo se hace un sitio en chino, el desarrollo es simple.
Pero si se quiere que gente de otros países lo use, no basta con traducir textos.
También hay que considerar la disposición tipográfica de diferentes idiomas.
Los hábitos de uso de usuarios de distintos países.
Cómo los motores de búsqueda identifican páginas en distintos idiomas.
Cómo diseñar las URLs.
Cómo optimizar títulos y descripciones para diferentes idiomas.
Estas cosas no parecen funciones, pero determinan si el sitio puede servir a más personas.
SEO, más difícil de lo que imaginé
Antes pensaba que, si el sitio estaba bien hecho, los motores de búsqueda lo indexarían automáticamente.
Después supe que la realidad es más compleja.
Empecé a investigar mapas del sitio.
Investigar datos estructurados.
Investigar títulos de página.
Investigar Meta Description.
Investigar Canonical.
Investigar Open Graph.
Investigar caché de página.
Investigar Core Web Vitals.
Investigar por qué Google y Bing indexan una página pero ignoran otra.
A veces, un problema pequeño podía llevarme horas o días para encontrar una respuesta.
Este es también uno de los mayores aprendizajes del proyecto.
Me hizo entender realmente que un sitio web no son solo páginas y código.
Hay muchas reglas ocultas detrás.
¿Por qué mantenerlo gratuito?
Muchos amigos me han preguntado si estas herramientas serán de pago en el futuro.
Por ahora, mi respuesta es no.
Al menos para la mayoría de las herramientas básicas, espero que siempre sigan siendo gratuitas. Porque yo mismo soy usuario de estas herramientas.
Sé que cuando solo quieres comprimir una imagen, no deseas ver una ventana de pago.
Cuando solo quieres convertir un archivo, tampoco quieres registrarte primero.
Las herramientas deben resolver problemas, no crear nuevas barreras.
Por supuesto, un sitio web necesita servidores, mantenimiento y desarrollo continuo.
En el futuro podría haber algunos modelos de negocio, como publicidad o funciones premium.
Pero espero que eso no afecte la experiencia básica de uso para los usuarios comunes.
El nombre ToolAct
Muchos, al ver ToolAct por primera vez, preguntan qué significa.
En realidad, no tiene una historia muy compleja.
Quería que el sitio no fuera solo un conjunto de herramientas.
Sino que ayudara a las personas a actuar (Act).
Las herramientas en sí no tienen valor.
Lo valioso es que te ahorran tiempo y te ayudan a completar cosas más rápido.
Así que, en lugar de coleccionar muchas herramientas, prefiero que abras el sitio, lo uses, lo cierres y sigas con tu trabajo.
Las herramientas deben estar en segundo plano, no ser el protagonista.
Crear un sitio web también es aprender
Muchos, al ver un sitio web, piensan que ya está terminado.
Pero para los desarrolladores, siempre es solo el comienzo.
Cada vez que agrego una función, aprendo algo nuevo.
Sistema de correo electrónico.
Autenticación de inicio de sesión.
Estrategia de caché.
Internacionalización.
Soporte de accesibilidad.
Compatibilidad con navegadores.
Optimización para motores de búsqueda.
Seguridad.
Optimización del rendimiento.
Muchos de estos conocimientos antes solo existían en la documentación.
Solo al hacerlo uno mismo, se descubren todos los detalles.
También gracias a este proyecto, comencé a enfocarme más en lo que los usuarios realmente necesitan, no en lo que yo creo que necesitan.
Lo que sigue
ToolAct aún tiene muchas áreas por mejorar.
Habrá más herramientas.
Habrá más idiomas.
Se optimizará continuamente la velocidad.
También se mejorará la experiencia del usuario.
No espero que tenga decenas de miles de usuarios de la noche a la mañana.
Prefiero que cada persona que llegue aquí pueda resolver su problema rápidamente y quiera volver la próxima vez.
Si algún día, cuando necesites una herramienta en línea, piensas en ToolAct.
Entonces creo que este proyecto ya ha tenido éxito a medias.
Para finalizar
En Internet, cada día surgen nuevos productos y muchos sitios desaparecen en silencio.
No sé hasta dónde llegará ToolAct.
Pero al menos por ahora, sigo disfrutando escribiendo código, optimizando esos detalles que quizás nadie note, y añadiendo esas herramientas pequeñas pero útiles.
Si estás leyendo este artículo, bienvenido a ToolAct.
Espero que alguna de las herramientas aquí te ahorre unos minutos algún día, resolviendo un pequeño problema.
Si es así, entonces haber decidido crear este sitio fue algo que valió la pena.