const { useState, useEffect, useRef } = React; /* ───────────────────────── PALETTES ───────────────────────── */ const PALETTES = { electric: { bg: "#0a0a0f", ink: "#f4f4f5", muted: "#9b9ba8", line: "#1f1f2a", accent: "#d4ff3a", accentInk: "#0a0a0f", surface: "#14141d", chip: "#d4ff3a" }, magenta: { bg: "#1a0a1f", ink: "#fef6ff", muted: "#b491b8", line: "#2e1832", accent: "#ff3da8", accentInk: "#1a0a1f", surface: "#260f2d", chip: "#ff3da8" }, cream: { bg: "#f1ece1", ink: "#161412", muted: "#7a736a", line: "#d8cfbe", accent: "#e85a2c", accentInk: "#fff", surface: "#e8e1d2", chip: "#1a1816" }, noir: { bg: "#0f0e0d", ink: "#f3eee3", muted: "#8a847a", line: "#2a2724", accent: "#ff6a3d", accentInk: "#0f0e0d", surface: "#1a1816", chip: "#f3eee3" }, }; const FONT_PAIRS = { editorial: { display: '"Instrument Serif", serif', body: '"Hanken Grotesk", system-ui, sans-serif', tag: "Editorial" }, modern: { display: '"Bricolage Grotesque", sans-serif', body: '"DM Sans", system-ui, sans-serif', tag: "Moderna" }, classic: { display: '"Cormorant Garamond", serif', body: '"Manrope", system-ui, sans-serif', tag: "Clásica" }, }; const TWEAK_DEFAULTS = /*EDITMODE-BEGIN*/{ "palette": "noir", "fonts": "modern", "showGrid": false }/*EDITMODE-END*/; /* ───────────────────────── DATA ───────────────────────── */ const CLIENTS = [ "GBS Global Business Solutions", "Castellanos y Asociados", "Tecnomóvil", "Soprém", "Cangurove", "Delta2 Estudios", ]; const SERVICES = [ { n: "01", t: "Diseño para redes", d: "Sistemas visuales para Instagram y TikTok que mantienen tu marca consistente, reconocible y vendiendo. Feed, carruseles, reels y campañas mensuales.", tags: ["Feed", "Carruseles", "Stories"] }, { n: "02", t: "Contenido UGC", d: "Produzco contenido auténtico en cámara para tu producto: guion, grabación y edición incluidas. Formatos nativos que convierten en TikTok e Instagram.", tags: ["Video", "Reels", "TikTok"] }, { n: "03", t: "Arte publicitario", d: "Piezas para campañas de alto impacto: vallas, mockups, afiches y anuncios diseñados para parar el scroll y comunicar el mensaje en segundos.", tags: ["Vallas", "Mockups", "Print"] }, { n: "04", t: "Identidad de marca", d: "Logos, paletas, tipografías y sistemas de aplicación. Marcas que se sostienen en el tiempo, en cualquier plataforma y a cualquier escala.", tags: ["Logo", "Sistema", "Aplicaciones"] }, ]; const WORK = [ { id: "gbs", client: "GBS Global Business Solutions", kind: "Redes + arte publicitario", year: "2024–26", tags: ["Social", "Arte publicitario"], img: "assets/gbs-luna.png", color: "#0f0e0d", accent: "#e02020" }, { id: "castellanos", client: "Castellanos y Asociados", kind: "Diseño editorial + redes", year: "2024–26", tags: ["Editorial", "Social"], img: "assets/gbs-aereos.png", color: "#eeeae3", accent: "#1a1816" }, { id: "tecnomovil", client: "Tecnomóvil / Soprém", kind: "Sistema de redes + UGC", year: "2023–26", tags: ["Social", "UGC"], img: "assets/tm-kitrines.png", color: "#111111", accent: "#ffd60a" }, { id: "cangurove", client: "Cangurove", kind: "Campañas de temporada", year: "2023–24", tags: ["Campaña", "Social"], img: "assets/canguro-instagram.jpg", color: "#1a1a1a", accent: "#ffd60a" }, { id: "delta2", client: "Delta2 Estudios", kind: "Identidad + redes", year: "2025–26", tags: ["Branding", "Social"], img: "assets/delta2-servicios.png", color: "#0e2a55", accent: "#ee7a1a" }, ]; const TESTIMONIALS = [ { q: "Dubimar entendió la marca desde la primera llamada. Las piezas comunican rápido y la audiencia engancha.", who: "Equipo GBS", role: "Global Business Solutions" }, { q: "Trabaja rápido, propone y cuida cada detalle. Los reels que graba para Tecnomóvil tienen otro nivel.", who: "Tecnomóvil", role: "Caracas / San Cristóbal" }, { q: "Más que diseñadora: estratega. Llevó la identidad de Delta2 a un sistema que aplicamos en todo.", who: "Delta2 Estudios", role: "Sagunto, Valencia · España" }, ]; const PROCESS = [ { n: "01", t: "Descubrimiento", d: "Llamada estratégica de 30–45 min para entender tu negocio, audiencia y objetivos. Sin compromiso." }, { n: "02", t: "Propuesta", d: "Brief con alcance, entregables y cronograma claros. Una sola propuesta, sin sorpresas ni letra chica." }, { n: "03", t: "Producción", d: "Diseño + grabación + edición con 2 rondas de revisión. Tú decides; yo defiendo cada idea con criterio." }, { n: "04", t: "Entrega", d: "Archivos editables, plantillas y soporte de 30 días para que tu equipo siga implementando de forma autónoma." }, ]; /* ───────────────────────── COMPONENT ───────────────────────── */ function Portfolio() { const [t, setTweak] = useTweaks(TWEAK_DEFAULTS); const [tweaksOpen, setTweaksOpen] = useState(false); const [hover, setHover] = useState(null); const [tIdx, setTIdx] = useState(0); const [navHidden, setNavHidden] = useState(false); const lastY = useRef(0); const p = PALETTES[t.palette] || PALETTES.noir; const f = FONT_PAIRS[t.fonts] || FONT_PAIRS.modern; useEffect(() => { const onScroll = () => { const y = window.scrollY; setNavHidden(y > 80 && y > lastY.current); lastY.current = y; }; window.addEventListener("scroll", onScroll, { passive: true }); return () => window.removeEventListener("scroll", onScroll); }, []); useEffect(() => { const id = setInterval(() => setTIdx(i => (i + 1) % TESTIMONIALS.length), 6000); return () => clearInterval(id); }, []); useEffect(() => { const onMsg = (e) => { if (e.data?.type === '__activate_edit_mode') setTweaksOpen(true); if (e.data?.type === '__deactivate_edit_mode') setTweaksOpen(false); }; window.addEventListener('message', onMsg); window.parent.postMessage({ type: '__edit_mode_available' }, '*'); return () => window.removeEventListener('message', onMsg); }, []); const cssVars = { "--bg": p.bg, "--ink": p.ink, "--muted": p.muted, "--line": p.line, "--accent": p.accent, "--accent-ink": p.accentInk, "--surface": p.surface, "--chip": p.chip, "--ff-display": f.display, "--ff-body": f.body, }; return (
{t.showGrid && } {/* ── NAV ── */} {/* ── HERO ── */}
{/* ── MARQUEE ── */}
Marcas que han confiado en el estudio
{[...CLIENTS, ...CLIENTS, ...CLIENTS].map((c, i) => ( ))}
{/* ── SELECTED WORK ── */}
setHover(null)}> {WORK.map((w, i) => ( setHover(w.id)} > {String(i + 1).padStart(2, "0")} {w.client} {w.kind} {w.tags.map(tag => {tag})} {w.year} ))} {hover && (() => { const w = WORK.find(x => x.id === hover); return (
{w.client}
); })()}
{/* ── CASE STUDY — GBS ── */}
Caso destacado
GBS — Ni la luna es límite
GBS — Importar desde China GBS — Importa tu carro

GBS Global Business Solutions

Sistema de redes y arte publicitario para una operadora logística que importa carros y mercancía desde China a Venezuela y Colombia.

Quiero resultados así
{/* ── SECONDARY CASES ── */}
Tecnomóvil — Kit rines
Tecnomóvil · Soprém

Catálogo + UGC para una tienda de tecnología en Caracas y San Cristóbal.

Diseño de catálogos de producto, plantillas de promo y reels en cámara presentando lanzamientos.

Delta2 Estudios — Servicios
Delta2 Estudios

Identidad y redes para una constructora en Sagunto, Valencia.

Sistema visual con doble paleta (azul + naranja), aplicaciones en feed, mockups y plantillas para anuncios de empleo.

{/* ── UGC SHOWCASE ── */}
UGC Tecnomóvil — Cajas UGC Tecnomóvil — Gamers UGC Tecnomóvil — Billetes UGC Tecnomóvil — Atención UGC Tecnomóvil — Popsockets UGC Tecnomóvil — Tienda

↳ Reels para @tecnomovil y @globalbusiness_gbs · presentación de producto, unboxings, tutoriales.

{/* ── SERVICES ── */}
{SERVICES.map(s => (
{s.n}
{s.tags.map(tag => {tag})}

{s.t}

{s.d}

))}
{/* ── ABOUT ── */}
Dubimar Mujica
↳ Dubimar, Madrid 2025
04 · Sobre el estudio

Diseño con criterio.
Resultados medibles.
Entrega garantizada.

Soy Dubimar Mujica, directora creativa con seis años construyendo marcas en redes sociales para clientes en Venezuela y España — logística, tecnología, construcción. Mi forma de trabajar combina estrategia (entender el negocio, la audiencia, lo que convierte) con un criterio visual sólido y ejecutable.

Además de diseñadora soy creadora de contenido UGC: grabo en cámara, sé exactamente cómo se ven los sistemas que diseño cuando llegan a Instagram o TikTok. No entrego piezas sueltas — entrego sistemas que funcionan.

  • Diseño para redes (feed, carruseles, stories)
  • Contenido UGC (reels, TikToks, presentación en cámara)
  • Arte publicitario y mockups
  • Identidad visual y branding
  • Dirección creativa de campañas
{/* ── TESTIMONIALS ── */}
"
{TESTIMONIALS.map((q, i) => (

{q.q}

{q.who} {q.role}
))}
{TESTIMONIALS.map((_, i) => (
{/* ── PROCESS ── */}
{PROCESS.map((s, i) => (
{s.n}

{s.t}

{s.d}

{i < PROCESS.length - 1 && }
))}
{/* ── CTA ── */}
06 · Contacto

¿Tu marca lista para el siguiente nivel?

Agenda una consulta estratégica de 15 min. Sin compromiso. Respondemos con un plan concreto en menos de 24 horas.

Iniciar proyecto Agendar consulta · 15 min
Instagram TikTok Behance LinkedIn
{/* ── FOOTER ── */}
Dubimar
Mujica.
Estudio Creativo
Estudio

Venezuela / España

Remoto · LATAM, US, EU

Sígueme

@dubimar_m

behance.net/dubimar

Legal

© 2026 Dubimar Mujica

Todos los derechos reservados

{/* ── TWEAKS ── */} {tweaksOpen && ( setTweaksOpen(false)}> setTweak("palette", v)} options={[ ["#0a0a0f", "#d4ff3a", "#f4f4f5"], ["#1a0a1f", "#ff3da8", "#fef6ff"], ["#f1ece1", "#161412", "#e85a2c"], ["#0f0e0d", "#f3eee3", "#ff6a3d"], ]} labels={["Electric", "Magenta", "Cream", "Noir"]} keys={["electric", "magenta", "cream", "noir"]} /> setTweak("fonts", v)} options={[ { value: "editorial", label: "Editorial" }, { value: "modern", label: "Moderna" }, { value: "classic", label: "Clásica" }, ]} /> setTweak("showGrid", v)} /> )}
); } /* ───────────────────────── SUB-COMPONENTS ───────────────────────── */ function SectionHead({ k, t, s }) { return (
{k}

{t}

{s}

); } function CaseRow({ l, v }) { return (
{l} {v}
); } function Result({ n, l }) { return (
{n} {l}
); } function Grid() { return (
{Array.from({ length: 12 }).map((_, i) => )}
); } /* Custom TweakColor with palette swatches + labels */ function TweakColor({ value, onChange, options, labels, keys }) { return (
{options.map((pal, i) => ( ))}
); } ReactDOM.createRoot(document.getElementById("root")).render();