diff --git a/docs/flow.drawio b/docs/flow.drawio
deleted file mode 100644
index 751ab25c..00000000
--- a/docs/flow.drawio
+++ /dev/null
@@ -1 +0,0 @@
-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
\ No newline at end of file
diff --git a/docs/flow.svg b/docs/flow.svg
deleted file mode 100644
index c1f601bf..00000000
--- a/docs/flow.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/docs/google.md b/docs/google.md
deleted file mode 100644
index 9f047c2c..00000000
--- a/docs/google.md
+++ /dev/null
@@ -1,11 +0,0 @@
-## Google calendar integration
-
-- List google calendars
-- Import google calendar to nittei calendar
- - Sync all updates to nittei calendar to google calendar
- - Receive updates from google calendar
-- Oauth
-- Watch calendar lists to detect deleted calendars
-- Create google calendar meeting if enabled
-
-## CalDav
diff --git a/docs/logo.png b/docs/logo.png
deleted file mode 100644
index 083677e9..00000000
Binary files a/docs/logo.png and /dev/null differ
diff --git a/docs/roadmap.md b/docs/roadmap.md
deleted file mode 100644
index 2bd941b8..00000000
--- a/docs/roadmap.md
+++ /dev/null
@@ -1,4 +0,0 @@
-## Upcoming features
-- Get proposed meeting times between users
-- Shared Calendars / Calendar events
-- Resource policies
\ No newline at end of file
diff --git a/docs/rust.md b/docs/rust.md
new file mode 100644
index 00000000..7a70488f
--- /dev/null
+++ b/docs/rust.md
@@ -0,0 +1,159 @@
+# New to Rust
+
+As Rust is a relatively new language compared to older languages such as C, Java, and even Javascript, it can be useful to have a rough overview of what makes Rust interesting, and how it differs from these languages (with a heavy focus on Typescript).
+
+First, what is Rust ?
+
+Rust is a modern systems programming language focused on **performance**, **safety**, and **concurrency**, without needing a garbage collector. It's often compared to C++, as it's where its advantages can shine the best (safety without sacrificing performance).
+
+While its main domain is systems programming, it's also a very good language for writing backends. Of course, for most backends/APIs, having awesome performance isn't a hard requirement, and is often considered overkill compared to the complexity that is required to achieve it. But, one of the big advantages of Rust compared to other languages (C++, C, ...) is that it can achieve performance while providing a lot of safety mechanisms. This includes the borrow checker, but it also includes the explicit handling of `undefined` values (via `Option<...>`) and of errors (via `Result<...>`).
+
+For backends, Rust is mainly compared to Golang, as both are performant compiled languages that can be used for backends. Rust is more oriented towards safety and performance, at the cost of increased complexity. On the other hand, Golang's main aim is simplicity, which makes it easy to learn, use, and understand. In short, both have their advantages and disadvantages.
+
+## Comparisons with TypeScript
+
+### π¦ Variables are immutable by default
+
+```ts
+let x = 5;
+x = 6;
+```
+
+```rust
+let x = 5;
+// x = 6; // β Error: x is immutable
+let mut x = 5;
+x = 6; // β Use `mut` to make variables mutable
+```
+
+---
+
+### π§± Strong, static typing (but with great inference)
+
+```ts
+let name: string = "Alice";
+```
+
+```rust
+let name: &str = "Alice"; // or just `let name = "Alice";` β Rust infers types
+```
+
+---
+
+### π« No `null` or `undefined` β use `Option`
+
+```ts
+function getUser(): User | null {}
+```
+
+```rust
+fn get_user() -> Option {
+ // Some(user) or None
+}
+```
+
+---
+
+### π― Pattern matching with `match`
+
+```ts
+const role = "admin";
+switch (role) {
+ case "admin":
+ // ...
+}
+```
+
+```rust
+match role.as_str() {
+ "admin" => { /* ... */ }
+ _ => { /* ... */ }
+}
+```
+
+---
+
+### π Ownership and borrowing (the big Rust idea)
+
+Rust tracks memory **at compile time** β no GC.
+
+```ts
+function takeName(name: string) {}
+const myName = "Bob";
+takeName(myName); // OK, string is copied
+```
+
+```rust
+fn take_name(name: String) {}
+let my_name = String::from("Bob");
+take_name(my_name); // OK, but ownership moved
+// my_name is no longer valid here
+```
+
+Use references to **borrow** data instead of moving it:
+
+```rust
+fn print_name(name: &String) {}
+print_name(&my_name); // β Borrowing, no move
+```
+
+---
+
+### π§΅ Async is explicit
+
+Rust doesn't have a built-in runtime like Node β you pick one (like `tokio` or `async-std`).
+
+```ts
+async function fetchData() {}
+```
+
+```rust
+async fn fetch_data() {}
+```
+
+To run async functions, use `.await` inside an async runtime.
+
+---
+
+### π Enums with data
+
+Rust enums are more powerful than TS unions.
+
+```ts
+type Result = { ok: true; value: T } | { ok: false; error: string };
+```
+
+```rust
+enum Result {
+ Ok(T),
+ Err(E),
+}
+```
+
+---
+
+### π¦ Dependencies use `Cargo.toml`
+
+Like `package.json`, but for Rust.
+
+```toml
+[dependencies]
+serde = "1.0"
+tokio = { version = "1.0", features = ["full"] }
+```
+
+---
+
+### π Tooling is great
+
+- `cargo build` β compile
+- `cargo run` β run the app
+- `cargo test` β run tests
+- `cargo fmt` β format code
+- `cargo clippy` β linter
+
+---
+
+### β When in doubt, check the compiler
+
+Rustβs compiler is very strict β but its error messages are famously helpful. Trust it!
diff --git a/docs/todos.md b/docs/todos.md
deleted file mode 100644
index 9ccbef91..00000000
--- a/docs/todos.md
+++ /dev/null
@@ -1,5 +0,0 @@
-
-## Todos
-
-- needs list methods for calendars, schedules and services
-- more recurrence validation in rrule.rs crate