
Lifesheet es una plataforma online diseñada para ayudar a los buscadores de empleo a crear y formatear sus CV con facilidad. Su objetivo principal es simplificar el proceso de construcción de un currículum profesional, asegurando que los usuarios puedan presentar sus habilidades y experiencias de la manera más efectiva posible.
Este servicio es ideal para cualquier persona que busca empleo activamente, especialmente aquellos que necesitan aplicar a múltiples ofertas de trabajo. Lifesheet reconoce que cada solicitud de empleo puede requerir un CV adaptado que resalte cualificaciones específicas relevantes para el puesto, o una Carta de Presentación. En lugar de editar manualmente su currículum para cada solicitud, los usuarios pueden introducir toda su información en Lifesheet y luego seleccionar qué detalles son más pertinentes para cada trabajo. Pueden hacer estas selecciones manualmente o aprovechar el asistente de IA incorporado para identificar automáticamente la información más relevante basada en la descripción del trabajo.
Al simplificar el proceso de personalización del CV, Lifesheet aborda el desafío común de aplicar a numerosos trabajos y aumenta las posibilidades de conseguir una entrevista. Los usuarios ahorran tiempo y esfuerzo, al mismo tiempo que aseguran que cada solicitud sea específica y profesional.

Lifesheet es una plataforma de Software como Servicio (SaaS), que permite a los usuarios acceder al servicio a través de un navegador web sin necesidad de instalación local. Este modelo proporciona varias ventajas, incluyendo fácil actualizaciones, escalabilidad y accesibilidad desde cualquier dispositivo con conexión a internet. El servicio se ofrece en dos niveles: Gratuito y Premium
Los usuarios del nivel gratuito tienen acceso a las mismas funciones que los usuarios premium, pero con anuncios en toda la aplicación. Integramos con Google AdSense para este propósito.
La plataforma admite varios idiomas, lo que permite a usuarios de diferentes orígenes lingüísticos utilizar el servicio de manera efectiva. Esto se logra mediante una combinación de técnicas de localización y funciones de traducción impulsadas por IA, asegurando que los usuarios puedan obtener la interfaz de usuario en su idioma preferido y crear CV en su idioma preferido.
También está disponible una función de traducción, que permite a los usuarios traducir sus CV a diferentes idiomas con facilidad.
Actualmente, se admiten inglés, español y alemán.
El frontend de la aplicación está construido usando ReactJS con Typescript, utilizando Tailwind como framework CSS. El backend está impulsado por Node.js y Express, con una base de datos MongoDB para almacenar datos de usuario y plantillas de CV. Este stack tecnológico permite una experiencia de usuario responsive y dinámica, al mismo tiempo que garantiza escalabilidad y mantenibilidad.
La infraestructura es modesta: cada componente del backend opera en su propio contenedor Docker. Una instancia Nginx funciona como Gateway y también se encarga de TLS.
Aunque el frontend y el backend no son servidos por el mismo "servicio", comparten el mismo dominio, lo que hace que la configuración CORS sea sencilla, así como permitir que la aplicación migre sin problemas a otro servidor, o funcione en un entorno de desarrollo local.
Para la generación de PDF, el documento se genera en el frontend con una combinación de JavaScript y CSS para formateo avanzado. Luego, el HTML resultante se envía al backend donde se genera un documento PDF utilizando Puppeteer, asegurando un resultado de alta calidad que preserva el diseño y el estilo del CV.
La autenticación se maneja usando una instancia de Keycloak auto-alojada, proporcionando una solución robusta y flexible para la gestión de usuarios y el control de acceso. Esta opción fue elegida debido a su naturaleza de código abierto, buena reputación y soporte de la comunidad
Las funciones de IA se implementan utilizando Gemini.AI. Los prompts están cuidadosamente elaborados para garantizar la compatibilidad con la estructura del documento esperada por la plantilla de la plataforma, así como para garantizar que el modelo solo utilice la información verdadera proporcionada por el usuario, sin ninguna fabricación.
Las llamadas a la API de Gemini, o cualquier otro LLM, a menudo pueden tardar varios minutos en completarse. Las llamadas REST ordinarias pueden agotar el tiempo de espera durante este tiempo, por lo tanto utilizamos un enfoque basado en mensajes para coordinar estas operaciones de larga duración.
En el backend, utilizamos BullMQ para crear trabajos para cada operación dependiente de IA. Esto también nos permite implementar fácilmente la lógica de reintento con retroceso exponencial cuando una llamada a la API de IA falla con un error transitorio.
Para el frontend, esto significa que al solicitar que se ejecute una operación de IA, la solicitud se envía al backend y se crea un trabajo en la cola de BullMQ. El frontend puede entonces sondear el backend para conocer el estado del trabajo, permitiendo una experiencia de usuario responsive incluso para operaciones de larga duración. También significa que el usuario puede cerrar de forma segura el navegador o navegar fuera de la página sin perder el progreso de la operación.
Los pagos para los niveles Premium se gestionan utilizando una integración con Stripe, permitiendo un procesamiento seguro y eficiente de las suscripciones y transacciones de los usuarios.
Los pagos se realizan utilizando el flujo de trabajo de Sesión de Pago, que proporciona una experiencia de pago fluida y segura para los usuarios. El backend luego recibe la confirmación del pago en un webhook, marcando la compra como completa.