diff --git a/website/src/pages/recipes/arpeggios.mdx b/website/src/pages/recipes/arpeggios.mdx
new file mode 100644
index 00000000..06659ff3
--- /dev/null
+++ b/website/src/pages/recipes/arpeggios.mdx
@@ -0,0 +1,69 @@
+---
+title: Build Arpeggios
+layout: ../../layouts/MainLayout.astro
+---
+
+import { MiniRepl } from '../../docs/MiniRepl';
+import { JsDoc } from '../../docs/JsDoc';
+
+Note: This has been (partly) translated from https://tidalcycles.org/docs/patternlib/howtos/buildarpeggios
+
+# Build Arpeggios
+
+This page will teach you how to get started writing arpeggios using different techniques. It is a good way to learn Strudel in a more intuitive way.
+
+## Arpeggios from notes
+
+Start with a simple sequence of notes:
+
+
+
+Now, let's play one per cycle:
+
+").piano().slow(2)`} client:idle />
+
+On top of that, put a copy of the sequence, offset in time and pitch:
+
+".off(1/8, add(7))
+ .note().piano().slow(2)`}
+ client:idle
+/>
+
+Add some structure to the original sequence:
+
+"
+ .off(1/8, add(7))
+ .note().piano().slow(2)`}
+ client:idle
+/>
+
+Reverse in one speaker:
+
+"
+ .off(1/8, add(7))
+ .note().piano()
+ .jux(rev).slow(2)`}
+ client:idle
+/>
+
+Let's add another layer:
+
+"
+ .off(1/8, add(7))
+ .off(1/8, add(12))
+ .note().piano()
+ .jux(rev).slow(2)`}
+ client:idle
+/>
+
+- added slow(2) to approximate tidals cps
+- n was replaced with note, because using n does not work as note for samples
+- legato 2 was removed because it does not work in combination with rev (bug)
+
+## Arpeggios from chords
+
+TODO
\ No newline at end of file
diff --git a/website/src/pages/recipes/rhythms.mdx b/website/src/pages/recipes/rhythms.mdx
new file mode 100644
index 00000000..08aef82a
--- /dev/null
+++ b/website/src/pages/recipes/rhythms.mdx
@@ -0,0 +1,88 @@
+---
+title: Build Rhythms
+layout: ../../layouts/MainLayout.astro
+---
+
+import { MiniRepl } from '../../docs/MiniRepl';
+import { JsDoc } from '../../docs/JsDoc';
+import { samples } from '@strudel.cycles/webaudio';
+
+Note:
+
+- this has been (partly) translated from https://tidalcycles.org/docs/patternlib/howtos/buildrhythms
+- this only sounds good with `samples('github:tidalcycles/Dirt-Samples/master')` in prebake
+
+# Build Rhythms
+
+This page will teach you how to get started writing rhythms using different techniques. It is a good way to learn Strudel in a more intuitive way.
+
+## From a simple to a complex rhythm
+
+Simple bass drum - snare:
+
+
+
+Let's pick a different snare sample:
+
+
+
+Now, we are going to change the rhythm:
+
+
+
+And add some toms:
+
+
+
+Start to transform, shift a quarter cycle every other cycle:
+
+
+
+Pattern the shift amount:
+
+")).slow(2)`}
+/>
+
+Add some patterned effects:
+
+"))
+.shape("<0 .5 .3>")
+.room(saw.range(0,.2).slow(4))
+.slow(2)`}
+/>
+
+More transformation:
+
+"))
+.shape("<0 .5 .3>")
+.room(saw.range(0,.2).slow(4))
+.jux(id, rev, x=>x.speed(2))
+.slow(2)`}
+/>
+
+## Another rhythmic construction
+
+Let's start with a sequence:
+
+
+
+We add a bit of flavour:
+
+ [2 0] [2 3]").s("feel").speed(1.5).slow(2)`} />
+
+Swap the samples round every other cycle:
+
+TODO: implement `rot`