diff --git a/2024/.mise.toml b/2024/.mise.toml
index e69fb9e..5ee54cc 100644
--- a/2024/.mise.toml
+++ b/2024/.mise.toml
@@ -1,3 +1,4 @@
 [tools]
 elixir = "1.17.3-otp-27"
 erlang = "27.1.2"
+gleam = "1.6.2"
diff --git a/2024/gleam/.gitignore b/2024/gleam/.gitignore
new file mode 100644
index 0000000..599be4e
--- /dev/null
+++ b/2024/gleam/.gitignore
@@ -0,0 +1,4 @@
+*.beam
+*.ez
+/build
+erl_crash.dump
diff --git a/2024/gleam/README.md b/2024/gleam/README.md
new file mode 100644
index 0000000..56084df
--- /dev/null
+++ b/2024/gleam/README.md
@@ -0,0 +1,24 @@
+# aoc
+
+[![Package Version](https://img.shields.io/hexpm/v/aoc)](https://hex.pm/packages/aoc)
+[![Hex Docs](https://img.shields.io/badge/hex-docs-ffaff3)](https://hexdocs.pm/aoc/)
+
+```sh
+gleam add aoc@1
+```
+```gleam
+import aoc
+
+pub fn main() {
+  // TODO: An example of the project in use
+}
+```
+
+Further documentation can be found at <https://hexdocs.pm/aoc>.
+
+## Development
+
+```sh
+gleam run   # Run the project
+gleam test  # Run the tests
+```
diff --git a/2024/gleam/gleam.toml b/2024/gleam/gleam.toml
new file mode 100644
index 0000000..e299b57
--- /dev/null
+++ b/2024/gleam/gleam.toml
@@ -0,0 +1,19 @@
+name = "aoc"
+version = "1.0.0"
+
+# Fill out these fields if you intend to generate HTML documentation or publish
+# your project to the Hex package manager.
+#
+# description = ""
+# licences = ["Apache-2.0"]
+# repository = { type = "github", user = "", repo = "" }
+# links = [{ title = "Website", href = "" }]
+#
+# For a full reference of all the available options, you can have a look at
+# https://gleam.run/writing-gleam/gleam-toml/.
+
+[dependencies]
+gleam_stdlib = ">= 0.34.0 and < 2.0.0"
+
+[dev-dependencies]
+gleeunit = ">= 1.0.0 and < 2.0.0"
diff --git a/2024/gleam/src/aoc.gleam b/2024/gleam/src/aoc.gleam
new file mode 100644
index 0000000..26987ac
--- /dev/null
+++ b/2024/gleam/src/aoc.gleam
@@ -0,0 +1,5 @@
+import gleam/io
+
+pub fn main() {
+  io.println("Hello from aoc!")
+}