diff --git a/src/render/mod.rs b/src/render/mod.rs
index 8d755edb8e6dc58b45c04574d3953736d8f84449..85ab9b28ca54c88275f439c299bcd598e23a7e27 100644
--- a/src/render/mod.rs
+++ b/src/render/mod.rs
@@ -281,6 +281,8 @@ impl<'a> Renderer<'a> {
 	}
 
 	pub(crate) fn render(&self, project: &mut Project) -> anyhow::Result<PathBuf> {
+		let source_res = project.source.metadata.as_ref().unwrap().source_res;
+
 		let output = self.video_mp4(project);
 		let mut ffmpeg = Ffmpeg::new(FfmpegOutput::new(output.clone()));
 
@@ -430,25 +432,19 @@ impl<'a> Renderer<'a> {
 			output: logoalpha.into()
 		});
 		let overlay = "overlay";
+		let overlay_off_x = 130 * source_res.width() / 3840;
+		let overlay_off_y = 65 * source_res.height() / 2160;
 		ffmpeg.add_filter(Filter::Overlay {
 			video_input: concat.into(),
 			overlay_input: logoalpha.into(),
-			x: "main_w-overlay_w-130".into(),
-			y: "main_h-overlay_h-65".into(),
+			x: format!("main_w-overlay_w-{overlay_off_x}").into(),
+			y: format!("main_h-overlay_h-{overlay_off_y}").into(),
 			output: overlay.into()
 		});
 
 		// we're done :)
 		ffmpeg.set_filter_output(overlay);
-		ffmpeg.set_video_bitrate(
-			project
-				.source
-				.metadata
-				.as_ref()
-				.unwrap()
-				.source_res
-				.bitrate() * 3
-		);
+		ffmpeg.set_video_bitrate(source_res.bitrate() * 3);
 		ffmpeg.run()?;
 
 		Ok(output)