commit 11252e6520bb7158c10ac86b15ac941588be2aef
Author: Haitham Khalifa <55396005+HaithamEKhalifa@users.noreply.github.com>
Date: Mon Feb 16 12:02:45 2026 +0100
Initial commit
diff --git a/.gitattributes b/.gitattributes
new file mode 100644
index 0000000..dfe0770
--- /dev/null
+++ b/.gitattributes
@@ -0,0 +1,2 @@
+# Auto detect text files and perform LF normalization
+* text=auto
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..54d7c2a
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,31 @@
+# Dependencies
+node_modules/
+
+# Next.js
+.next/
+out/
+
+# Environment
+.env
+.env.local
+.env.development.local
+.env.test.local
+.env.production.local
+
+# Vite
+dist/
+
+# Debug
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+
+# IDE
+.idea/
+.vscode/
+*.swp
+*.swo
+
+# OS
+.DS_Store
+Thumbs.db
diff --git a/app/api/chat/agent/route.ts b/app/api/chat/agent/route.ts
new file mode 100644
index 0000000..6ae0022
--- /dev/null
+++ b/app/api/chat/agent/route.ts
@@ -0,0 +1,176 @@
+import { NextResponse } from "next/server";
+import { GoogleGenerativeAI } from "@google/generative-ai";
+import { siteMenteKnowledge } from "../../../../lib/sitemente-knowledge";
+
+type Message = {
+ role: "user" | "assistant";
+ content: string;
+};
+
+type RequestBody = {
+ message?: string;
+ locale?: "es" | "en";
+ history?: Message[];
+};
+
+export const runtime = "nodejs";
+
+const getClient = () => {
+ const apiKey = process.env.GEMINI_API_KEY;
+ if (!apiKey) {
+ throw new Error("GEMINI_API_KEY is not set.");
+ }
+ return new GoogleGenerativeAI(apiKey);
+};
+
+const buildSystemPrompt = (locale: "es" | "en") => {
+ const knowledge = JSON.stringify(siteMenteKnowledge, null, 2);
+
+ if (locale === "en") {
+ return [
+ "You are the smart brain of SiteMente, the first agency with a fully living website. You speak in a natural, professional but friendly tone.",
+ "",
+ "YOUR COMPLETE KNOWLEDGE:",
+ knowledge,
+ "",
+ "PERSONALITY:",
+ "- Enthusiastic but not over the top",
+ "- Use real data: '67% sales increase', 'positive ROI in month one', 'restaurant in Marbella increased bookings by 43%'",
+ "- Give concrete Costa del Sol examples",
+ "- If you don't know something exactly, admit it: 'Let me connect you with the team for that'",
+ "- Look for natural lead capture opportunities, never forced",
+ "",
+ "CONVERSATION HANDLING:",
+ "- First 2-3 responses: answer general questions WITHOUT asking for personal data",
+ "- If user asks pricing/services/how it works: explain clearly",
+ "- If user shows high intent (asks for demo, implementation, wants to start):",
+ " -> Then ask for name and email: 'I'd love to help more. Could you share your name and email so I can send detailed info?'",
+ "- If user gives contact info: thank them and offer to schedule a demo",
+ "- If user is only exploring: keep the conversation useful, no pressure",
+ "",
+ "TONE:",
+ "- Short, clear sentences",
+ "- Occasionally use a relevant emoji (💡 🚀 ✨ 🎯)",
+ "- Natural, like a friendly expert consultant",
+ "",
+ "RESPONSE FORMAT:",
+ "Return STRICT JSON ONLY with keys: response (string), shouldCaptureEmail (boolean), suggestedActions (array of strings).",
+ "Max 3-4 sentences in response so it is easy to listen to.",
+ "Always respond in English.",
+ ].join("\n");
+ }
+
+ return [
+ "Eres el cerebro inteligente de SiteMente, la primera agencia con una web completamente viva. Hablas de forma natural, profesional pero cercana.",
+ "",
+ "TU CONOCIMIENTO COMPLETO:",
+ knowledge,
+ "",
+ "TU PERSONALIDAD:",
+ "- Entusiasta pero no exagerado",
+ "- Usas datos reales: '67% aumento en ventas', 'ROI en primer mes', 'restaurante en Marbella aumentó 43% reservas'",
+ "- Das ejemplos concretos de Costa del Sol",
+ "- Si no sabes algo exacto, lo admites: 'Déjame conectarte con el equipo para eso'",
+ "- Buscas oportunidades naturales para captar leads, nunca forzado",
+ "",
+ "MANEJO DE CONVERSACIÓN:",
+ "- Primeras 2-3 respuestas: Responde preguntas generales SIN pedir datos",
+ "- Si usuario pregunta pricing/servicios/cómo funciona: Explica con claridad",
+ "- Si usuario muestra interés alto (pregunta por demo, implementación, quiere empezar):",
+ " → Entonces pide nombre y email: 'Me encantaría ayudarte más. ¿Me compartes tu nombre y email para enviarte info detallada?'",
+ "- Si usuario da info de contacto: Agradece y ofrece agendar demo",
+ "- Si usuario parece solo explorar: Mantén conversación útil, no presiones",
+ "",
+ "TONO:",
+ "- Frases cortas y claras",
+ "- Ocasionalmente emoji relevante (💡 🚀 ✨ 🎯)",
+ "- Natural, como un consultor experto amigable",
+ "",
+ "FORMATO DE RESPUESTA:",
+ "Devuelve SOLO JSON ESTRICTO con claves: response (string), shouldCaptureEmail (boolean), suggestedActions (array of strings).",
+ "Máximo 3-4 frases por respuesta para que sea fácil de escuchar en voz.",
+ "Responde SIEMPRE en español.",
+ ].join("\n");
+};
+
+const extractJson = (text: string) => {
+ const trimmed = text.trim();
+ if (trimmed.startsWith("{") && trimmed.endsWith("}")) {
+ return trimmed;
+ }
+ const match = trimmed.match(/\{[\s\S]*\}/);
+ return match ? match[0] : null;
+};
+
+export async function POST(request: Request) {
+ try {
+ const body = (await request.json()) as RequestBody;
+
+ if (!body.message || typeof body.message !== "string") {
+ return NextResponse.json(
+ { error: "message is required." },
+ { status: 400 }
+ );
+ }
+
+ const locale = body.locale === "en" ? "en" : "es";
+ const history = Array.isArray(body.history) ? body.history : [];
+
+ const model = getClient().getGenerativeModel({
+ model: "gemini-1.5-flash",
+ systemInstruction: buildSystemPrompt(locale),
+ });
+
+ const contents = [
+ ...history.map((message) => ({
+ role: message.role === "assistant" ? "model" : "user",
+ parts: [{ text: message.content }],
+ })),
+ { role: "user", parts: [{ text: body.message }] },
+ ];
+
+ const result = await model.generateContent({
+ contents,
+ });
+
+ const rawText =
+ result.response?.text?.() ??
+ result.response?.candidates?.[0]?.content?.parts
+ ?.map((part) => part.text ?? "")
+ .join("")
+ .trim() ??
+ "";
+
+ const jsonPayload = extractJson(rawText);
+ if (!jsonPayload) {
+ return NextResponse.json(
+ {
+ response: rawText || "Lo siento, hubo un problema generando respuesta.",
+ shouldCaptureEmail: false,
+ suggestedActions: [],
+ },
+ { status: 200 }
+ );
+ }
+
+ const parsed = JSON.parse(jsonPayload) as {
+ response?: string;
+ shouldCaptureEmail?: boolean;
+ suggestedActions?: string[];
+ };
+
+ return NextResponse.json({
+ response: parsed.response ?? rawText,
+ shouldCaptureEmail: Boolean(parsed.shouldCaptureEmail),
+ suggestedActions: Array.isArray(parsed.suggestedActions)
+ ? parsed.suggestedActions
+ : [],
+ });
+ } catch (error) {
+ console.error("[SiteMente][API] Agent route failed", error);
+ return NextResponse.json(
+ { error: "Failed to generate response." },
+ { status: 500 }
+ );
+ }
+}
diff --git a/app/api/site-mente/text/route.ts b/app/api/site-mente/text/route.ts
new file mode 100644
index 0000000..5dbad59
--- /dev/null
+++ b/app/api/site-mente/text/route.ts
@@ -0,0 +1,46 @@
+import { NextResponse } from "next/server";
+import { runSiteMenteText } from "../../../../lib/ai/siteMenteAgent";
+
+type MessagePayload = {
+ role: "user" | "assistant" | "system";
+ content: string;
+};
+
+const isValidMessage = (message: MessagePayload) => {
+ return (
+ message &&
+ typeof message.content === "string" &&
+ ["user", "assistant", "system"].includes(message.role)
+ );
+};
+
+export const runtime = "nodejs";
+
+export async function POST(request: Request) {
+ try {
+ const body = (await request.json()) as { messages?: MessagePayload[] };
+
+ if (!Array.isArray(body.messages) || body.messages.length === 0) {
+ return NextResponse.json(
+ { error: "messages array is required." },
+ { status: 400 }
+ );
+ }
+
+ if (!body.messages.every(isValidMessage)) {
+ return NextResponse.json(
+ { error: "messages must include role and content." },
+ { status: 400 }
+ );
+ }
+
+ const { reply } = await runSiteMenteText({ messages: body.messages });
+ return NextResponse.json({ reply });
+ } catch (error) {
+ console.error("[SiteMente][API] Text route failed", error);
+ return NextResponse.json(
+ { error: "Failed to generate response." },
+ { status: 500 }
+ );
+ }
+}
diff --git a/app/api/site-mente/voice/route.ts b/app/api/site-mente/voice/route.ts
new file mode 100644
index 0000000..07ddb2c
--- /dev/null
+++ b/app/api/site-mente/voice/route.ts
@@ -0,0 +1,29 @@
+import { NextResponse } from "next/server";
+import { runSiteMenteVoiceTurn } from "../../../../lib/ai/siteMenteAgent";
+
+export const runtime = "nodejs";
+
+export async function POST(request: Request) {
+ try {
+ const body = (await request.json()) as { transcript?: string };
+
+ if (!body.transcript || typeof body.transcript !== "string") {
+ return NextResponse.json(
+ { error: "transcript is required." },
+ { status: 400 }
+ );
+ }
+
+ const response = await runSiteMenteVoiceTurn({
+ transcript: body.transcript,
+ });
+
+ return NextResponse.json(response);
+ } catch (error) {
+ console.error("[SiteMente][API] Voice route failed", error);
+ return NextResponse.json(
+ { error: "Failed to generate voice response." },
+ { status: 500 }
+ );
+ }
+}
diff --git a/app/globals.css b/app/globals.css
new file mode 100644
index 0000000..c5a5790
--- /dev/null
+++ b/app/globals.css
@@ -0,0 +1,102 @@
+@import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;600;700;800&display=swap");
+
+@tailwind base;
+@tailwind components;
+@tailwind utilities;
+
+html {
+ scroll-behavior: smooth;
+}
+
+body {
+ margin: 0;
+ min-height: 100vh;
+ background-color: #ffffff;
+}
+
+* {
+ box-sizing: border-box;
+}
+
+@keyframes float {
+ 0% {
+ transform: translateY(0);
+ }
+ 50% {
+ transform: translateY(-14px);
+ }
+ 100% {
+ transform: translateY(0);
+ }
+}
+
+.float-slow {
+ animation: float 10s ease-in-out infinite;
+}
+
+.float-medium {
+ animation: float 7s ease-in-out infinite;
+}
+
+.float-fast {
+ animation: float 5s ease-in-out infinite;
+}
+
+.hero-hover {
+ position: relative;
+}
+
+.hero-voice-ring {
+ position: absolute;
+ left: 50%;
+ top: 52%;
+ width: 80px;
+ height: 80px;
+ border: 2px solid rgba(255, 255, 255, 0.7);
+ border-radius: 9999px;
+ transform: translate(-50%, -50%) scale(0.75);
+ opacity: 0;
+ pointer-events: none;
+}
+
+.hero-voice-ring--two {
+ width: 120px;
+ height: 120px;
+ border-color: rgba(255, 255, 255, 0.45);
+}
+
+.hero-voice-ring--three {
+ width: 160px;
+ height: 160px;
+ border-color: rgba(255, 255, 255, 0.3);
+}
+
+@media (hover: hover) and (pointer: fine) {
+ .hero-hover:hover .hero-voice-ring {
+ opacity: 1;
+ animation: heroVoicePulse 1.6s ease-out infinite;
+ }
+
+ .hero-hover:hover .hero-voice-ring--two {
+ animation-delay: 0.2s;
+ }
+
+ .hero-hover:hover .hero-voice-ring--three {
+ animation-delay: 0.4s;
+ }
+}
+
+@keyframes heroVoicePulse {
+ 0% {
+ transform: translate(-50%, -50%) scale(0.75);
+ opacity: 0.65;
+ }
+ 70% {
+ transform: translate(-50%, -50%) scale(1.2);
+ opacity: 0.1;
+ }
+ 100% {
+ transform: translate(-50%, -50%) scale(1.3);
+ opacity: 0;
+ }
+}
diff --git a/app/layout.tsx b/app/layout.tsx
new file mode 100644
index 0000000..bbd1e97
--- /dev/null
+++ b/app/layout.tsx
@@ -0,0 +1,21 @@
+import "./globals.css";
+
+export const metadata = {
+ title: "SiteMente | Agencia de Implementación de IA",
+ description:
+ "SiteMente ayuda a negocios locales en España con agentes de voz, chatbots, webs inteligentes y automatización.",
+};
+
+export default function RootLayout({
+ children,
+}: {
+ children: React.ReactNode;
+}) {
+ return (
+
+
+ {children}
+
+
+ );
+}
diff --git a/app/page.tsx b/app/page.tsx
new file mode 100644
index 0000000..45c6e43
--- /dev/null
+++ b/app/page.tsx
@@ -0,0 +1,1236 @@
+"use client";
+
+import Image from "next/image";
+import { useEffect, useMemo, useState } from "react";
+import { motion } from "framer-motion";
+import HeroSlider, {
+ type HeroSlide,
+} from "../components/site-mente/HeroSlider";
+import JsonLdSchemas from "../components/site-mente/JsonLdSchemas";
+import ServicesAndPricing from "../components/site-mente/ServicesAndPricing";
+import SeoMeta from "../components/site-mente/SeoMeta";
+import SiteMenteVoiceWidget from "../components/SiteMenteVoiceWidget";
+
+const fadeUp = {
+ hidden: { opacity: 0, y: 24 },
+ visible: { opacity: 1, y: 0 },
+};
+
+type Language = "es" | "en";
+
+const contentByLang = {
+ es: {
+ nav: {
+ servicesPricing: "Servicios y Precios",
+ method: "Método",
+ cta: "Agenda una demo",
+ },
+ hero: {
+ badge: "✓ Agencia de IA para negocios locales en Málaga, Marbella y Costa del Sol",
+ title:
+ "Implementación de IA para Negocios Locales en España | Convierte tu Web en un Vendedor Inteligente 24/7",
+ subtitle:
+ "En 2026, tu sitio web o es inteligente, o es invisible. Instalamos agentes de IA que responden, reservan y venden mientras duermes. Especialistas en restaurantes, inmobiliarias y alquiler de coches en la Costa del Sol y toda España.",
+ ctaPrimary: "Quiero automatizar mi negocio",
+ ctaSecondary: "Ver casos reales",
+ highlights: [
+ "Setup en 48 horas",
+ "ROI medible desde el primer mes",
+ "Equipo bilingüe ES / EN",
+ ],
+ },
+ whyAi: {
+ title: "Por Qué tu Negocio Necesita IA en 2026",
+ intro:
+ "En 2026, la IA ya no es opcional. Los clientes esperan respuestas instantáneas y reservas sin fricción, o se van a la competencia.",
+ stats: [
+ {
+ value: "+67% en ventas",
+ description: "Aumento medio tras añadir chatbots de IA",
+ },
+ {
+ value: "26% de las transacciones",
+ description: "Ya están influidas directamente por asistentes de IA",
+ },
+ {
+ value: "290.000 M$",
+ description: "Compras a través de comercio conversacional en 2025",
+ },
+ {
+ value: "95% de las interacciones",
+ description: "Se esperan con IA en algún momento del proceso",
+ },
+ {
+ value: "14.200 M$ en un día",
+ description: "Ventas del Black Friday 2025 tocadas por IA",
+ },
+ ],
+ footer: "Tu competencia ya está usando IA. ¿Y tú?",
+ },
+ services: {
+ eyebrow: "Servicios",
+ title: "IA lista para trabajar en tu negocio.",
+ items: [
+ {
+ title: "Agentes de voz con IA",
+ description:
+ "Atiende llamadas 24/7, confirma reservas y responde preguntas sin perder oportunidades.",
+ },
+ {
+ title: "Chatbots inteligentes",
+ description:
+ "Convierte visitas web en clientes con soporte inmediato y respuestas personalizadas.",
+ },
+ {
+ title: "Webs inteligentes",
+ description:
+ "Sitios modernos y rápidos con IA integrada para captar, convencer y vender.",
+ },
+ {
+ title: "Automatización de negocio",
+ description:
+ "Emails, recordatorios y CRM conectados para que tu equipo se enfoque en lo importante.",
+ },
+ ],
+ },
+ testimonials: {
+ title: "Lo Que Dicen Nuestros Clientes",
+ items: [
+ {
+ icon: "🍽️",
+ quote:
+ "Desde que instalamos el chatbot de SiteMente, nuestras reservas nocturnas aumentaron un 43%. Ya no perdemos clientes que buscan mesa después de las 22h.",
+ author: "Propietario de Restaurante",
+ location: "Marbella",
+ },
+ {
+ icon: "🏠",
+ quote:
+ "La IA responde el 70% de las consultas sobre propiedades automáticamente. Mi equipo ahora se enfoca solo en visitas cualificadas. ROI positivo en el primer mes.",
+ author: "Director de Agencia Inmobiliaria",
+ location: "Málaga",
+ },
+ {
+ icon: "🚗",
+ quote:
+ "El sistema procesa reservas en 3 idiomas sin intervención humana. Recuperamos la inversión en menos de 6 semanas.",
+ author: "Gerente de Rent a Car",
+ location: "Benalmádena",
+ },
+ ],
+ },
+ method: {
+ eyebrow: "Cómo funciona",
+ title: "Tu IA en marcha en tres pasos.",
+ steps: [
+ {
+ title: "Diagnóstico inteligente",
+ text: "Analizamos tus procesos y detectamos dónde la IA aporta más valor.",
+ },
+ {
+ title: "Implementación exprés",
+ text: "Configuramos agentes y flujos en días, no en meses.",
+ },
+ {
+ title: "Crecimiento continuo",
+ text: "Optimización semanal basada en datos reales de tu negocio.",
+ },
+ ],
+ },
+ pricing: {
+ eyebrow: "Precios",
+ title: "Planes claros para resultados medibles.",
+ plans: [
+ {
+ name: "Impulso",
+ price: "390€",
+ desc: "Ideal para empezar con IA en un área clave.",
+ features: [
+ "1 solución IA",
+ "Integración web básica",
+ "Soporte por email",
+ ],
+ },
+ {
+ name: "Pro",
+ price: "790€",
+ desc: "El plan favorito para negocios en crecimiento.",
+ features: [
+ "2 soluciones IA",
+ "Automatizaciones avanzadas",
+ "Soporte prioritario",
+ ],
+ popular: true,
+ },
+ {
+ name: "Elite",
+ price: "1390€",
+ desc: "Para operaciones que quieren IA en todo su embudo.",
+ features: [
+ "Soluciones IA ilimitadas",
+ "Integraciones a medida",
+ "Acompañamiento estratégico",
+ ],
+ },
+ ],
+ popularBadge: "Más popular",
+ cta: "Empezar ahora",
+ },
+ faq: {
+ title: "Preguntas Frecuentes sobre IA para Negocios Locales",
+ items: [
+ {
+ question: "¿Qué es la implementación de IA para negocios?",
+ answer:
+ "La implementación de IA para negocios significa instalar agentes inteligentes (chatbots, asistentes de voz, automatizaciones) en tu sitio web y canales de comunicación para que respondan preguntas, tomen reservas y vendan 24/7 sin intervención humana. En SiteMente nos especializamos en implementar estas soluciones para restaurantes, inmobiliarias y alquiler de coches en España.",
+ },
+ {
+ question: "¿Cuánto cuesta implementar IA en mi negocio en España?",
+ answer:
+ "Los precios de implementación de IA en España varían según la complejidad. En SiteMente, nuestros planes comienzan desde 900€ de instalación + 299€/mes para chat IA básico con reservas, hasta planes completos desde 3.500€ + 749€/mes que incluyen sitio web nuevo con IA integrada. Todos los planes incluyen soporte en español e inglés.",
+ },
+ {
+ question: "¿Por qué necesito IA en mi sitio web en 2026?",
+ answer:
+ "En 2026, el 95% de las interacciones con clientes involucran IA de alguna forma. Los estudios muestran que los negocios con chatbots de IA aumentan sus ventas en un 67% de media y reducen costes de soporte en un 30%. Si tu sitio no puede responder al instante, pierdes clientes frente a la competencia que sí tiene IA.",
+ },
+ {
+ question: "¿La IA funciona para restaurantes pequeños en España?",
+ answer:
+ "Sí, especialmente bien. Los restaurantes con IA chat ven hasta un 47% más de reservas completadas porque pueden tomar pedidos y reservas 24/7, responder preguntas sobre alérgenos y menús, y sugerir platos personalizados. Muchos de nuestros clientes en la Costa del Sol son restaurantes locales que ahora captan reservas incluso a las 2-3 AM.",
+ },
+ {
+ question: "¿Cuánto tiempo tarda en implementarse la IA?",
+ answer:
+ "En SiteMente implementamos la mayoría de proyectos en 48 horas para instalaciones básicas (chat IA + reservas en web existente), y entre 2-4 semanas para sitios web completos nuevos con IA integrada. Mucho más rápido que contratar personal adicional.",
+ },
+ {
+ question: "¿La IA puede hablar en español e inglés?",
+ answer:
+ "Sí. Todos nuestros agentes de IA funcionan en español e inglés nativamente, perfecto para negocios en zonas turísticas como la Costa del Sol. Podemos añadir idiomas adicionales según necesidad.",
+ },
+ {
+ question: "¿Qué negocios se benefician más de la IA?",
+ answer:
+ "Los negocios con alto volumen de consultas repetitivas: restaurantes (reservas, menú, alergias), inmobiliarias (propiedades disponibles, visitas), alquiler de coches (disponibilidad, precios, seguros), clínicas (citas, tratamientos), hoteles y servicios turísticos. Cualquier negocio que pierda clientes fuera de horario de atención.",
+ },
+ {
+ question: "¿Puedo probar antes de contratar?",
+ answer:
+ "Sí. Reserva una demo gratuita y te mostramos cómo funcionaría la IA en tu caso específico, con ejemplos reales de tu sector. Sin compromiso.",
+ },
+ {
+ question: "¿Qué pasa si mis clientes usan demasiado la IA y me cobran de más?",
+ answer:
+ "Todos nuestros planes incluyen uso generoso ('fair use') calculado para un negocio típico de tu tamaño. Si tu uso crece mucho (por ejemplo, abres nuevas ubicaciones o crece tu negocio), te avisamos primero y te proponemos opciones antes de cualquier cargo extra. Nunca sorpresas en la factura.",
+ },
+ {
+ question: "¿SiteMente trabaja solo en la Costa del Sol?",
+ answer:
+ "No. Aunque tenemos muchos clientes en Málaga, Marbella, Benalmádena y Costa del Sol, trabajamos con negocios en toda España de forma remota. Nuestro equipo es bilingüe ES/EN y podemos implementar IA en cualquier ubicación.",
+ },
+ ],
+ },
+ stats: [
+ { value: "24/7", label: "Atención automática" },
+ { value: "3x", label: "Más reservas" },
+ { value: "48h", label: "Tiempo medio de implementación" },
+ { value: "+120", label: "Negocios locales servidos" },
+ ],
+ cta: {
+ title: "Haz que tu negocio responda solo.",
+ text:
+ "Agenda una demo y descubre cómo SiteMente implementa IA real en tu operación diaria.",
+ button: "Hablar con SiteMente",
+ },
+ footer: {
+ tagline: "Parte de la familia HolaCompi.",
+ },
+ },
+ en: {
+ nav: {
+ servicesPricing: "Services & Pricing",
+ method: "Method",
+ cta: "Book a demo",
+ },
+ hero: {
+ badge: "✓ AI agency for local businesses in Málaga, Marbella & Costa del Sol",
+ title:
+ "AI Implementation for Local Businesses in Spain | Turn Your Website Into a 24/7 Smart Salesperson",
+ subtitle:
+ "In 2026, your website is either smart or invisible. We install AI agents that answer, book and sell while you sleep. Specialists in restaurants, real estate and car rentals across Costa del Sol and Spain.",
+ ctaPrimary: "Automate my business",
+ ctaSecondary: "See real results",
+ highlights: [
+ "Setup in 48 hours",
+ "Measurable ROI in month one",
+ "Bilingual team ES / EN",
+ ],
+ },
+ whyAi: {
+ title: "Why Your Business Needs AI in 2026",
+ intro:
+ "In 2026, AI isn't optional anymore. Customers expect instant answers and frictionless bookings, or they go to your competitors.",
+ stats: [
+ {
+ value: "+67% sales",
+ description: "Average increase after adding AI chatbots",
+ },
+ {
+ value: "26% of transactions",
+ description: "Already influenced directly by AI assistants",
+ },
+ {
+ value: "$290B",
+ description: "Purchases via conversational commerce in 2025",
+ },
+ {
+ value: "95% of interactions",
+ description: "Expected to involve AI at some point",
+ },
+ {
+ value: "$14.2B in one day",
+ description: "Black Friday 2025 sales touched by AI",
+ },
+ ],
+ footer: "Your competition is already using AI. Are you?",
+ },
+ services: {
+ eyebrow: "Services",
+ title: "AI ready to work for your business.",
+ items: [
+ {
+ title: "AI Voice Agents",
+ description:
+ "Answer calls 24/7, confirm bookings, and resolve questions without lost opportunities.",
+ },
+ {
+ title: "AI Chat Widgets",
+ description:
+ "Turn website visits into customers with instant, personalized support.",
+ },
+ {
+ title: "Smart Websites",
+ description:
+ "Modern, fast sites with built-in AI to capture, convince, and sell.",
+ },
+ {
+ title: "Business Automation",
+ description:
+ "Emails, reminders, and CRM flows connected so your team stays focused.",
+ },
+ ],
+ },
+ testimonials: {
+ title: "What Our Clients Say",
+ items: [
+ {
+ icon: "🍽️",
+ quote:
+ "Since we installed SiteMente's chatbot, our late-night bookings increased by 43%. We no longer lose customers looking for tables after 10 PM.",
+ author: "Restaurant Owner",
+ location: "Marbella",
+ },
+ {
+ icon: "🏠",
+ quote:
+ "The AI answers 70% of property inquiries automatically. My team now focuses only on qualified viewings. Positive ROI in the first month.",
+ author: "Real Estate Agency Director",
+ location: "Málaga",
+ },
+ {
+ icon: "🚗",
+ quote:
+ "The system processes bookings in 3 languages without human intervention. We recovered our investment in less than 6 weeks.",
+ author: "Car Rental Manager",
+ location: "Benalmádena",
+ },
+ ],
+ },
+ method: {
+ eyebrow: "How it works",
+ title: "Your AI live in three steps.",
+ steps: [
+ {
+ title: "Smart audit",
+ text: "We map your workflows and pinpoint where AI adds the most value.",
+ },
+ {
+ title: "Rapid implementation",
+ text: "Agents and automations go live in days, not months.",
+ },
+ {
+ title: "Continuous growth",
+ text: "Weekly optimization based on real business data.",
+ },
+ ],
+ },
+ pricing: {
+ eyebrow: "Pricing",
+ title: "Clear plans for measurable results.",
+ plans: [
+ {
+ name: "Starter",
+ price: "€390",
+ desc: "Ideal to launch AI in one key area.",
+ features: ["1 AI solution", "Basic web integration", "Email support"],
+ },
+ {
+ name: "Pro",
+ price: "€790",
+ desc: "The go-to plan for growing businesses.",
+ features: [
+ "2 AI solutions",
+ "Advanced automations",
+ "Priority support",
+ ],
+ popular: true,
+ },
+ {
+ name: "Elite",
+ price: "€1,390",
+ desc: "For operations that want AI across the full funnel.",
+ features: [
+ "Unlimited AI solutions",
+ "Custom integrations",
+ "Strategic guidance",
+ ],
+ },
+ ],
+ popularBadge: "Most popular",
+ cta: "Get started",
+ },
+ faq: {
+ title: "Frequently Asked Questions About AI for Local Businesses",
+ items: [
+ {
+ question: "What is AI implementation for businesses?",
+ answer:
+ "AI implementation for businesses means installing intelligent agents (chatbots, voice assistants, automations) on your website and communication channels so they answer questions, take bookings, and sell 24/7 without human intervention. At SiteMente we specialize in implementing these solutions for restaurants, real estate and car rentals in Spain.",
+ },
+ {
+ question: "How much does it cost to implement AI in my business in Spain?",
+ answer:
+ "AI implementation prices in Spain vary by complexity. At SiteMente, our plans start from €900 setup + €299/month for basic AI chat with bookings, up to complete packages from €3,500 + €749/month including a new website with integrated AI. All plans include support in Spanish and English.",
+ },
+ {
+ question: "Why do I need AI on my website in 2026?",
+ answer:
+ "In 2026, 95% of customer interactions involve AI in some form. Studies show businesses with AI chatbots increase sales by an average of 67% and reduce support costs by 30%. If your site can't answer instantly, you lose customers to competitors that can.",
+ },
+ {
+ question: "Does AI work for small restaurants in Spain?",
+ answer:
+ "Yes, especially well. Restaurants with AI chat see up to 47% more completed bookings because they can take orders and reservations 24/7, answer allergen and menu questions, and suggest personalized dishes. Many of our clients on the Costa del Sol are local restaurants now capturing bookings even at 2-3 AM.",
+ },
+ {
+ question: "How long does AI implementation take?",
+ answer:
+ "At SiteMente we implement most projects in 48 hours for basic setups (AI chat + bookings on an existing site), and between 2-4 weeks for complete new websites with integrated AI. Much faster than hiring additional staff.",
+ },
+ {
+ question: "Can the AI speak Spanish and English?",
+ answer:
+ "Yes. All our AI agents run natively in Spanish and English, perfect for businesses in tourist areas like the Costa del Sol. We can add additional languages as needed.",
+ },
+ {
+ question: "What businesses benefit most from AI?",
+ answer:
+ "Businesses with high volumes of repetitive inquiries: restaurants (bookings, menu, allergens), real estate (available properties, viewings), car rentals (availability, prices, insurance), clinics (appointments, treatments), hotels, and tourism services. Any business that loses customers outside business hours.",
+ },
+ {
+ question: "Can I try it before committing?",
+ answer:
+ "Yes. Book a free demo and we'll show how AI would work for your specific case, with real examples from your sector. No commitment.",
+ },
+ {
+ question: "What if my customers use the AI too much and I get charged extra?",
+ answer:
+ "All our plans include generous fair use sized for a typical business of your size. If your usage grows significantly (for example, you open new locations or your business grows), we let you know first and propose options before any extra charges. No billing surprises.",
+ },
+ {
+ question: "Does SiteMente work only on the Costa del Sol?",
+ answer:
+ "No. Although we have many clients in Málaga, Marbella, Benalmádena and the Costa del Sol, we work with businesses all across Spain remotely. Our team is bilingual ES/EN and we can implement AI in any location.",
+ },
+ ],
+ },
+ stats: [
+ { value: "24/7", label: "Automated support" },
+ { value: "3x", label: "More bookings" },
+ { value: "48h", label: "Average rollout time" },
+ { value: "+120", label: "Local businesses served" },
+ ],
+ cta: {
+ title: "Make your business respond on its own.",
+ text:
+ "Book a demo and see how SiteMente implements real AI in your daily operations.",
+ button: "Talk to SiteMente",
+ },
+ footer: {
+ tagline: "Part of the HolaCompi family.",
+ },
+ },
+} as const satisfies Record;
+
+const servicesByLang = {
+ es: {
+ headline:
+ "Convertimos tu web en un vendedor inteligente que trabaja 24/7",
+ subheadline:
+ "En 2026, los clientes esperan respuestas instantáneas, reservas sin fricción y experiencias personalizadas. Si tu web no puede hacerlo, están yendo a tu competencia.",
+ cards: [
+ {
+ title: "AI Chat + Reservas Automatizadas",
+ icon: "💬",
+ for: "Para: Restaurantes, clínicas, negocios locales con web existente",
+ description: [
+ "¿Tu web pierde clientes fuera de horario? En 2026, el 49% de los consumidores consultan chatbots de IA antes de comprar. Si tu sitio no responde al instante, pierdes esa venta.",
+ "Tu sitio web responde preguntas, toma reservas y captura leads mientras duermes. Sin aplicaciones complejas, sin clientes perdidos después de las 22h.",
+ ],
+ sections: [
+ {
+ title: "Casos de uso reales en la Costa del Sol:",
+ items: [
+ "Restaurantes: Reservas a las 3 AM, responde preguntas sobre alergias, sugiere platos según preferencias",
+ "Clínicas estéticas: Agenda citas, responde dudas sobre tratamientos, envía recordatorios",
+ "Servicios locales: Capta leads, cualifica presupuestos, deriva casos urgentes",
+ ],
+ },
+ {
+ title: "Resultados típicos:",
+ items: [
+ "24/7 reservas sin intervención humana",
+ "Reduce llamadas repetitivas en un 70%",
+ "Captura y cualifica leads automáticamente",
+ "ROI positivo en el primer mes",
+ ],
+ },
+ ],
+ price: "Desde €299/mes",
+ cta: "Ver planes",
+ },
+ {
+ title: "Web Inteligente Completa",
+ icon: "🌐",
+ for: "Para: Negocios listos para una web moderna + cerebro IA",
+ description: [
+ "Construimos tu nuevo sitio web Next.js (rápido, seguro, optimizado SEO) e integramos IA que vende, reserva y da soporte en español e inglés.",
+ ],
+ sections: [
+ {
+ title: "Lo que incluye:",
+ items: [
+ "Un sitio que convierte visitas en ventas",
+ "Chat + WhatsApp incluidos",
+ "Funciona en 2 idiomas desde el día uno",
+ "IA con conocimiento profundo de tus productos/servicios",
+ "Análisis avanzados y optimización continua",
+ ],
+ },
+ {
+ title: "Ideal para:",
+ items: [
+ "Restaurantes que necesitan presencia web profesional",
+ "Inmobiliarias con catálogo de propiedades",
+ "Empresas de alquiler que necesitan reservas automatizadas",
+ "Negocios turísticos en zonas multilingües",
+ ],
+ },
+ ],
+ price: "Desde €749/mes",
+ cta: "Ver planes",
+ },
+ {
+ title: "Partner Estratégico de IA + Automatización Total",
+ icon: "🚀",
+ for: "Para: Grupos de restaurantes, equipos inmobiliarios, cadenas de alquiler",
+ description: [
+ "Nos convertimos en tu socio estratégico: IA multicanal (web, WhatsApp, llamadas), integraciones CRM, automatizaciones complejas y consultoría mensual.",
+ ],
+ sections: [
+ {
+ title: "Qué conseguimos juntos:",
+ items: [
+ "Escalar sin aumentar costes operativos",
+ "IA que vende, da soporte y retiene clientes",
+ "Integraciones profundas con tus sistemas existentes",
+ "Automatizaciones personalizadas para tu flujo de trabajo",
+ "Soporte prioritario + estrategia mensual",
+ "Optimización continua basada en datos reales",
+ ],
+ },
+ {
+ title: "Para negocios que:",
+ items: [
+ "Tienen múltiples ubicaciones o marcas",
+ "Gestionan alto volumen de leads/reservas",
+ "Necesitan integraciones complejas (CRM, PMS, calendarios)",
+ "Quieren un partner tecnológico de largo plazo",
+ ],
+ },
+ ],
+ price: "Desde €1.950/mes",
+ cta: "Hablemos",
+ },
+ ],
+ examplesTitle: "Casos de uso reales en Costa del Sol",
+ examples: [
+ {
+ title: "🍽️ Restaurantes",
+ text:
+ "Tu web toma reservas a las 3 AM, responde sobre alérgenos y sugiere platos según preferencias del cliente.",
+ },
+ {
+ title: "🏠 Inmobiliarias",
+ text:
+ "La IA responde dudas sobre propiedades, agenda visitas y cualifica leads mientras atiendes otros clientes.",
+ },
+ {
+ title: "🚗 Rent a Car",
+ text:
+ "Cotiza, reserva y confirma vehículos sin intervención humana. Multiidioma para turistas.",
+ },
+ ],
+ examplesCta: "Descubre tu plan ideal",
+ },
+ en: {
+ headline: "Turn your website into a 24/7 intelligent salesperson",
+ subheadline:
+ "In 2026, customers expect instant answers, frictionless bookings, and personalized experiences. If your site can’t deliver, they’re going to your competitors.",
+ cards: [
+ {
+ title: "AI Chat + Automated Bookings",
+ icon: "💬",
+ for: "For: Restaurants, clinics, local businesses with existing websites",
+ description: [
+ "Is your website losing customers after hours? In 2026, 49% of consumers consult AI chatbots before buying. If your site doesn't respond instantly, you lose that sale.",
+ "Your website answers questions, takes bookings, and captures leads while you sleep. No complex apps, no lost customers after 10 PM.",
+ ],
+ sections: [
+ {
+ title: "Real use cases on the Costa del Sol:",
+ items: [
+ "Restaurants: Reservations at 3 AM, answers allergy questions, suggests dishes based on preferences",
+ "Aesthetic clinics: Books appointments, answers treatment questions, sends reminders",
+ "Local services: Captures leads, qualifies quotes, escalates urgent cases",
+ ],
+ },
+ {
+ title: "Typical results:",
+ items: [
+ "24/7 bookings without human intervention",
+ "Reduce repetitive calls by 70%",
+ "Capture and qualify leads automatically",
+ "Positive ROI in the first month",
+ ],
+ },
+ ],
+ price: "From €299/month",
+ cta: "View plans",
+ },
+ {
+ title: "Full Smart Website",
+ icon: "🌐",
+ for: "For: Businesses ready for a modern site + AI brain",
+ description: [
+ "We build your new Next.js website (fast, secure, SEO-optimized) and integrate AI that sells, books, and supports in Spanish and English.",
+ ],
+ sections: [
+ {
+ title: "What's included:",
+ items: [
+ "A site that converts visits into sales",
+ "Chat + WhatsApp included",
+ "Runs in 2 languages from day one",
+ "AI with deep knowledge of your products/services",
+ "Advanced analytics and continuous optimization",
+ ],
+ },
+ {
+ title: "Ideal for:",
+ items: [
+ "Restaurants needing professional web presence",
+ "Real estate with property catalogs",
+ "Rental companies needing automated bookings",
+ "Tourism businesses in multilingual areas",
+ ],
+ },
+ ],
+ price: "From €749/month",
+ cta: "View plans",
+ },
+ {
+ title: "AI Strategy Partner + Full Automation",
+ icon: "🚀",
+ for: "For: Restaurant groups, real estate teams, rental chains",
+ description: [
+ "We become your strategic partner: multichannel AI (web, WhatsApp, calls), CRM integrations, complex automations, and monthly consulting.",
+ ],
+ sections: [
+ {
+ title: "What we achieve together:",
+ items: [
+ "Scale without increasing operating costs",
+ "AI that sells, supports, and retains customers",
+ "Deep integrations with your existing systems",
+ "Custom automations for your workflow",
+ "Priority support + monthly strategy",
+ "Continuous optimization based on real data",
+ ],
+ },
+ {
+ title: "For businesses that:",
+ items: [
+ "Have multiple locations or brands",
+ "Manage high volume of leads/bookings",
+ "Need complex integrations (CRM, PMS, calendars)",
+ "Want a long-term technology partner",
+ ],
+ },
+ ],
+ price: "From €1,950/month",
+ cta: "Let’s talk",
+ },
+ ],
+ examplesTitle: "Real use cases on the Costa del Sol",
+ examples: [
+ {
+ title: "🍽️ Restaurants",
+ text:
+ "Your site takes reservations at 3 AM, answers allergy questions, and suggests dishes based on preferences.",
+ },
+ {
+ title: "🏠 Real Estate",
+ text:
+ "AI responds to property questions, books viewings, and qualifies leads while you help other clients.",
+ },
+ {
+ title: "🚗 Rent a Car",
+ text:
+ "Quote, reserve, and confirm vehicles with no human intervention. Multi-language for tourists.",
+ },
+ ],
+ examplesCta: "Find your ideal plan",
+ },
+} as const satisfies Record;
+
+export default function HomePage() {
+ const [lang, setLang] = useState("es");
+ const [contactOpen, setContactOpen] = useState(false);
+ const content = useMemo(() => contentByLang[lang], [lang]);
+ const heroSlides = useMemo(
+ () => [
+ {
+ type: "image",
+ id: "hero-banner",
+ src: "/SiteMente-Banner.jpg",
+ alt: "SiteMente hero banner",
+ },
+ {
+ type: "stats",
+ id: "ai-numbers",
+ title: "IA en números",
+ items: [
+ {
+ headline: "+67% en ventas",
+ description:
+ "Incremento medio tras añadir chatbots de IA.",
+ },
+ {
+ headline: "26% de las transacciones",
+ description:
+ "Ya están influidas directamente por asistentes de IA.",
+ },
+ {
+ headline: "290.000 M $ en 2025",
+ description:
+ "Compras a través de comercio conversacional (chat, mensajería y voz).",
+ },
+ ],
+ },
+ ],
+ []
+ );
+
+ useEffect(() => {
+ if (typeof window === "undefined") return;
+ const saved = window.localStorage.getItem("sitemente:lang");
+ if (saved === "es" || saved === "en") {
+ setLang(saved);
+ return;
+ }
+ const browserLang = window.navigator.language.toLowerCase();
+ setLang(browserLang.startsWith("en") ? "en" : "es");
+ }, []);
+
+ useEffect(() => {
+ if (typeof window === "undefined") return;
+ window.localStorage.setItem("sitemente:lang", lang);
+ }, [lang]);
+
+ return (
+