document.querySelectorAll('.custom-navbar a[href^="#"]').forEach(link => { link.addEventListener('click', function(e) { const target = document.querySelector( this.getAttribute('href') ); if (!target) return; e.preventDefault(); target.scrollIntoView({ behavior: 'smooth', block: 'start' }); }); });
We Make Creators
IMPOSSIBLEto ignore
Its time to 
NOW PLAYING
ESSAY
VELORA STUDIOS
essay
01 / 05
/* ========================================== ONLY EDIT THESE 5 LINKS ========================================== */ const VIDEOS = { essay: "https://youtu.be/apxRBai35Do", storytelling: "https://www.youtube.com/watch?v=qn-S2UM5lXk", gaming: "https://youtu.be/b_vOXM0HI1M", drama: "https://www.youtube.com/watch?v=o_WrU8YpkF0&t=1s", talking: "https://youtube.com/shorts/sW0dGvL7liM" }; /* ========================================== PLAYER LOGIC ========================================== */ const vpFrame = document.getElementById("vpFrame"); const vpCategory = document.getElementById("vpCategory"); const vpTitle = document.getElementById("vpTitle"); const vpCounter = document.getElementById("vpCounter"); const vpLoading = document.querySelector(".vp-loading"); const tabs = document.querySelectorAll(".vp-tab"); const DATA = { essay: { title: "Essay", label: "ESSAY", number: "01 / 05" }, storytelling: { title: "Storytelling", label: "STORYTELLING", number: "02 / 05" }, gaming: { title: "Gaming", label: "GAMING", number: "03 / 05" }, drama: { title: "Drama", label: "DRAMA", number: "04 / 05" }, talking: { title: "Talking Head", label: "TALKING HEAD", number: "05 / 05" } }; /* Convert YouTube links automatically */ function getYouTubeEmbed(url) { if (!url || url.includes("PASTE_")) { return ""; } try { const parsed = new URL(url); let id = ""; if (parsed.hostname.includes("youtu.be")) { id = parsed.pathname.slice(1); } else if (parsed.searchParams.get("v")) { id = parsed.searchParams.get("v"); } else if (parsed.pathname.includes("/shorts/")) { id = parsed.pathname.split("/shorts/")[1]; } else if (parsed.pathname.includes("/embed/")) { id = parsed.pathname.split("/embed/")[1]; } if (!id) return ""; return "https://www.youtube-nocookie.com/embed/" + id + "?rel=0&playsinline=1"; } catch { return ""; } } /* Switch video */ function loadVideo(type) { const data = DATA[type]; if (!data) return; const embed = getYouTubeEmbed(VIDEOS[type]); tabs.forEach(tab => { tab.classList.toggle( "active", tab.dataset.video === type ); }); vpCategory.textContent = data.label; vpTitle.textContent = data.title; vpCounter.textContent = data.number; vpLoading.classList.add("active"); if (!embed) { vpFrame.src = ""; setTimeout(() => { vpLoading.classList.remove("active"); }, 250); return; } vpFrame.src = embed; setTimeout(() => { vpLoading.classList.remove("active"); }, 700); } /* Tab clicks */ tabs.forEach(tab => { tab.addEventListener("click", () => { loadVideo(tab.dataset.video); }); }); /* Start with Essay */ loadVideo("essay");
(function(){ const bg = document.getElementById("velora-purple-bg"); if(!bg) return; let targetScroll = 0; let currentScroll = 0; let mouseX = 0; let mouseY = 0; let currentX = 0; let currentY = 0; /* ======================================================== THIS IS THE IMPORTANT PART Higher number = MUCH more sensitive color movement. Old version: scroll / document height This version: scroll is amplified dramatically. ======================================================== */ const SCROLL_SENSITIVITY = 0.0065; function updateScroll(){ const maxScroll = document.documentElement.scrollHeight - window.innerHeight; if(maxScroll <= 0) return; /* Normalize scroll. */ const progress = window.scrollY / maxScroll; /* Amplify it. Instead of gently moving through the palette, this makes the background react hard to relatively small amounts of scrolling. */ targetScroll = progress * (1 + SCROLL_SENSITIVITY * maxScroll); } window.addEventListener( "scroll", updateScroll, {passive:true} ); window.addEventListener( "mousemove", function(e){ mouseX = (e.clientX / window.innerWidth - .5) * 2; mouseY = (e.clientY / window.innerHeight - .5) * 2; }, {passive:true} ); function animate(){ /* VERY FAST scroll response. */ currentScroll += (targetScroll - currentScroll) * .14; /* Mouse smoothing. */ currentX += (mouseX * 70 - currentX) * .08; currentY += (mouseY * 70 - currentY) * .08; /* -------------------------------------------------------- PURPLE COLOR JOURNEY -------------------------------------------------------- The background repeatedly moves through different black/purple states instead of staying one purple. */ const wave = currentScroll * 0.045; const wave2 = currentScroll * 0.021; /* Purple intensity changes aggressively. */ const intensity = .72 + Math.sin(wave) * .28; /* Deep black ↔ violet movement. */ const purpleA = Math.round( 35 + intensity * 65 ); const purpleB = Math.round( 5 + intensity * 25 ); /* Main background color. */ bg.style.background = "radial-gradient(" + "circle at 50% 45%," + "rgba(" + purpleA + ",20,255," + (.16 + intensity * .10) + ")," + "transparent 34%)," + "radial-gradient(" + "circle at 15% 20%," + "rgba(72,0,255," + (.10 + intensity * .12) + ")," + "transparent 35%)," + "radial-gradient(" + "circle at 85% 80%," + "rgba(180,35,255," + (.06 + intensity * .11) + ")," + "transparent 38%)," + "rgb(" + Math.max(1,purpleB) + ",0," + Math.round(5 + intensity * 15) + ")"; /* Main glow. */ bg.style.setProperty( "--vp-mx", currentX ); bg.style.setProperty( "--vp-my", currentY ); /* Purple breathing becomes stronger as you scroll. */ bg.style.setProperty( "--vp-scale", 1 + intensity * .12 ); bg.style.setProperty( "--vp-opacity", .72 + intensity * .25 ); /* Secondary movement. */ bg.style.setProperty( "--vp-rotate", (currentScroll * .018) + "deg" ); /* Light streak follows scrolling MUCH more aggressively. */ bg.style.setProperty( "--vp-streak", (currentScroll * -1.8) + "px" ); /* Haze shifts opposite direction. */ bg.style.setProperty( "--vp-haze", (currentScroll * .42) + "px" ); requestAnimationFrame(animate); } updateScroll(); animate(); })();

.


HOW IT WORKS

How it works

01
↗

Send your footage

Upload your footage to Google Drive and send us the link. You can also include any references, ideas or instructions you have for the edit.

02
✦

We edit

We take care of the cuts, pacing, captions, sound design, music, motion graphics and everything else your video needs.

03
◌

You review

Once the edit is ready, you get to review it. If there is anything you want changed, just let us know.

04
✓

Done

Once everything looks right, you get the finished video ready to upload and share with your audience.

We can handle cuts, captions, sound design, music, motion graphics, transitions and more depending on what your video needs.

Simply upload your footage to Google Drive and send us the link. We will take it from there.

Turnaround depends on the length and complexity of the video, but we always aim to get your edit back within 2 - 5 days.

Yes. A free revision is included for every video and short.

Absolutely. We offer a $15 30 second trial so you can see what we can do before committing to a longer term plan.

document.querySelectorAll(".faq-question").forEach(function(button) { button.addEventListener("click", function() { const item = button.parentElement; item.classList.toggle("active"); }); });
```html
CREATOR FEEDBACK

Don't just take
our word for it.

Built for creators who care about how their content feels.

★★★★★
“

The editing completely changed the feel of my videos. Everything feels cleaner, faster, and way more professional.

Alex
DanYouTube Creator
★★★★★
“

The final videos feel polished without losing my style. Exactly the kind of editing I was looking for.

Dan
AlexYouTube Creator
```

Choose how you want to work.

01 / SINGLE

Single Edit

One polished long-form video without committing to a monthly plan.

$150from
  • 1 long-form video
  • Professional pacing & storytelling
  • B-roll & sound design
  • Captions where needed
  • 1 revision
  • Standard turnaround
Let's get started →
03 / CUSTOM

Custom

For creators, businesses and teams that need something outside the standard setup.

Let's talk
  • Custom video volume
  • Custom turnaround
  • Long-form & short-form
  • Branded editing style
  • Custom workflow
  • Ongoing content support
Let's talk →

Complex edits, special requirements and custom workflows are quoted individually.

Velora gives creators reliable, professional video editing without the hassle of hiring an editor for every video.


Velora Studios

VELORA
VELORA STUDIOSABOUT / 01
WHO WE ARE

Editing
is more
than cuts.

Great videos aren't just assembled. They're shaped around story, style, pacing, and personality.

V
VELORAEST. 2026
01

Built for creators who want to create.

We're a network of skilled video editors specializing in YouTube, Shorts, and social media content. Each project is matched with an editor whose style fits the creator, the content, and the vision behind it.

From fast-paced entertainment and gaming to storytelling and short-form content, we take the timeline off your plate so you can focus on what you do best.

CREATORS FIRST 01 — 03
01CREATIVE Editing
FOCUSED ON Creators
GET STARTED

Let's work together.

Tell me a little about your project and what you're looking for. I'll get back to you as soon as possible.

5 videos
11020

I'll get back to you as soon as possible.

(function () { const videoSlider = document.getElementById("gs-videos"); const videoValue = document.getElementById("gs-videos-value"); if (!videoSlider || !videoValue) { return; } function updateVideoValue() { videoValue.textContent = videoSlider.value; } videoSlider.addEventListener( "input", updateVideoValue ); updateVideoValue(); })(); ```
Secure payment
Checkout

Let’s work
together.

Choose the service we agreed on and continue to secure your project. You’ll be redirected to PayPal to complete payment.

01 / SINGLE

Single Edit

One polished long-form video, based on the scope we discussed.

Agreed price
Continue to PayPal →
03 / CUSTOM

Custom Project

A custom scope, workflow or volume agreed personally with you.

Agreed price
Continue to PayPal →
Already discussed the details? Perfect. This page is simply the final step.
Your agreed scope and pricing remain as discussed before payment.