Plantilla de landings

Una landing desde un archivo JSON

Una landing que se arma desde un único archivo JSON con un build en Python. Cambiar de cliente es cambiar el JSON y las imágenes. La usé de base para Nexus, un centro odontológico.

Año
2026
Rol
Proyecto propio
Acceso
Demo a pedido
landing-template / index.html
Landing de la marca ficticia Estudio Umbral
La demo de la plantilla, con una marca ficticia e ilustraciones propias.

El problema

Muchos clientes chicos necesitan lo mismo: portada, quiénes somos, servicios, galería y contacto. Hacer cada landing desde cero era repetir el mismo trabajo y los mismos errores.

Quería algo que se pudiera adaptar en una tarde, sin que el sitio final dependa de npm, de un servidor ni de JavaScript para mostrar el contenido.

Qué hice

Build desde un JSON
config/site.json define marca, paleta, tipografías, textos, secciones y contacto. python build.py valida todo y genera el HTML; si falla, no pisa la salida anterior.
Secciones reordenables
Las secciones se muestran, ocultan y reordenan desde una lista. Navegación y pie se ajustan solos y las acciones que apuntan a secciones ocultas se omiten.
Seguro por defecto
Todo texto se escapa y los enlaces se validan (HTTPS, mailto, tel o anclas existentes). No se puede insertar HTML desde la configuración.
Nexus Odontología
La misma base, extendida con equipo, turnos por un sistema externo, reseñas de Google y casos. Cambiar el sistema de turnos es cambiar una línea del JSON.

Más pantallas

landing-template / index.html
La misma landing en un celular
La misma landing a 390 px.
nexus-odontologia / index.html
Portada de Nexus Odontología
Nexus: la misma plantilla con otra marca, tipografía y secciones.

Stack

Generador

  • Python 3.10+
  • JSON

Solo biblioteca estándar. Tests del build en cada proyecto.

Sitio generado

  • HTML
  • CSS
  • JavaScript opcional

Funciona sin JavaScript: el JS solo mejora el menú y las animaciones.

Decisiones

Sin framework. El cliente recibe archivos estáticos que puede subir a cualquier hosting. No hay dependencias que actualizar dentro de un año.

Errores que se entienden. Si un campo está mal, el build dice cuál y por qué. La plantilla la puede tocar alguien que no conoce el código.

Nada del cliente original. La plantilla salió de un trabajo real, pero no conserva fotos, contactos ni identidad de ese cliente. La demo usa ilustraciones SVG hechas para la plantilla.

Verlo andando

No tiene link público. Te lo muestro en una llamada o te paso acceso.