diff --git a/README.md b/README.md
index 608df79..b404dd8 100644
--- a/README.md
+++ b/README.md
@@ -2,7 +2,7 @@
bonfire.v
-[Docs](https://rgbcube.github.io/docs/bonfire)
+[Docs](https://rgbcube.github.io/docs/bonfire) | [Examples](https://github.com/RGBCube/bonfire.v/tree/master/examples)
A Discord API wrapper for the V programming language.
diff --git a/examples/snowflake.v b/examples/snowflake.v
new file mode 100644
index 0000000..58ac8f8
--- /dev/null
+++ b/examples/snowflake.v
@@ -0,0 +1,30 @@
+module main
+
+import os
+import rgbcube.bonfire { Snowflake, TimeFormat }
+
+[noreturn]
+fn print_help_and_exit1() {
+ println('Usage: ')
+ println('Format can be either short_time, long_time, short_date, long_date, short_date_time, long_date_time or relative')
+ exit(1)
+}
+
+fn main() {
+ snowflake := Snowflake(os.args[2].i64() or { print_help_and_exit1() })
+
+ format_str := os.args[1]
+
+ format := match format_str {
+ 'short_time' { TimeFormat.short_time }
+ 'long_time' { TimeFormat.long_time }
+ 'short_date' { TimeFormat.short_date }
+ 'long_date' { TimeFormat.long_date }
+ 'short_date_time' { TimeFormat.short_date_time }
+ 'long_date_time' { TimeFormat.long_date_time }
+ 'relative' { TimeFormat.relative }
+ else { print_help_and_exit1() }
+ }
+
+ println(snowflake.format(format))
+}
diff --git a/examples/time.v b/examples/time.v
new file mode 100644
index 0000000..a13b747
--- /dev/null
+++ b/examples/time.v
@@ -0,0 +1,17 @@
+module main
+
+import os
+import rgbcube.bonfire { Snowflake }
+
+fn main() {
+ snowflake := Snowflake(os.args[1] or {
+ println('Usage: ')
+ exit(1)
+ })
+
+ println('Snowflake: ${snowflake}')
+ println('- Created at: ${snowflake.created_at()}')
+ println('- Worker ID: ${snowflake.worker_id()}')
+ println('- Process ID: ${snowflake.process_id()}')
+ println('- Sequence number: ${snowflake.sequence_number()}')
+}