restore landing page 202604111758
This commit is contained in:
249
index.html
249
index.html
@@ -1 +1,248 @@
|
||||
<html><body><h1>LLM Bench Test - Sat Apr 11 17:57:24 CEST 2026</h1><p>Webhook deploy working!</p></body></html>
|
||||
<!DOCTYPE html>
|
||||
<html lang="es">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>DriftDB — La base de datos que piensa por ti</title>
|
||||
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;600;800&display=swap" rel="stylesheet">
|
||||
<script src="https://cdn.jsdelivr.net/npm/chart.js@4.4.0/dist/chart.umd.min.js"></script>
|
||||
<style>
|
||||
*{margin:0;padding:0;box-sizing:border-box}
|
||||
:root{--bg:#0a0a0f;--surface:#13131f;--border:#1e1e32;--primary:#6c5ce7;--primary-light:#a29bfe;--accent:#00cec9;--text:#e0e0e8;--muted:#6b6b80}
|
||||
body{font-family:'Inter',sans-serif;background:var(--bg);color:var(--text);line-height:1.6}
|
||||
a{color:var(--primary-light);text-decoration:none}
|
||||
a:hover{text-decoration:underline}
|
||||
.container{MAX-WIDTH:1100px;margin:0 auto;padding:0 24px}
|
||||
|
||||
/* Hero */
|
||||
.hero{padding:100px 0 80px;text-align:center;background:radial-gradient(ellipse at 50% 0%,rgba(108,92,231,.15) 0%,transparent 70%)}
|
||||
.hero .badge{display:inline-block;background:rgba(108,92,231,.2);border:1px solid var(--primary);color:var(--primary-light);padding:4px 14px;border-radius:99px;font-size:.75rem;font-weight:600;letter-spacing:.5px;margin-bottom:24px}
|
||||
.hero h1{font-size:clamp(2.2rem,6vw,4rem);font-weight:800;line-height:1.1;margin-bottom:20px;background:linear-gradient(135deg,#fff 30%,var(--primary-light));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
|
||||
.hero .sub{font-size:1.15rem;color:var(--muted);max-width:560px;margin:0 auto 36px}
|
||||
.hero .ctas{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
|
||||
.btn{display:inline-flex;align-items:center;gap:8px;padding:13px 28px;border-radius:10px;font-weight:600;font-size:.95rem;transition:all .2s;cursor:pointer;border:none}
|
||||
.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:#5b4bc4;transform:translateY(-1px)}
|
||||
.btn-outline{border:1px solid var(--border);color:var(--text);background:transparent}.btn-outline:hover{border-color:var(--primary);color:var(--primary-light)}
|
||||
|
||||
/* Stats */
|
||||
.stats{padding:48px 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:24px;text-align:center}
|
||||
.stat .num{font-size:2.2rem;font-weight:800;color:var(--accent)}
|
||||
.stat .label{color:var(--muted);font-size:.85rem;margin-top:4px}
|
||||
|
||||
/* Chart section */
|
||||
.chart-section{padding:60px 0;background:var(--surface);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
|
||||
.chart-section h2{text-align:center;font-size:1.5rem;margin-bottom:32px}
|
||||
.charts{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:24px}
|
||||
.chart-card{background:var(--bg);border:1px solid var(--border);border-radius:14px;padding:24px}
|
||||
.chart-card h3{font-size:.9rem;color:var(--muted);margin-bottom:16px;text-transform:uppercase;letter-spacing:1px}
|
||||
|
||||
/* Features */
|
||||
.features{padding:80px 0}
|
||||
.features h2{text-align:center;font-size:1.8rem;margin-bottom:48px}
|
||||
.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px}
|
||||
.feature-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:28px;transition:border-color .2s}
|
||||
.feature-card:hover{border-color:var(--primary)}
|
||||
.feature-card .icon{width:48px;height:48px;margin-bottom:16px;display:flex;align-items:center;justify-content:center;background:rgba(108,92,231,.15);border-radius:12px}
|
||||
.feature-card h3{font-size:1.05rem;margin-bottom:10px}
|
||||
.feature-card p{color:var(--muted);font-size:.88rem}
|
||||
|
||||
/* Testimonials */
|
||||
.testimonials{padding:80px 0;background:var(--surface);border-top:1px solid var(--border)}
|
||||
.testimonials h2{text-align:center;font-size:1.8rem;margin-bottom:48px}
|
||||
.testimonials-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px}
|
||||
.tcard{background:var(--bg);border:1px solid var(--border);border-radius:14px;padding:28px}
|
||||
.tcard .stars{color:#f9ca24;margin-bottom:12px;font-size:.9rem;letter-spacing:2px}
|
||||
.tcard blockquote{font-size:.95rem;margin-bottom:16px;color:var(--text)}
|
||||
.tcard .author{display:flex;align-items:center;gap:12px}
|
||||
.tcard .avatar{width:36px;height:36px;border-radius:50%;background:var(--primary);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem}
|
||||
.tcard .name{font-weight:600;font-size:.88rem}
|
||||
.tcard .role{color:var(--muted);font-size:.78rem}
|
||||
|
||||
/* Footer */
|
||||
footer{padding:48px 0;border-top:1px solid var(--border);text-align:center}
|
||||
footer .links{display:flex;gap:24px;justify-content:center;margin-bottom:20px;flex-wrap:wrap}
|
||||
footer .links a{color:var(--muted);font-size:.85rem}
|
||||
footer .links a:hover{color:var(--text)}
|
||||
footer .copy{color:var(--muted);font-size:.78rem}
|
||||
|
||||
@media(max-width:640px){.hero{padding:70px 0 60px}.chart-card{padding:16px}.features h2,.testimonials h2{font-size:1.4rem}}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<section class="hero">
|
||||
<div class="container">
|
||||
<div class="badge">NOW IN BETA</div>
|
||||
<h1>La base de datos que aprende,<br>se adapta y evoluciona</h1>
|
||||
<p class="sub">DriftDB observa cómo trabajas y reescribe su propio esquema para que cada query sea más rápida. Sin configuración. Sin tunear índices. Sin estrés.</p>
|
||||
<div class="ctas">
|
||||
<button class="btn btn-primary">Probar免费 en beta →</button>
|
||||
<button class="btn btn-outline">Leer documentación</button>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="stats">
|
||||
<div class="container" style="display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:24px">
|
||||
<div class="stat"><div class="num">73%</div><div class="label">menos queries lentas</div></div>
|
||||
<div class="stat"><div class="num">0</div><div class="label">índices manuales</div></div>
|
||||
<div class="stat"><div class="num">11ms</div><div class="label">latencia promedio</div></div>
|
||||
<div class="stat"><div class="num">∞</div><div class="label">esquemAS auto-adaptables</div></div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="chart-section">
|
||||
<div class="container">
|
||||
<h2>Rendimiento real en producción</h2>
|
||||
<div class="charts">
|
||||
<div class="chart-card">
|
||||
<h3>Latencia de queries (ms)</h3>
|
||||
<canvas id="latencyChart" height="200"></canvas>
|
||||
</div>
|
||||
<div class="chart-card">
|
||||
<h3>Queries por hora (miles)</h3>
|
||||
<canvas id="queryChart" height="200"></canvas>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="features">
|
||||
<div class="container">
|
||||
<h2>Built-in intelligence</h2>
|
||||
<div class="features-grid">
|
||||
<div class="feature-card">
|
||||
<div class="icon">
|
||||
<svg width="24" height="24" fill="none" stroke="#6c5ce7" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" viewBox="0 0 24 24"><polyline points="22 12 18 12 15 21 9 3 6 12 2 12"/></svg>
|
||||
</div>
|
||||
<h3>Auto-Indexing</h3>
|
||||
<p>DriftDB detecta queries frecuentes y crea índices temporales que desaparecen cuando el patrón cambia.</p>
|
||||
</div>
|
||||
<div class="feature-card">
|
||||
<div class="icon">
|
||||
<svg width="24" height="24" fill="none" stroke="#6c5ce7" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" viewBox="0 0 24 24"><circle cx="12" cy="12" r="10"/><line x1="12" y1="8" x2="12" y2="12"/><line x1="12" y1="16" x2="12.01" y2="16"/></svg>
|
||||
</div>
|
||||
<h3>Pre-computed queries</h3>
|
||||
<p>Las queries que ejecutas 1000 veces al día se pre-computan en background. La primera ya no es lenta nunca más.</p>
|
||||
</div>
|
||||
<div class="feature-card">
|
||||
<div class="icon">
|
||||
<svg width="24" height="24" fill="none" stroke="#6c5ce7" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" viewBox="0 0 24 24"><rect x="3" y="3" width="18" height="18" rx="2"/><path d="M3 9h18M9 21V9"/></svg>
|
||||
</div>
|
||||
<h3>Schema Drift</h3>
|
||||
<p>El esquema evoluciona con tu aplicación. Añades campos, cambias tipos, añades relaciones — DriftDB se adapta solito.</p>
|
||||
</div>
|
||||
<div class="feature-card">
|
||||
<div class="icon">
|
||||
<svg width="24" height="24" fill="none" stroke="#6c5ce7" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" viewBox="0 0 24 24"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"/></svg>
|
||||
</div>
|
||||
<h3>Zero-ops</h3>
|
||||
<p>No hay DBA de guardia. No hay scripts de migración. No hay reuniones sobre index strategy. Solo datos.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="testimonials">
|
||||
<div class="container">
|
||||
<h2>Lo que dicen los early adopters</h2>
|
||||
<div class="testimonials-grid">
|
||||
<div class="tcard">
|
||||
<div class="stars">★★★★★</div>
|
||||
<blockquote>"Pasamos de 45 minutos de tuning semanal a cero. DriftDB simplemente funciona. Nuestra noche de deploy nunca fue tan tranquila."</blockquote>
|
||||
<div class="author">
|
||||
<div class="avatar">MR</div>
|
||||
<div><div class="name">Marta Roca</div><div class="role">Backend Lead, FinReach GmbH</div></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tcard">
|
||||
<div class="stars">★★★★★</div>
|
||||
<blockquote>"Teníamos un servicio con 200k queries/día que se degradaba cada vez que crecía el tráfico. Desde DriftDB, ni un solo alert."</blockquote>
|
||||
<div class="author">
|
||||
<div class="avatar">AP</div>
|
||||
<div><div class="name">Aleix Pasqual</div><div class="role">CTO, Nimbus Analytics</div></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tcard">
|
||||
<div class="stars">★★★★★</div>
|
||||
<blockquote>"El schema drift de Postgres era nuestro peor enemigo. Ahora el que se adapta somos nosotros — porque podemos."</blockquote>
|
||||
<div class="author">
|
||||
<div class="avatar">JL</div>
|
||||
<div><div class="name">Jordi Llongueras</div><div class="role">Principal Engineer, Cloud tribal</div></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<footer>
|
||||
<div class="container">
|
||||
<div class="links">
|
||||
<a href="#">Documentación</a>
|
||||
<a href="#">API Reference</a>
|
||||
<a href="#">GitHub</a>
|
||||
<a href="#">Discord</a>
|
||||
<a href="#">Blog</a>
|
||||
<a href="#">Status</a>
|
||||
</div>
|
||||
<div class="copy">© 2026 DriftDB, Inc. — Barcelona, Spain</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
<script>
|
||||
const latencyCtx = document.getElementById('latencyChart').getContext('2d');
|
||||
new Chart(latencyCtx, {
|
||||
type: 'line',
|
||||
data: {
|
||||
labels: ['Ene', 'Feb', 'Mar', 'Abr', 'May', 'Jun'],
|
||||
datasets: [{
|
||||
label: 'PostgreSQL (tuned)',
|
||||
data: [28, 31, 25, 33, 29, 30],
|
||||
borderColor: '#6b6b80',
|
||||
backgroundColor: 'rgba(107,107,128,.1)',
|
||||
tension: .4,
|
||||
fill: false
|
||||
}, {
|
||||
label: 'DriftDB',
|
||||
data: [22, 18, 14, 11, 10, 9],
|
||||
borderColor: '#00cec9',
|
||||
backgroundColor: 'rgba(0,206,201,.1)',
|
||||
tension: .4,
|
||||
fill: true
|
||||
}]
|
||||
},
|
||||
options: {
|
||||
responsive: true,
|
||||
plugins: { legend: { labels: { color: '#e0e0e8', font: { family: 'Inter' } } } },
|
||||
scales: {
|
||||
x: { ticks: { color: '#6b6b80' }, grid: { color: '#1e1e32' } },
|
||||
y: { ticks: { color: '#6b6b80' }, grid: { color: '#1e1e32' } }
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
const queryCtx = document.getElementById('queryChart').getContext('2d');
|
||||
new Chart(queryCtx, {
|
||||
type: 'bar',
|
||||
data: {
|
||||
labels: ['Semana 1', 'Semana 2', 'Semana 3', 'Semana 4'],
|
||||
datasets: [{
|
||||
label: 'Queries (miles)',
|
||||
data: [48, 62, 79, 103],
|
||||
backgroundColor: 'rgba(108,92,231,.7)',
|
||||
borderColor: '#6c5ce7',
|
||||
borderWidth: 1
|
||||
}]
|
||||
},
|
||||
options: {
|
||||
responsive: true,
|
||||
plugins: { legend: { labels: { color: '#e0e0e8', font: { family: 'Inter' } } } },
|
||||
scales: {
|
||||
x: { ticks: { color: '#6b6b80' }, grid: { color: '#1e1e32' } },
|
||||
y: { ticks: { color: '#6b6b80' }, grid: { color: '#1e1e32' } }
|
||||
}
|
||||
}
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
Reference in New Issue
Block a user