diff --git a/app/rss/rss.tsx b/app/_rss/rss.tsx
similarity index 100%
rename from app/rss/rss.tsx
rename to app/_rss/rss.tsx
diff --git a/app/thinking/articles.module.css b/app/advocating/articles.module.css
similarity index 100%
rename from app/thinking/articles.module.css
rename to app/advocating/articles.module.css
diff --git a/app/thinking/layout.tsx b/app/advocating/layout.tsx
similarity index 100%
rename from app/thinking/layout.tsx
rename to app/advocating/layout.tsx
diff --git a/app/thinking/life/page.tsx b/app/advocating/life/page.tsx
similarity index 100%
rename from app/thinking/life/page.tsx
rename to app/advocating/life/page.tsx
diff --git a/app/advocating/page.tsx b/app/advocating/page.tsx
new file mode 100644
index 0000000..ee1d0ac
--- /dev/null
+++ b/app/advocating/page.tsx
@@ -0,0 +1,5 @@
+import { Aspect } from "@/components/aspect";
+
+export default async function Page() {
+ return ;
+}
diff --git a/app/thinking/stretch/page.mdx b/app/advocating/stretch/page.mdx
similarity index 100%
rename from app/thinking/stretch/page.mdx
rename to app/advocating/stretch/page.mdx
diff --git a/app/thinking/stretch/page.tsx b/app/advocating/stretch/page.tsx
similarity index 100%
rename from app/thinking/stretch/page.tsx
rename to app/advocating/stretch/page.tsx
diff --git a/app/advocating/visionzero/page.mdx b/app/advocating/visionzero/page.mdx
new file mode 100644
index 0000000..23ffcd6
--- /dev/null
+++ b/app/advocating/visionzero/page.mdx
@@ -0,0 +1,62 @@
+# 🚥 Towards Zero Traffic Deaths
+
+When I moved from Rio de Janeiro to São Paulo, one of the biggest improvements
+on my quality of life was becoming car-free. I still used a car here and there,
+to visit in-laws or traveling to the country, but swapping out driving and
+maintaining a car to a mix of subway and cycling day-to-day was game changing.
+That's not the norm in São Paulo, but it was a privilege I obtained that became
+a key factor in enjoying the city.
+
+Fast forward a few years; the new urbanist movement around 15-minute cities
+growing stronger; climate crisis ever looming and active transportation policy
+becoming more widely sought-after; I move to Vancouver. If my overall experience
+as city dweller improved in almost every axis after moving to São Paulo except
+perhaps for "beach time", the same gains repeat tenfold here plus getting
+beaches back - on summers at least.
+
+Like any big city, Vancouver is a complex amalgamation of forward and backward
+policies, culture and infrastructure. On the one hand, I'm as confident as ever
+that I can live a complete urban life without owning a car due to the decent
+amount of cycling infrastructure around [MetroCore][], plus the amount of
+public-transit-accessible adventures - from turquoise lake hikes to snowboarding
+mountaintops. On the other hand, progress is sometimes slow, sometimes
+non-existent, as waves of car-centrism ebb and flow more or less in synchrony
+with conservatism majorities on the wheels of the public sphere.
+
+[MetroCore]: https://thedva.ca/defining-vancouvers-metrocore/
+
+Rio, São Paulo, and Vancouver can and should and do more to make car dependency
+a thing of the past, so becoming car-free becomes not a privilege of the few,
+but a feasible choice for anyone. Owning a car should be a matter of personal
+preference as much as its color, not a condition for getting access to work or
+leisure.
+
+## Getting Involved
+
+The biggest barrier to more people cycling on big cities has always been safety.
+This is for good reason: in Vancouver as of 2023, about 100 people die in
+traffic every year while trying to get from point A to point B. It's no wonder
+people wish to have as much metal around them as possible while on the road,
+consequently the SUV trends makes it even less safe for those trying to get
+around, specially those on any other less protected transportation device:
+bicycles, skateboards, rollers, or just walking on two legs.
+
+That's where [Vision Zero][] comes in.
+
+[Vision Zero]: https://visionzerovancouver.ca
+
+### Average Crash Counts Sheet
+
+[Data][].
+
+[Data]: https://public.tableau.com/app/profile/icbc/viz/LowerMainlandCrashes/LMDashboard
+
+[Sheet][].
+
+[Sheet]: https://docs.google.com/spreadsheets/d/1SfDWFnNJ8LMxAu23wIKsCXdV_tzdYV_GczR5nSh4l2E
+
+### Crash Count iOS Shortcut
+
+[Shortcut][].
+
+[Shortcut]: https://routinehub.co/shortcut/17369/
diff --git a/app/thinking/www/page.tsx b/app/advocating/visionzero/page.tsx
similarity index 100%
rename from app/thinking/www/page.tsx
rename to app/advocating/visionzero/page.tsx
diff --git a/app/thinking/www/draft.mdx b/app/advocating/www/draft.mdx
similarity index 100%
rename from app/thinking/www/draft.mdx
rename to app/advocating/www/draft.mdx
diff --git a/app/thinking/www/page.mdx b/app/advocating/www/page.mdx
similarity index 100%
rename from app/thinking/www/page.mdx
rename to app/advocating/www/page.mdx
diff --git a/app/advocating/www/page.tsx b/app/advocating/www/page.tsx
new file mode 100644
index 0000000..ac4ddfc
--- /dev/null
+++ b/app/advocating/www/page.tsx
@@ -0,0 +1,5 @@
+import Content from "./page.mdx";
+
+export default function Page() {
+ return ;
+}
diff --git a/app/thinking/page.tsx b/app/brewing/page.tsx
similarity index 70%
rename from app/thinking/page.tsx
rename to app/brewing/page.tsx
index 7e995ec..9630212 100644
--- a/app/thinking/page.tsx
+++ b/app/brewing/page.tsx
@@ -1,5 +1,5 @@
import { Aspect } from "@/components/aspect";
export default async function Page() {
- return ;
+ return ;
}
diff --git a/app/cooking/page.tsx b/app/cooking/page.tsx
new file mode 100644
index 0000000..9630212
--- /dev/null
+++ b/app/cooking/page.tsx
@@ -0,0 +1,5 @@
+import { Aspect } from "@/components/aspect";
+
+export default async function Page() {
+ return ;
+}
diff --git a/app/hiking/page.tsx b/app/hiking/page.tsx
new file mode 100644
index 0000000..9630212
--- /dev/null
+++ b/app/hiking/page.tsx
@@ -0,0 +1,5 @@
+import { Aspect } from "@/components/aspect";
+
+export default async function Page() {
+ return ;
+}
diff --git a/app/rss/reflection.tsx b/app/rss/reflection.tsx
deleted file mode 100644
index 9682fa0..0000000
--- a/app/rss/reflection.tsx
+++ /dev/null
@@ -1,15 +0,0 @@
-import fs from "fs";
-import path from "path";
-
-export interface ListPageOpts {
- route?: string;
-}
-
-export function listPages(opts: ListPageOpts) {
- const routePrefix = opts.route ?? "";
- const routeDir = path.join(process.cwd(), `app/${routePrefix}`);
- return fs
- .readdirSync(routeDir, { withFileTypes: true })
- .filter((f) => f.isDirectory())
- .map((f) => path.join(routePrefix, f.name));
-}
diff --git a/app/running/page.tsx b/app/running/page.tsx
new file mode 100644
index 0000000..9630212
--- /dev/null
+++ b/app/running/page.tsx
@@ -0,0 +1,5 @@
+import { Aspect } from "@/components/aspect";
+
+export default async function Page() {
+ return ;
+}
diff --git a/app/notes/[...pathParts]/page.tsx b/components/notes/[...pathParts]/page.tsx
similarity index 100%
rename from app/notes/[...pathParts]/page.tsx
rename to components/notes/[...pathParts]/page.tsx
diff --git a/app/notes/factory.ts b/components/notes/factory.ts
similarity index 100%
rename from app/notes/factory.ts
rename to components/notes/factory.ts
diff --git a/app/notes/page.tsx b/components/notes/page.tsx
similarity index 100%
rename from app/notes/page.tsx
rename to components/notes/page.tsx
diff --git a/components/sidebar.tsx b/components/sidebar.tsx
index 83a7dae..b309aae 100644
--- a/components/sidebar.tsx
+++ b/components/sidebar.tsx
@@ -7,19 +7,19 @@ export function Sidebar() {
me elsewhere