StrategicCreativeStrategicAuthentic

True creativity making
brands stand out

Let's create together document.getElementById('ok-cta').addEventListener('click', function (e) { var target = document.getElementById('about'); if (!target) return; // no section found: normal link behaviour e.preventDefault(); // Jump to the section, aligned to the top of the screen target.scrollIntoView({ behavior: 'smooth', block: 'start' }); // Restart the entrance animation so the section looks freshly loaded target.classList.remove('ok-fresh'); void target.offsetWidth; target.classList.add('ok-fresh'); history.replaceState(null, '', '#about'); });

Who We Are

A creative space without boundaries

Jawa Creations is a creative agency focused on building brands, ideas, and experiences that connect with people.We combine strategy, creativity, and multidisciplinary expertise to transform ideas into impactful projects.

Meet our team // Prevent the browser from restoring an old scroll position if ('scrollRestoration' in history) { history.scrollRestoration = 'manual'; } document.addEventListener('DOMContentLoaded', function () { const btn = document.getElementById('Learn More BTN'); if (!btn) return; btn.addEventListener('click', function (e) { e.preventDefault(); const target = document.getElementById('services'); if (!target) return; // Scroll so the #services section lands exactly at the very top of the viewport const top = target.getBoundingClientRect().top + window.pageYOffset; window.scrollTo({ top: top, behavior: 'smooth' }); }); });
Jawa Creations For Carrd logo

What We Do

Creative solutions for brands that want to stand out

We combine strategy, design, advertising, and digital content to help businesses build distinctive brands, connect with their audiences, and drive meaningful growth.


Services

Strategy & Marketing

Marketing audits, strategy, campaign planning, and brand positioning.

Advertising

Creative campaigns, ad concepts, digital advertising, and promotional materials.

Film & Video

Filming, video editing, reels, promotional content, and visual storytelling.

Web Design

Landing pages, websites, and digital experiences designed for your brand.

Branding & Design

Brand identity, graphic design, and visual communication.

Social Media

Content creation, community management, social media strategy, and campaigns.

Learn More // Prevent the browser from restoring an old scroll position if ('scrollRestoration' in history) { history.scrollRestoration = 'manual'; } document.addEventListener('DOMContentLoaded', function () { const btn = document.getElementById('Learn More BTN'); if (!btn) return; btn.addEventListener('click', function (e) { e.preventDefault(); const target = document.getElementById('services'); if (!target) return; // Scroll so the #services section lands exactly at the very top of the viewport const top = target.getBoundingClientRect().top + window.pageYOffset; window.scrollTo({ top: top, behavior: 'smooth' }); }); });

Our Approach

Creativity with purpose

Every project starts with a question: What are we trying to achieve?Before we create, we seek to understand your objectives, identify opportunities, and establish a clear creative direction. Every decision, from the initial concept to the final deliverable, should serve a purpose.

(function(){ var root = document.getElementById('mcGallery'); if (!root || root.getAttribute('data-init')) return; root.setAttribute('data-init','1'); var stage = root.querySelector('.mg-stage'); var backdrop = root.querySelector('.mg-backdrop'); var bar = root.querySelector('.mg-progress span'); var items = Array.prototype.slice.call(root.querySelectorAll('.mg-item')); var n = items.length; var reduce = window.matchMedia('(prefers-reduced-motion: reduce)').matches; var v = {}; function resolveSize(str, fallback){ str = (str || '').trim(); if (!str) return fallback; var probe = document.createElement('div'); probe.style.cssText = 'position:absolute;visibility:hidden;left:-9999px;width:' + str + ';height:0;pointer-events:none;'; document.body.appendChild(probe); var px = probe.offsetWidth; document.body.removeChild(probe); return px || fallback; } function readVars(){ var cs = getComputedStyle(root); v.cw = parseFloat(cs.getPropertyValue('--collapsed-w')) || 96; v.hw = parseFloat(cs.getPropertyValue('--hover-w')) || 190; v.ch = parseFloat(cs.getPropertyValue('--collapsed-h')) || 340; v.hh = parseFloat(cs.getPropertyValue('--hover-h')) || 400; v.os = resolveSize(cs.getPropertyValue('--open-size'), 460); v.gap = parseFloat(cs.getPropertyValue('--gap')) || 14; v.inf = parseFloat(cs.getPropertyValue('--influence')) || 200; } readVars(); function setBar(p){ p = Math.min(1, Math.max(0, p)); bar.style.width = (p * 100) + '%'; } var openIndex = null; var target = items.map(function(){ return 0; }); var cur = items.map(function(){ return 0; }); var raf = 0, closeTimer = 0; function smooth(t){ return t * t * (3 - 2 * t); } function applyInline(){ if (stage.classList.contains('open')) return; for (var i = 0; i < n; i++){ var f = cur[i]; items[i].style.width = (v.cw + (v.hw - v.cw) * f) + 'px'; items[i].style.height = (v.ch + (v.hh - v.ch) * f) + 'px'; } } function loop(){ raf = 0; var moving = false; for (var i = 0; i < n; i++){ var d = target[i] - cur[i]; if (Math.abs(d) > 0.001){ cur[i] += d * 0.2; moving = true; } else { cur[i] = target[i]; } } applyInline(); if (moving) raf = requestAnimationFrame(loop); } function kick(){ if (!raf) raf = requestAnimationFrame(loop); } stage.addEventListener('pointermove', function(e){ if (stage.classList.contains('open') || reduce) return; if (e.pointerType && e.pointerType !== 'mouse') return; var r = stage.getBoundingClientRect(); var cx = e.clientX - r.left; setBar(cx / r.width); for (var i = 0; i < n; i++){ var center = items[i].offsetLeft + items[i].offsetWidth / 2; var f = Math.max(0, 1 - Math.abs(cx - center) / v.inf); target[i] = smooth(f); } kick(); }); stage.addEventListener('pointerleave', function(){ if (stage.classList.contains('open')) return; for (var i = 0; i < n; i++) target[i] = 0; kick(); }); stage.addEventListener('scroll', function(){ var max = stage.scrollWidth - stage.clientWidth; if (max > 4) setBar(stage.scrollLeft / max); }); function open(i){ openIndex = i; clearTimeout(closeTimer); cancelAnimationFrame(raf); raf = 0; stage.classList.add('anim'); void stage.offsetWidth; stage.classList.add('open'); for (var j = 0; j < n; j++){ items[j].classList.toggle('active', j === i); items[j].classList.toggle('dimmed', j !== i); items[j].style.width = (j === i ? v.os : v.cw) + 'px'; items[j].style.height = (j === i ? v.os : v.ch) + 'px'; } setBar((items[i].offsetLeft + items[i].offsetWidth / 2) / stage.scrollWidth); backdrop.style.pointerEvents = 'auto'; } function close(){ if (openIndex === null) return; openIndex = null; for (var i = 0; i < n; i++){ cur[i] = 0; target[i] = 0; items[i].classList.remove('active','dimmed'); items[i].style.width = v.cw + 'px'; items[i].style.height = v.ch + 'px'; } backdrop.style.pointerEvents = 'none'; clearTimeout(closeTimer); closeTimer = setTimeout(function(){ stage.classList.remove('open','anim'); }, 320); } items.forEach(function(it, i){ it.addEventListener('click', function(e){ e.stopPropagation(); if (openIndex === i) close(); else open(i); }); }); backdrop.addEventListener('click', close); root.addEventListener('keydown', function(e){ if (e.key === 'Escape') close(); }); window.addEventListener('resize', function(){ readVars(); }); applyInline(); setTimeout(readVars, 500); })();
Why are we different

What makes Jawa Creations different?

Scroll to learn more

01 / 05

Research Before Assumptions

We take the time to understand the audience, study the competition, and find opportunities before making decisions. Good creative work starts with knowing what we're working with.

02 / 05

Strategy Before Execution

We want every project to have a clear purpose. Before creating anything, we understand the client's goals and find the best way to achieve them.

03 / 05

Creativity with a Point of View

We create ideas that feel original, meaningful, and true to each brand. We don't believe in following trends just for the sake of it.

04 / 05

Quality Over Quantity

We'd rather deliver work we're proud of than rush something out the door. Every detail matters, and we make sure our work meets our standards before it reaches the client.

05 / 05

Partnership Over Transactions

We see our clients as partners, not just customers. We share ideas, offer honest advice, and help them make decisions that support their growth, even when that means recommending a different approach.

Swipe
(function () { var space = document.getElementById('spSpace'); var stage = document.getElementById('spStage'); var head = document.getElementById('spHead'); var hint = document.getElementById('spHint'); var introSub = document.getElementById('spIntroSub'); var dotsEl = document.getElementById('spDots'); var chartEl = document.getElementById('spChart'); var clipRect = document.getElementById('spClipRect'); var chartLine = document.getElementById('spChartLine'); var chartArea = document.getElementById('spChartArea'); /* elements[0] = intro, elements[1..5] = steps 1-5 */ var els = Array.prototype.slice.call(stage.querySelectorAll('.sp-step')); var dots = Array.prototype.slice.call(dotsEl.querySelectorAll('.sp-dot')); var from = [25, 3, 3], to = [144, 17, 18]; /* #190303 → #901112 */ var p = 0, targetP = 0, cur = -1, wasIn = false, animId = null; var chartLen = 0; /* real measured path length for the draw animation */ /* smooth curve through points (Catmull-Rom to bezier) */ function smoothPath(pts) { var d = 'M' + pts[0][0].toFixed(1) + ',' + pts[0][1].toFixed(1); for (var i = 0; i < pts.length - 1; i++) { var p0 = pts[Math.max(0, i - 1)], p1 = pts[i], p2 = pts[i + 1], p3 = pts[Math.min(pts.length - 1, i + 2)]; var c1x = p1[0] + (p2[0] - p0[0]) / 6, c1y = p1[1] + (p2[1] - p0[1]) / 6; var c2x = p2[0] - (p3[0] - p1[0]) / 6, c2y = p2[1] - (p3[1] - p1[1]) / 6; d += 'C' + c1x.toFixed(1) + ',' + c1y.toFixed(1) + ' ' + c2x.toFixed(1) + ',' + c2y.toFixed(1) + ' ' + p2[0].toFixed(1) + ',' + p2[1].toFixed(1); } return d; } /* build the growth chart: one smooth line trending upward */ (function buildChart() { var pts = []; var n = 60; for (var i = 0; i <= n; i++) { var f = i / n; var x = f * 1000; var trend = 350 - f * 280; var wave = Math.sin(f * Math.PI * 3) * 16 * (0.3 + 0.7 * f); pts.push([x, trend + wave]); } var d = smoothPath(pts); chartLine.setAttribute('d', d); chartArea.setAttribute('d', d + ' L1000,400 L0,400 Z'); /* measure the real path length so the draw-on animation works in every browser */ try { chartLen = chartLine.getTotalLength(); } catch (err) { chartLen = 0; } if (!chartLen || !isFinite(chartLen)) chartLen = 1600; chartLine.style.strokeDasharray = chartLen; chartLine.style.strokeDashoffset = chartLen; })(); /* swipe attaches to ANY touch-capable device (phones, tablets, touch laptops); the hint text and intro wording switch to "swipe" where touch is primary */ var coarse = window.matchMedia('(hover: none)').matches || window.matchMedia('(pointer: coarse)').matches; var hasTouch = navigator.maxTouchPoints > 0 || 'ontouchstart' in window; if (coarse) { hint.textContent = 'Swipe'; introSub.textContent = 'Swipe to learn more'; } else { hint.style.display = 'none'; } function lerp(a, b, t) { return Math.round(a + (b - a) * t); } function clamp(v) { return Math.min(5, Math.max(0, v)); } function render() { var t = p / 5; var bg = 'rgb(' + lerp(from[0], to[0], t) + ',' + lerp(from[1], to[1], t) + ',' + lerp(from[2], to[2], t) + ')'; stage.style.background = bg; space.style.background = bg; /* the chart climbs as you progress: it starts shifted down and faint, then rises while the line strokes itself forward and brightens */ chartLine.style.strokeDashoffset = (chartLen * (1 - t)).toFixed(1); clipRect.setAttribute('width', (t * 1000).toFixed(1)); chartEl.style.opacity = (0.15 + 0.85 * t).toFixed(3); chartEl.style.transform = 'translateY(' + ((1 - t) * 90).toFixed(1) + 'px)'; if (hint) hint.style.opacity = p > 0.15 ? '0' : '1'; var idx = Math.min(5, Math.round(p)); if (idx !== cur) { cur = idx; els.forEach(function (el, i) { el.classList.toggle('on', i === idx); el.classList.toggle('out', i < idx); }); /* dots track steps 1-5; hidden during the intro */ dots.forEach(function (d, i) { d.classList.toggle('on', i + 1 === idx); }); dotsEl.style.opacity = idx === 0 ? '0' : '1'; /* the small header appears once the steps begin */ head.style.opacity = idx === 0 ? '0' : '1'; } } /* glide p smoothly toward a target — used by both wheel and swipe, so the chart and background animate continuously on every device */ function tweenTo(v) { targetP = clamp(v); if (animId) cancelAnimationFrame(animId); (function tick() { var diff = targetP - p; if (Math.abs(diff) < 0.005) { p = targetP; animId = null; } else { p += diff * 0.16; animId = requestAnimationFrame(tick); } render(); })(); } /* desktop: wheel capture — every consumed input instantly re-centers the section before driving the sequence, so the lock can never hold an off-center position. Release only at the intro (going up) or step 5 (going down). */ window.addEventListener('wheel', function (e) { if (Math.abs(e.deltaY) <= Math.abs(e.deltaX)) return; var d = e.deltaY * (e.deltaMode === 1 ? 16 : 1); var r = stage.getBoundingClientRect(); var vh = window.innerHeight || document.documentElement.clientHeight; var mid = r.top + r.height / 2; /* arm when the content is centered; intercept flicks that would land it there */ var band = vh * 0.3; var inWindow = (Math.abs(mid - vh / 2) <= band) || /* centered */ (d > 0 && mid > vh / 2 + band && mid - d <= vh / 2 + band) || /* flick reaches it from below */ (d < 0 && mid < vh / 2 - band && mid - d >= vh / 2 - band); /* flick reaches it from above */ if (!inWindow) { wasIn = false; return; } wasIn = true; /* lock ends only at the two boundaries: intro + up, or step 5 + down */ if ((d > 0 && targetP < 5) || (d < 0 && targetP > 0)) { e.preventDefault(); /* hard-center first (instant, same frame), then advance — the text is always exactly centered before and while the sequence moves */ if (Math.abs(r.top) > 2) window.scrollTo(0, window.pageYOffset + r.top); tweenTo(targetP + d / 200); } }, { passive: false }); /* mobile/tablet: horizontal swipe drives the sequence */ if (hasTouch) { var sx = 0, sy = 0, tracking = false, axisLocked = false, horiz = false; stage.addEventListener('touchstart', function (e) { if (e.touches.length !== 1) { tracking = false; return; } sx = e.touches[0].clientX; sy = e.touches[0].clientY; tracking = true; axisLocked = false; }, { passive: true }); stage.addEventListener('touchmove', function (e) { if (!tracking) return; var dx = e.touches[0].clientX - sx; var dy = e.touches[0].clientY - sy; if (!axisLocked && (Math.abs(dx) > 8 || Math.abs(dy) > 8)) { axisLocked = true; horiz = Math.abs(dx) > Math.abs(dy); } if (axisLocked && horiz) e.preventDefault(); /* horizontal swipe belongs to us */ }, { passive: false }); stage.addEventListener('touchend', function (e) { if (!tracking) return; tracking = false; if (!axisLocked || !horiz) return; var dx = e.changedTouches[0].clientX - sx; if (Math.abs(dx) > 50) tweenTo(Math.round(targetP) + (dx < 0 ? 1 : -1)); }, { passive: true }); } render(); })();

Clients

Trusted by8 partners
NvNova
VxVertex
HcHalcyon
PlPulse
MrMeridian
AtAtlas
BnBeacon
LmLumen
// spotlight follows the cursor within each cell document.querySelectorAll('#logoGrid .logo-cell').forEach(function (cell) { cell.addEventListener('mousemove', function (e) { var r = cell.getBoundingClientRect(); cell.style.setProperty('--mx', (e.clientX - r.left) + 'px'); cell.style.setProperty('--my', (e.clientY - r.top) + 'px'); }); });

About Us

The creativity your business need

Jawa Creations is a creative agency based in Costa Rica, working with businesses locally and around the world. We combine strategy, creativity, and execution to help brands show their value, stand out in their niches, and grow.We believe a great creative direction should do more than look good aesthetically. It should have a clear goal, serve a solid purpose, and help a business evolve.

Coverflow Gallery — Film Projects
(function() { const SLIDES = [ { image: "https://images.unsplash.com/photo-1485846234645-a62644f84728?w=800&q=80", title: "1" }, { image: "https://images.unsplash.com/photo-1536440136628-849c177e76a1?w=800&q=80", title: "2" }, { image: "https://images.unsplash.com/photo-1478720568477-152d9b164e26?w=800&q=80", title: "3" }, { image: "https://images.unsplash.com/photo-1440404653325-ab127d49abc1?w=800&q=80", title: "4" }, { image: "https://images.unsplash.com/photo-1517604931442-7e0c8ed2963c?w=800&q=80", title: "5" } ]; const CONFIG = { cardWidth: 480, cardHeight: 270, radius: 3, tilt: 10, sideTilt: 2, gap: 6, opacity: 65, autoplay: true, autoplayDirection: "rightToLeft", transition: { duration: 0.7, delay: 3, ease: [0.22, 1, 0.36, 1] }, showTitle: true, titleColor: "#ffffff", titlePosition: { position: "bottomLeft", paddingLeft: 24, paddingRight: 24, paddingTop: 24, paddingBottom: 22 } }; const SCALE_STEP = 0.14; const MAX_VISIBLE = 2; const DEPTH = 220; let active = 0; let lock = false; let autoplayInterval = null; const n = SLIDES.length; const loop = true; const root = document.getElementById('coverflowRoot'); const stage = document.getElementById('coverflowStage'); const dotsWrap = document.getElementById('dotsWrap'); function cssTransition(t) { const dur = t && typeof t.duration === 'number' ? t.duration : 0.7; let ease = 'cubic-bezier(0.22, 1, 0.36, 1)'; const e = t && t.ease; if (Array.isArray(e) && e.length === 4) { ease = 'cubic-bezier(' + e.join(', ') + ')'; } else if (typeof e === 'string') { const map = { linear: 'linear', easeIn: 'ease-in', easeOut: 'ease-out', easeInOut: 'ease-in-out' }; ease = map[e] || 'ease'; } return { dur, ease }; } const { dur, ease } = cssTransition(CONFIG.transition); const transitionCss = 'transform ' + dur + 's ' + ease + ', opacity ' + dur + 's ' + ease; const dim = 1 - Math.max(0, Math.min(100, CONFIG.opacity)) / 100; const tp = CONFIG.titlePosition || {}; const corner = tp.position || 'bottomLeft'; const isTop = corner === 'topLeft' || corner === 'topRight'; const isRight = corner === 'topRight' || corner === 'bottomRight'; const padLeft = tp.paddingLeft !== undefined ? tp.paddingLeft : 24; const padRight = tp.paddingRight !== undefined ? tp.paddingRight : 24; const padTop = tp.paddingTop !== undefined ? tp.paddingTop : 24; const padBottom = tp.paddingBottom !== undefined ? tp.paddingBottom : 22; const cards = []; SLIDES.forEach((slide, i) => { const card = document.createElement('div'); card.className = 'coverflow-card'; card.setAttribute('role', 'group'); card.setAttribute('aria-roledescription', 'slide'); card.setAttribute('aria-label', slide.title); if (slide.image) { const img = document.createElement('img'); img.src = slide.image; img.alt = slide.title || ''; img.draggable = false; card.appendChild(img); } if (CONFIG.showTitle) { const gradient = document.createElement('div'); gradient.className = 'gradient-overlay'; gradient.style.background = isTop ? 'linear-gradient(0deg, rgba(0,0,0,0) 45%, rgba(0,0,0,0.55) 100%)' : 'linear-gradient(180deg, rgba(0,0,0,0) 45%, rgba(0,0,0,0.55) 100%)'; card.appendChild(gradient); const titleWrap = document.createElement('div'); titleWrap.className = 'title-wrap'; titleWrap.style.left = padLeft + 'px'; titleWrap.style.right = padRight + 'px'; titleWrap.style[isTop ? 'top' : 'bottom'] = (isTop ? padTop : padBottom) + 'px'; titleWrap.style.textAlign = isRight ? 'right' : 'left'; const span = document.createElement('span'); span.textContent = slide.title; span.style.color = CONFIG.titleColor; titleWrap.appendChild(span); card.appendChild(titleWrap); } const dimOverlay = document.createElement('div'); dimOverlay.className = 'dim-overlay'; dimOverlay.style.transition = 'opacity ' + dur + 's ' + ease; card.appendChild(dimOverlay); card.addEventListener('click', function() { if (lock) return; goTo(i); }); stage.appendChild(card); cards.push({ el: card, dimOverlay: dimOverlay }); }); const dots = []; SLIDES.forEach((_, i) => { const dot = document.createElement('div'); dot.className = 'dot' + (i === 0 ? ' active' : ''); dot.setAttribute('role', 'button'); dot.setAttribute('aria-label', 'Ir a ' + SLIDES[i].title); dot.addEventListener('click', function() { if (lock) return; goTo(i); }); dotsWrap.appendChild(dot); dots.push(dot); }); function update() { cards.forEach((item, i) => { let rel = i - active; if (loop) { if (rel > n / 2) rel -= n; if (rel < -n / 2) rel += n; } const ax = Math.abs(rel); const visible = ax <= MAX_VISIBLE; const isActive = rel === 0; const sc = Math.max(0.4, 1 - ax * SCALE_STEP); const tx = rel * (CONFIG.gap * 30); const tz = -ax * DEPTH; const ry = -rel * CONFIG.tilt; const rz = rel * CONFIG.sideTilt; item.el.style.transform = 'translate(-50%, -50%) translateX(' + tx + 'px) translateZ(' + tz + 'px)' + ' rotateY(' + ry + 'deg) rotateZ(' + rz + 'deg) scale(' + sc + ')'; item.el.style.transition = transitionCss; item.el.style.opacity = visible ? 1 : 0; item.el.style.pointerEvents = visible ? 'auto' : 'none'; item.el.style.cursor = isActive ? 'default' : 'pointer'; item.el.setAttribute('aria-hidden', visible ? 'false' : 'true'); item.el.classList.toggle('is-active', isActive); item.dimOverlay.style.opacity = isActive ? 0 : dim; }); dots.forEach((dot, i) => { dot.classList.toggle('active', i === active); }); } function lockInput() { lock = true; setTimeout(function() { lock = false; }, Math.max(50, dur * 1000)); } function step(dir) { if (lock) return; lockInput(); active = (((active + dir) % n) + n) % n; update(); } function goTo(index) { if (lock) return; lockInput(); active = index === active ? (active + 1) % n : index; update(); startAutoplay(); } root.addEventListener('keydown', function(e) { if (e.key === 'ArrowRight') { e.preventDefault(); step(1); } else if (e.key === 'ArrowLeft') { e.preventDefault(); step(-1); } }); function startAutoplay() { if (autoplayInterval) clearInterval(autoplayInterval); if (!CONFIG.autoplay || n < 2) return; const ms = Math.max(0.3, CONFIG.transition.delay || 2.5) * 1000; const dir = CONFIG.autoplayDirection === 'leftToRight' ? -1 : 1; autoplayInterval = setInterval(function() { step(dir); }, ms); } function stopAutoplay() { if (autoplayInterval) { clearInterval(autoplayInterval); autoplayInterval = null; } } root.addEventListener('mousemove', stopAutoplay); root.addEventListener('mouseleave', startAutoplay); update(); startAutoplay(); let touchStartX = 0; root.addEventListener('touchstart', function(e) { touchStartX = e.changedTouches[0].screenX; }, { passive: true }); root.addEventListener('touchend', function(e) { const diff = touchStartX - e.changedTouches[0].screenX; if (Math.abs(diff) > 50) { diff > 0 ? step(1) : step(-1); } }, { passive: true }); })();

Our Story

Born from an idea: Helping businesses stand out.

Founded by Daniel Rojas Artavia, Jawa Creations was inspired by seeing hardworking businesses struggle to grow, reach the right audiences, and communicate their value. Their dedication and passion stayed with him, sparking the desire to help them succeed.Today, we bring our strengths together to give a voice to those businesses that deserve to be seen and help them build a strong foundation for lasting growth.


Why Jawa Creations?

Your business needs creative direction

We believe the strongest creative work comes from understanding the business behind every brand.We look beyond individual projects to understand how your identity, marketing, content, and communication work together as a whole. Our focus is set on finding solutions that make sense for your goals, resources, and audience.With Jawa Creations, you get a creative partner committed to thoughtful ideas, professional execution, honest recommendations, and creative work that reflects the value of your business.

Jawa Creations For Carrd logo

Our Team


Daniel Rojas Artavia

Founder CEO & Chief Creative Officer

An advertising designer with a background in marketing, creative direction, brand development, video production, and campaign leadership. He brings together strategic thinking and creative vision to lead Jawa Creations and shape the brands it works with.

Jawa Creations For Carrd logo
Jawa Creations For Carrd logo

Sara Scafidi Marin

Chief Operating Officer (COO)

An advertising designer with experience in branding, copywriting, video production, digital content creation and illustration. She combines unconventional creative thinking, strategic insight and visual storytelling to develop ideas that capture attention, connect with audiences, and make an impact.

Colt Rowell

Chief Business Development Officer (CBDO)

With a background in business, finance, and entrepreneurship, he brings a strong understanding of business operations and growth. At Jawa Creations, he focuses on developing relationships, identifying opportunities, and building partnerships that support the agency’s long-term growth.

Jawa Creations For Carrd logo

Aliquam nulla

Sed ipsum dolor

Quis viverra nibh cras pulvinar mattis nunc sed fermentum et orci purus in mollis.

Our Services

Sed ipsum dolor

Quis viverra nibh cras pulvinar mattis nunc sed fermentum et orci purus in mollis.

Strategy & Marketing

We help businesses identify opportunities, strengthen their positioning, and make informed marketing decisions through research and strategic planning.

  • Marketing strategy and audits
  • Brand positioning and differentiation
  • Audience and competitor research
  • Campaign planning and creative direction
  • Google Ads and Meta Ads management

Branding & Visual Identity

We build distinctive brand identities that communicate your values, establish recognition, and create a consistent presence across platforms.

  • Brand strategy and identity development
  • Logo design and logo systems
  • Visual identity systems, including colors and typography
  • Brand guidelines and identity manuals
  • Brand refreshes and redesigns
  • Brand applications for digital and print

Advertising & Creative Campaigns

We turn business objectives into compelling creative concepts and advertising materials designed to capture attention and communicate the right message.

  • Advertising concepts and creative direction
  • Digital advertising and ad creatives
  • Promotional campaigns and materials
  • Print and outdoor advertising
  • Commercial and promotional graphic design
  • Campaign visuals and supporting assets

Film & Video Production

We create visual content that tells your story, showcases your business, and helps you connect with your audience across digital platforms.

  • On-location filming and production
  • Video editing and post-production
  • Reels and short-form videos
  • Promotional and commercial videos
  • Product and business content
  • Audiovisual storytelling and creative assets

Social Media & Community Management

We help businesses maintain a consistent and purposeful social media presence through strategic planning, engaging content, and audience communication.

  • Social media strategy and planning
  • Content creation and graphic design
  • Copywriting and content calendars
  • Community management
  • Scheduling and account management
  • Social media campaigns and platform-specific content

Web Design & Digital Experiences

We design professional digital experiences that communicate your value, reflect your brand, and guide visitors toward meaningful action.

  • Business websites
  • Landing pages
  • Campaign-specific web pages
  • Website design and development
  • Digital experiences aligned with your brand identity

Aliquam nulla

Sed ipsum dolor

Quis viverra nibh cras pulvinar mattis nunc sed fermentum et orci purus in mollis.

Aliquam nulla

Sed ipsum dolor

Quis viverra nibh cras pulvinar mattis nunc sed fermentum et orci purus in mollis.

Jawa Creations For Carrd logo
Jawa Creations For Carrd logo