diff --git a/src/main/java/org/eclipsefoundation/adopters/resource/mappers/NotFoundMapper.java b/src/main/java/org/eclipsefoundation/adopters/resource/mappers/NotFoundMapper.java
new file mode 100644
index 0000000000000000000000000000000000000000..1e9692d0a5131b163b1833e3aceb7d37011de111
--- /dev/null
+++ b/src/main/java/org/eclipsefoundation/adopters/resource/mappers/NotFoundMapper.java
@@ -0,0 +1,39 @@
+package org.eclipsefoundation.adopters.resource.mappers;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.nio.charset.StandardCharsets;
+
+import javax.enterprise.inject.Instance;
+import javax.ws.rs.NotFoundException;
+import javax.ws.rs.core.Response;
+import javax.ws.rs.ext.ExceptionMapper;
+import javax.ws.rs.ext.Provider;
+
+import org.apache.commons.io.IOUtils;
+import org.eclipse.microprofile.config.inject.ConfigProperty;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * Return the compiled 404 page when a URL mapping is not found.
+ *
+ * @author Martin Lowe
+ */
+@Provider
+public class NotFoundMapper implements ExceptionMapper<NotFoundException> {
+  private static final Logger LOGGER = LoggerFactory.getLogger(NotFoundMapper.class);
+
+  @ConfigProperty(name = "eclipse.error.location", defaultValue = "/META-INF/resources/404.html")
+  Instance<String> errorPageLoc;
+
+  @Override
+  public Response toResponse(NotFoundException exception) {
+    try (InputStream is = this.getClass().getResourceAsStream(errorPageLoc.get())) {
+      return Response.status(404).entity(IOUtils.toString(is, StandardCharsets.UTF_8)).build();
+    } catch (IOException e) {
+      LOGGER.error("Unable to read in error page at location {}", errorPageLoc.get(), e);
+    }
+    return Response.status(404).build();
+  }
+}
diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties
index 85a9786836ea7c11a37fb14bc684ebf6d7a7883f..a2513892fe0fb8cc93c4ceb774fe4519614ab6cd 100644
--- a/src/main/resources/application.properties
+++ b/src/main/resources/application.properties
@@ -5,4 +5,5 @@ quarkus.http.port=8080
 quarkus.http.root-path=/adopters
 
 ## Adopters raw location
-eclipse.adopters.path.json=/config/adopters.json
\ No newline at end of file
+eclipse.adopters.path.json=/config/adopters.json
+%dev.eclipse.adopters.path.json=/tmp/config/adopters.json
\ No newline at end of file