Halatap
Una plataforma para crear, compartir y exportar tarjetas de presentación modernas desde un único panel a correo electrónico, QR, vCard y Apple Wallet.
Next.js 16
React 19
TypeScript
Convex
Tailwind CSS 4
Radix UI
Resend

Descripción general
Halatap sustituye la tarjeta de presentación en papel por una digital que realmente puedes mantener actualizada. Cada usuario obtiene un panel para construir tarjetas a partir de un conjunto de plantillas, luego las comparte como lo exija el momento: un enlace público, un código QR, un correo electrónico, un archivo de contacto descargable o un pase guardado directamente en Apple Wallet. Es una aplicación full-stack construida con Next.js y Convex, con cuentas seguras, datos en tiempo real y soporte para inglés y árabe.
El problema
Las tarjetas de papel han envejecido mal. La información queda obsoleta en el momento en que cambia un cargo o un número de teléfono, son fáciles de perder y solo existen en un único formato físico. Compartir digitalmente no es mejor en la práctica, ya que termina fragmentado entre enlaces, archivos PDF, códigos QR y aplicaciones de mensajería sin una única fuente de verdad. Además, los usuarios internacionales necesitan tarjetas en más de un idioma, y los equipos necesitan una forma de crear muchas tarjetas a la vez en lugar de una por una. Halatap se propuso unificar todo eso en un único sistema.
Mi rol y enfoque
Este fue un proyecto en equipo y contribuí en el front end y en varias características completas junto a otros desarrolladores. El trabajo abarcó la experiencia de construcción de tarjetas y panel de control, los flujos para compartir y las integraciones que hacen que una tarjeta sea útil fuera de la aplicación: pases de wallet, exportación a vCard y entrega por correo electrónico. El enfoque en todo momento fue mantener el producto modular. Un sistema de plantillas alimenta tanto la vista previa del editor como la tarjeta pública, y un esquema de tarjeta sirve tanto para la creación de una sola tarjeta como para la importación masiva, de modo que las características reutilizaron los mismos cimientos en lugar de ramificarse.
Stack tecnológico
Características clave
Galería


Desafíos y soluciones
El control de acceso tenía que ser flexible sin convertirse en una maraña. Las tarjetas públicas y privadas necesitan reglas diferentes, por lo que el uso compartido se modela con una tabla de recursos compartidos dedicada vinculada a la tarjeta y al destinatario. El acceso público se permite solo cuando una tarjeta está explícitamente marcada como pública, y la comprobación vive dentro de la propia consulta de la tarjeta en lugar de estar dispersa por la interfaz de usuario.
La autenticación se construyó en lugar de subcontratarse por completo, lo que significó hacerla con cuidado. Las contraseñas se procesan mediante hash con PBKDF2 y salt a través de la Web Crypto API en vez de almacenarse sin formato, y los tokens de restablecimiento tienen un tiempo límite de validez y se marcan como usados una vez gastados. La característica más compleja fue la generación de pases para Apple Wallet. Requiere firma basada en certificados, los recursos empaquetados correctos, un payload de QR integrado y campos localizados formateados, todo producido bajo demanda y devuelto con el tipo de contenido correcto. Dar soporte tanto a usuarios individuales como a equipos se redujo a reutilizar un esquema de tarjeta a través de un flujo normal de creación y una vía independiente de importación por CSV.
Resultado
Halatap termina haciendo lo que una tarjeta de presentación digital debería: una identidad editable que viaja a través de web, correo electrónico, QR, archivos de contacto y Apple Wallet, en dos idiomas, tanto para particulares como para equipos. Las características de pase de wallet e importación masiva en particular lo empujan más allá del típico producto de "página de perfil" a algo que se adapta al uso compartido multicanal del mundo real.
¿Tienes un problema de producto similar?
Comparte el producto actual, el resultado que necesitas y las limitaciones que ya existen en el camino. Usaré eso para definir un primer hito razonable.
Contratar un desarrollador full stack