Amvira

Plataforma SaaS que permite a fotógrafos profesionales crear, personalizar y entregar galerías de fotos y video a sus clientes, de forma elegante, segura y con marca propia.

  • Node.js
  • TypeScript
  • PostgreSQL
  • React
  • TanStack
  • Tailwind
Vista previa de Amvira

El problema

  • Entregar cientos de fotos en alta calidad sin una forma profesional de presentarlas.
  • No poder proteger el trabajo detrás de una contraseña o marca de agua.
  • No tener control sobre quién descarga qué, ni en qué calidad.
  • No poder mostrar un portafolio propio y consistente a nuevos clientes.
  • Depender de herramientas genéricas que no transmiten la calidad del trabajo.

La solución

Un espacio de trabajo completo por fotógrafo: cada uno tiene su propio panel donde sube fotos y video, configura visibilidad y seguridad, personaliza el diseño de cada galería y comparte un enlace de marca propia — más un perfil público tipo portafolio donde sus clientes potenciales descubren su trabajo.

Funcionalidades principales

Gestión de galerías

Editor en tres pasos — Fotos, Diseño y Ajustes — con organización por secciones, deduplicación automática por contenido y soporte de formatos RAW en planes superiores.

Video

Subida y procesamiento vía Bunny Stream, reproducción protegida con URLs firmadas de expiración corta, y el mismo sistema de favoritos y descarga que las fotos.

Privacidad y seguridad

Galerías públicas o privadas con contraseña y expiración programable, rotación automática de llaves de acceso, marca de agua dinámica y 2FA con TOTP para la cuenta.

Interacción del cliente

Favoritos, descarga individual o en ZIP en la calidad autorizada, y subida de fotos por invitados — útil en bodas y eventos grupales.

Perfil público

Enlace propio tipo portafolio con bio, redes y galerías destacadas, optimizado para compartir en redes con una vista previa real vía un Worker de Cloudflare.

Marca blanca

Slug personalizado, dominio propio conectable vía Cloudflare, y nivel de marca de la plataforma ajustable según el plan.

Vista previa del producto

Mis Galerías

El panel principal del fotógrafo: todas sus colecciones en un solo lugar, con su estado de publicación y acceso rápido a cada una.

Editor de galería

Sube fotos y video, organízalos por secciones y cambia el diseño viendo el resultado al instante. Los archivos duplicados se detectan antes de subirse.

Lo que ve el cliente

La galería pública con la marca del fotógrafo: el cliente marca favoritos y descarga en la calidad que se le autorizó.

Privacidad y permisos

Por cada galería se decide quién entra, si puede marcar favoritos, subir fotos o descargar, y con una vista previa de cómo se verá el enlace al compartirlo.

Arquitectura técnica

Arquitectura hexagonal por feature: cada dominio del negocio — galerías, imágenes, video, usuarios, facturación, notificaciones — vive en su propia carpeta con capas de domain, application e infrastructure, para que la lógica de negocio no dependa directamente de Prisma, Express o proveedores externos.

Cliente Frontend React + TanStack API (hexagonal) Node.js + Express Railway AWS S3 Sharp Bunny Stream Stripe Cloudflare

Backend

  • Node.js
  • Express
  • TypeScript
  • PostgreSQL + Prisma
  • JWT + OAuth Google
  • 2FA (TOTP)
  • Zod

Frontend

  • React
  • TypeScript
  • TanStack Router
  • TanStack Query
  • Tailwind CSS
  • react-photo-album
  • dnd-kit
  • hls.js

Infraestructura

  • Railway
  • AWS S3
  • Sharp
  • Bunny Stream
  • Stripe
  • Cloudflare

Patrones técnicos relevantes

  • Deduplicación por hash de contenido antes de subir un archivo.
  • Subida directa a S3 con URLs firmadas, sin pasar por el servidor.
  • Procesamiento paralelo con concurrencia controlada en subida y variantes de imagen.
  • Renderizado condicional para bots de redes sociales vía un Worker de Cloudflare.
  • Webhooks como fuente de verdad, con respaldo por polling y actualizaciones atómicas.

Planes

Free

3 GB de almacenamiento

  • — Marca de la plataforma visible
  • — Favoritos (proofing)

Starter

20 GB de almacenamiento

  • — Marca reducida
  • — Enlace personalizado

Pro

150 GB de almacenamiento

  • — 60 min de video incluido
  • — Sin marca
  • — Descarga original / RAW

Studio

1 TB de almacenamiento

  • — 180 min de video incluido
  • — Dominio propio
  • — Sin marca

Estado actual

El producto cuenta con el flujo completo de creación, edición, publicación y entrega de galerías; sistema de video; perfil público con optimización para redes sociales; autenticación robusta con 2FA; sistema de planes y facturación recurrente con Stripe; y una identidad de marca propia. Actualmente en fase de estabilización y pulido de experiencia, con foco en preparar el producto para los primeros usuarios reales.