diff --git a/lektord/src/app.rs b/lektord/src/app/mod.rs
similarity index 99%
rename from lektord/src/app.rs
rename to lektord/src/app/mod.rs
index a1bbe7788f3d2aa58e4a6b958f2c1c414f37e0b2..3204f3b3e31e266fbf92887185252c127ea38fb9 100644
--- a/lektord/src/app.rs
+++ b/lektord/src/app/mod.rs
@@ -2,7 +2,10 @@
 
 #![forbid(unsafe_code)]
 
-use crate::{routes, LektorConfig};
+mod routes;
+mod mpris;
+
+use crate::LektorConfig;
 use anyhow::{anyhow, Context, Result};
 use axum::{
     http::{Request, StatusCode},
diff --git a/lektord/src/mpris.rs b/lektord/src/app/mpris.rs
similarity index 100%
rename from lektord/src/mpris.rs
rename to lektord/src/app/mpris.rs
diff --git a/lektord/src/routes.rs b/lektord/src/app/routes.rs
similarity index 100%
rename from lektord/src/routes.rs
rename to lektord/src/app/routes.rs
diff --git a/lektord/src/main.rs b/lektord/src/main.rs
index 9615519fc2b85d137b88a0ed812262400c9a97ee..c3edf9d7c775ba765e3864fecb6554fcbe08f3ae 100644
--- a/lektord/src/main.rs
+++ b/lektord/src/main.rs
@@ -4,8 +4,6 @@ mod cmd;
 mod config;
 mod error;
 mod listen;
-mod mpris;
-mod routes;
 
 pub use self::{app::*, config::*, error::*, listen::*};