diff --git a/site/lists/portfolio.html b/site/lists/portfolio.html
index cf2f02b..b2f2929 100644
--- a/site/lists/portfolio.html
+++ b/site/lists/portfolio.html
@@ -11,88 +11,110 @@
- hardware
+ Portfolio
-- leko pona
-- ch32v003 oled, bad apple, GoL, runner game
-- rotary encoder keyboard
+Hi this is a non-exhaustive list of my personal projects. It appears I like making things with computers.
+hardware
+leko pona
+
+2022-08
+git.crispypin.cc/CrispyPin/leko-pona
+
+
+ch32v003 oled board
+
+project files: git.crispypin.cc/CrispyPin/ch32_oled
+
+bad apple
+
+2024-04
+git.crispypin.cc/CrispyPin/bad-apple/
+https://youtu.be/G0eonL14tCQ
+Conways Game of Life
+
+2024-04
+
+
+Runner game
+
+2024-04
+
+
+rotary encoder keyboard
jam games
-- LD50: Pixel Entropy
-- LD49: Shork Inc
-- LD48: Shork
-- LD47: Dynamic Flux Entropy
-- LD46: Tree Shroomulator
-- LD45: Mind the Gap
-- Blackthornprod gamejam 2: Starship: Conquer Space
-- LD43: The robot's adventure
-- LD42: Forklift Simulator
+LD is the Ludum Dare game jam, where you have 3 days to create a game fitting to a theme that is revealed when the jam starts.
+
+All the below games except for LD45: Mind the Gap
I made together with Erikbot. I have done both art and programming for all of them.
+
+LD50: Pixel Entropy
+
+2022-04
+crispypin.itch.io/ld-50
+github.com/CrispyPin/ld-50
+
+
+LD49: Shork Inc
+LD48: Shork
+LD47: Dynamic Flux Entropy
+LD46: Tree Shroomulator
+LD45: Mind the Gap
+Blackthornprod gamejam 2: Starship: Conquer Space
+LD43: The robot's adventure
+LD42: Forklift Simulator
shaders
-
-- quine
-- golfed quines
-- sunset
-- julia fractal
-
+partial QR code
+quine
+golfed quines
+sunset
+julia fractal
andriod
-
-- binary clock variants
-
+binary clock variants
raymarching
-
-- libgarbage
-- libgarbage demo
-- spinny demo
-- flesh cube
-- big nut
-- loops
-
+libgarbage
+libgarbage demo
+spinny demo
+flesh cube
+big nut
+loops
+
+boxes
+
cellular automata
-
-- game of life
-- rule 110
-- WireWorld
-- Lenia/smoothlife
-
+game of life
+rule 110
+WireWorld
+Lenia/smoothlife
godot
-
-- voxel raymarcher
-
+voxel raymarcher
utilities
-
-- snoud
-- htmd
-- webserver
-- julia fractal renderer
-- brainfuck debugger
-- text editor lili
-- compiler-timer
-- GDVK godot virtual system input
-
+snoud
+htmd
+webserver
+julia fractal renderer
+brainfuck debugger
+text editor lili
+compiler-timer
+
SteamVR
-
-- OVR Utils
-- sinpin-vr
-- steamvr_status
-
+OVR Utils
+sinpin-vr
+steamvr_status
creative coding
-
-- snad
-
+snad
Silly
-
-- worm lang
-- advent of code 2023 day 1 and 4 in brainfuck
-- asetniop emulator for x11
-- june
-- neuralblender-mc
-- minesweeper-rs
-- rust-mandelbrot
-- voxel-meshing godot c++
-- CounterBot
-- gymnasiearbete - multiplayer voxel game godot
+
worm lang
+advent of code 2023 day 1 and 4 in brainfuck
+asetniop emulator for x11
+june
+neuralblender-mc
+minesweeper-rs
+rust-mandelbrot
+voxel-meshing godot c++
+CounterBot
+gymnasiearbete: multiplayer voxel game godot
diff --git a/site/media/leko_tonsi.png b/site/media/leko_tonsi.png
new file mode 100644
index 0000000..b2e6853
Binary files /dev/null and b/site/media/leko_tonsi.png differ
diff --git a/site/media/pixel_entropy.png b/site/media/pixel_entropy.png
new file mode 100644
index 0000000..d1b1c32
Binary files /dev/null and b/site/media/pixel_entropy.png differ
diff --git a/site/media/qr_shader_bit_order.mp4 b/site/media/qr_shader_bit_order.mp4
new file mode 100644
index 0000000..7d78ec3
Binary files /dev/null and b/site/media/qr_shader_bit_order.mp4 differ
diff --git a/site/media/rm_boxes.mp4 b/site/media/rm_boxes.mp4
new file mode 100644
index 0000000..8ce1edd
Binary files /dev/null and b/site/media/rm_boxes.mp4 differ
diff --git a/site/media/rm_looping_loops.mp4 b/site/media/rm_looping_loops.mp4
new file mode 100644
index 0000000..4cc5ae3
Binary files /dev/null and b/site/media/rm_looping_loops.mp4 differ
diff --git a/site/style.css b/site/style.css
index 3dab417..7fddbf9 100644
--- a/site/style.css
+++ b/site/style.css
@@ -32,7 +32,13 @@ code {
}
}
-video, img { max-width: 100%; }
+video, img {
+ max-width: 100%;
+}
+
+video {
+ max-height: 500px;
+}
.flags {
display: flex;
diff --git a/write/lists/portfolio.md b/write/lists/portfolio.md
index c174684..84f5f18 100644
--- a/write/lists/portfolio.md
+++ b/write/lists/portfolio.md
@@ -1,61 +1,92 @@
+# Portfolio
+Hi this is a non-exhaustive list of my personal projects. It appears I like making things with computers.
+
# hardware
-- leko pona
-- ch32v003 oled, bad apple, GoL, runner game
-- rotary encoder keyboard
+### leko pona
+`2022-08`
+[git.crispypin.cc/CrispyPin/leko-pona](https://git.crispypin.cc/CrispyPin/leko-pona)
+==image:"/media/leko_tonsi.png":"leko pona, a split keyboard with blank keycaps in the trans flag colours"
+
+## ch32v003 oled board
+project files: [git.crispypin.cc/CrispyPin/ch32_oled](https://git.crispypin.cc/CrispyPin/ch32_oled)
+### bad apple
+`2024-04`
+[git.crispypin.cc/CrispyPin/bad-apple/](https://git.crispypin.cc/CrispyPin/bad-apple/)
+==youtube:G0eonL14tCQ
+### Conways Game of Life
+`2024-04`
+==video:"/media/ch32_gol.mp4":"conways game of life on a tiny display"
+### Runner game
+`2024-04`
+==video:"/media/musi_pi_soweli_tawa.mp4":"simple runner game, similar to the chrome dino game"
+
+## rotary encoder keyboard
# jam games
-- LD50: Pixel Entropy
-- LD49: Shork Inc
-- LD48: Shork
-- LD47: Dynamic Flux Entropy
-- LD46: Tree Shroomulator
-- LD45: Mind the Gap
-- Blackthornprod gamejam 2: Starship: Conquer Space
-- LD43: The robot's adventure
-- LD42: Forklift Simulator
+LD is the [Ludum Dare game jam](https://ldjam.com/), where you have 3 days to create a game fitting to a theme that is revealed when the jam starts.
+
+All the below games except for `LD45: Mind the Gap` I made together with [Erikbot](https://github.com/ErikBot42). I have done both art and programming for all of them.
+### LD50: Pixel Entropy
+`2022-04`
+[crispypin.itch.io/ld-50](https://crispypin.itch.io/ld-50)
+[github.com/CrispyPin/ld-50](https://github.com/CrispyPin/ld-50)
+==image:"/media/pixel_entropy.png":"a 2D pixel physics sandbox"
+### LD49: Shork Inc
+### LD48: Shork
+### LD47: Dynamic Flux Entropy
+### LD46: Tree Shroomulator
+### LD45: Mind the Gap
+### Blackthornprod gamejam 2: Starship: Conquer Space
+### LD43: The robot's adventure
+### LD42: Forklift Simulator
# shaders
-- quine
-- golfed quines
-- sunset
-- julia fractal
+### partial QR code
+
+### quine
+### golfed quines
+### sunset
+### julia fractal
## andriod
-- binary clock variants
+### binary clock variants
## raymarching
-- libgarbage
-- libgarbage demo
-- spinny demo
-- flesh cube
-- big nut
-- loops
+### libgarbage
+### libgarbage demo
+### spinny demo
+### flesh cube
+### big nut
+### loops
+==video:"/media/rm_looping_loops.mp4":"11 rectangular frames moving through each other smoothly":loop=true
+### boxes
+==video:"/media/rm_boxes.mp4"
## cellular automata
-- game of life
-- rule 110
-- WireWorld
-- Lenia/smoothlife
+### game of life
+### rule 110
+### WireWorld
+### Lenia/smoothlife
## godot
-- voxel raymarcher
+### voxel raymarcher
# utilities
-- snoud
-- htmd
-- webserver
-- julia fractal renderer
-- brainfuck debugger
-- text editor lili
-- compiler-timer
-- GDVK godot virtual system input
+### snoud
+### htmd
+### webserver
+### julia fractal renderer
+### brainfuck debugger
+### text editor lili
+### compiler-timer
+### GDVK godot virtual system input
## SteamVR
-- OVR Utils
-- sinpin-vr
-- steamvr_status
+### OVR Utils
+### sinpin-vr
+### steamvr_status
# creative coding
-- snad
+### snad
# Silly
-- worm lang
-- advent of code 2023 day 1 and 4 in brainfuck
-- asetniop emulator for x11
-- june
-- neuralblender-mc
-- minesweeper-rs
-- rust-mandelbrot
-- voxel-meshing godot c++
-- CounterBot
-- gymnasiearbete - multiplayer voxel game godot
+### worm lang
+### advent of code 2023 day 1 and 4 in brainfuck
+### asetniop emulator for x11
+### june
+### neuralblender-mc
+### minesweeper-rs
+### rust-mandelbrot
+### voxel-meshing godot c++
+### CounterBot
+### gymnasiearbete: multiplayer voxel game godot