diff --git a/register.go b/register.go
index 02b4f60031e328308469e0fa080950fd8192bb3f..acf152599a62d1102a8add2ba90e8358e14a7f98 100644
--- a/register.go
+++ b/register.go
@@ -22,11 +22,9 @@ func routeRegister(app *fiber.App, db *leveldb.DB, captcha fiber.Handler) {
 		// Parse and validate the request
 		if err := c.Bind().Body(req); err != nil {
 			if verbose {
-				log.Printf("invalid request from %q: %v", c.IP(), err)
+				log.Printf("invalid json from %q: %v", c.IP(), err)
 			}
-			return c.Status(fiber.StatusBadRequest).JSON(fiber.Map{
-				"message": "Invalid request",
-			})
+			return c.Status(fiber.StatusBadRequest).JSON(newMessage(false, "Invalid request"))
 		}
 
 		// Validate email format
@@ -34,37 +32,27 @@ func routeRegister(app *fiber.App, db *leveldb.DB, captcha fiber.Handler) {
 			if verbose {
 				log.Printf("invalid email from %q: %s", c.IP(), req.Email)
 			}
-			return c.Status(fiber.StatusBadRequest).JSON(fiber.Map{
-				"message": "Invalid email format",
-			})
+			return c.Status(fiber.StatusBadRequest).JSON(newMessage(false, "Invalid email address"))
 		}
 
 		// Check if email is already registered
 		if ok, err := db.Has([]byte(req.Email), nil); err != nil {
 			log.Printf("cannot check for existence of email %q: %v", req.Email, err)
-			return c.Status(fiber.StatusInternalServerError).JSON(fiber.Map{
-				"message": "Error checking registration status",
-			})
+			return c.Status(fiber.StatusInternalServerError).JSON(newMessage(false, "Cannot check registration status"))
 		} else if ok {
 			if verbose {
 				log.Printf("duplicate email from %q: %s", c.IP(), req.Email)
 			}
-			return c.Status(fiber.StatusConflict).JSON(fiber.Map{
-				"message": "Email already registered",
-			})
+			return c.Status(fiber.StatusConflict).JSON(newMessage(false, "Email already registered"))
 		}
 
 		// Save the email to the waitlist
 		if err := db.Put([]byte(req.Email), []byte{'x'}, nil); err != nil {
 			log.Printf("cannot register email %q: %v", req.Email, err)
-			return c.Status(fiber.StatusInternalServerError).JSON(fiber.Map{
-				"message": "Error registering email",
-			})
+			return c.Status(fiber.StatusInternalServerError).JSON(newMessage(false, "Cannot register email"))
 		}
 
 		log.Printf("registered email %q", req.Email)
-		return c.JSON(fiber.Map{
-			"message": "Email registered successfully",
-		})
+		return c.JSON(newMessage(true, "Email registered successfully"))
 	}, captcha)
 }