H
Hostinger Hero Package

Website Hero Embed Guide

Step-by-step instructions to capture the real Hypersonic showcase experience as video assets, compress them for web, and embed them into your Hostinger website.

⚠️

Why you need to record it yourself

The showcase is a live React app — it can't be exported as a video file from within the app itself. You need a screen recording tool to capture it. This guide gives you the exact steps. Total time: ~15 minutes.

Step-by-step recording process

01

Record Desktop (1920×1080)

→Open your app at /showcase in Chrome
→Press F11 for fullscreen (hides browser chrome)
→Mac: QuickTime → New Screen Recording
→Windows: OBS Studio (free) or Xbox Game Bar (Win+G)
→Let all 5 screens auto-cycle (~25 seconds)
→Stop recording → export as MP4
02

Compress Under 10MB

→Download Handbrake (free) → handbrake.fr
→Load your MP4 → Preset: Fast 1080p30
→Video tab → Codec: H.264, RF: 28
→Audio tab → AAC 128kbps (or remove audio)
→Start Encode → output will be 4–8MB for 25s
03

Record Mobile (1080×1920)

→In Chrome DevTools → Toggle device toolbar
→Set custom size: 390×844 (iPhone 14 viewport)
→Navigate to /showcase — layout will adapt
→Record with the same screen capture tool
→Crop/resize output to 1080×1920 in Handbrake
04

Poster Screenshot

→Pause on the most visually impressive frame
→Mac: Cmd+Shift+4 → select area
→Windows: Snipping Tool or PrtScn
→Save as PNG → resize to exactly 1920×1080
→Use TinyPNG to compress under 500KB
05

Upload to Hostinger

→hPanel → File Manager → public_html/assets/
→Upload: hypersonic-hero-desktop.mp4
→Upload: hypersonic-hero-mobile.mp4
→Upload: hypersonic-hero-poster.png
→Paste the HTML+CSS from this guide into your page

Hostinger embed code

HTML — Desktop + Mobile with responsive swap
<!-- Use both videos, show/hide via CSS media query -->
<section class="hero-video-section">

  <!-- Desktop (1920x1080) -->
  <video
    class="hero-video desktop-only"
    autoplay muted loop playsinline
    poster="hypersonic-hero-poster.png"
    preload="metadata"
  >
    <source src="hypersonic-hero-desktop.mp4" type="video/mp4" />
  </video>

  <!-- Mobile (1080x1920) -->
  <video
    class="hero-video mobile-only"
    autoplay muted loop playsinline
    poster="hypersonic-hero-poster-mobile.png"
    preload="metadata"
  >
    <source src="hypersonic-hero-mobile.mp4" type="video/mp4" />
  </video>

  <div class="hero-content">
    <h1>Your idea. Fully orchestrated.</h1>
    <p>Founder Decision Intelligence.</p>
    <a href="https://your-app-url.com/app" class="cta-button">Start Building Free →</a>
  </div>
</section>
CSS — Full responsive styling
/* ── Hero Video Section ── */
.hero-video-section {
  position: relative;
  width: 100%;
  height: 100vh;          /* full viewport height */
  overflow: hidden;
  background: #030508;    /* fallback bg color */
}

.hero-video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;       /* fills container, crops edges */
  object-position: center;
  z-index: 0;
  pointer-events: none;
}

/* Optional: dark overlay so text is readable over video */
.hero-video-section::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to bottom,
    rgba(3, 5, 8, 0.55) 0%,
    rgba(3, 5, 8, 0.30) 50%,
    rgba(3, 5, 8, 0.75) 100%
  );
  z-index: 1;
}

/* Content sits above overlay */
.hero-content {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
  text-align: center;
  padding: 0 1.5rem;
  color: #fff;
}

.hero-content h1 {
  font-size: clamp(2rem, 6vw, 5rem);
  font-weight: 900;
  line-height: 1.05;
  margin-bottom: 1rem;
}

.hero-content p {
  font-size: clamp(1rem, 2vw, 1.25rem);
  opacity: 0.75;
  margin-bottom: 2rem;
}

.cta-button {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 1rem 2rem;
  background: linear-gradient(135deg, #E64A2A, #FF5A36);
  color: white;
  font-weight: 800;
  border-radius: 1rem;
  text-decoration: none;
  font-size: 1rem;
  box-shadow: 0 0 40px rgba(255,90,54,0.4);
  transition: opacity 0.2s, transform 0.2s;
}
.cta-button:hover {
  opacity: 0.9;
  transform: scale(1.02);
}

/* ── Mobile: switch to vertical video ── */
@media (max-width: 768px) {
  .hero-video-section {
    height: 100svh; /* small viewport height — handles mobile browser chrome */
  }

  /* swap to mobile video on small screens */
  .hero-video.desktop-only { display: none; }
  .hero-video.mobile-only  { display: block; }
}

@media (min-width: 769px) {
  .hero-video.mobile-only  { display: none; }
  .hero-video.desktop-only { display: block; }
}

Pre-launch checklist

☐video autoplay + muted + loop + playsinline attributes set
☐poster= points to your PNG file
☐MP4 file path matches src= exactly (case-sensitive on Linux hosts)
☐video file is under 10MB (check in File Manager)
☐CSS object-fit: cover is applied to the video element
☐Test on mobile: tap video doesn't fullscreen (playsinline handles this)
☐Desktop video hides on mobile, mobile video hides on desktop
☐Fallback <img> inside <video> tag for unsupported browsers