diff --git a/README.md b/README.md
index 7e913077..5de6bf10 100644
--- a/README.md
+++ b/README.md
@@ -34,6 +34,8 @@ vichan is a fork of (now defunc'd) [Tinyboard](http://github.com/savetheinternet
a great imageboard package, actively building on it and adding a lot of features and other
improvements.
+
+
### Maintainer timeline
1. Development Commission lead by [@basedgentoo](https://github.com/basedgentoo), [@kuz-sysadmin](https://github.com/kuz-sysadmin), and [@RealAngeleno](https://github.com/RealAngeleno). (2023 - )
2. [@h00j](https://github.com/h00j) (2021 - ???)
diff --git a/static/doc/timeline.gv b/static/doc/timeline.gv
new file mode 100644
index 00000000..fde4f417
--- /dev/null
+++ b/static/doc/timeline.gv
@@ -0,0 +1,87 @@
+digraph {
+ graph [overlap=false];
+ subgraph main {
+ node [fontname="sans-serif",
+ shape=box,
+ style="rounded,filled"
+ ];
+ tb [label=(@savetheinternet)
2010–2014>];
+ ponychan [label=(???)
2012–2015 (as MLPchan)
2015–>];
+ tb -> ponychan;
+ fourchon [label=(@savetheinternet)
2010–2014>];
+ tb -> fourchon;
+ vichan [color=gold,
+ label=(@czaks)
2012–>];
+ tb -> vichan;
+ vichannet [label=(Polish-language imageboard)
(@czaks)
2012–>];
+ tb -> vichannet;
+ fourchon -> tb;
+ vichan -> tb;
+ vichan -> vichannet;
+ leftypol [label=(@discomrade et al.)
≈2016–>];
+ vichan -> leftypol;
+ inf [label=(@copypaste /
★コピペ)
2013–2017>];
+ vichan -> inf;
+ infco [label=(@copypaste /
★コピペ)
2013–2016>];
+ vichan -> infco;
+ lc [label=2016–>];
+ vichan -> lc;
+ npf [label=2017–2019>];
+ vichan -> npf;
+ kuz [label=d/b/a soyjak.party
~2020–>];
+ vichan -> kuz;
+ vichannet -> vichan:nw;
+ leftypol -> vichan [style=dashed];
+ inf -> tb [style=dotted];
+ inf -> vichan;
+ infpl [label=(@czaks)
2014–2016>];
+ inf -> infpl;
+ oib [label=~2017–2019>];
+ inf -> oib;
+ infco -> vichan [rank=min];
+ infco -> inf;
+ infpl -> vichan [style=dotted];
+ infpl -> inf;
+ e8ch [label=~2017–2019>];
+ oib -> e8ch;
+ e8kun [label=~2019–>];
+ e8ch -> e8kun;
+ kuz -> vichan;
+ }
+ subgraph B {
+ subgraph title {
+ TITLE [fontname="sans-serif",
+ fontsize=16,
+ label=<vichan Timeline
…as of 20230329>,
+ shape=box,
+ width=10];
+ }
+ subgraph sig {
+ graph [rank=sink];
+ SIG [label=<by kopipe>,
+ labelloc=b,
+ shape=none];
+ }
+ tb;
+ vichan;
+ tb -> vichan [arrowhead=0,
+ penwidth=0,
+ weight=max];
+ infco;
+ vichan -> infco [arrowhead=0,
+ penwidth=0,
+ weight=max];
+ kuz;
+ infco -> kuz [arrowhead=0,
+ penwidth=0,
+ weight=max];
+ kuz -> SIG [arrowhead=0,
+ penwidth=0,
+ weight=max];
+ TITLE -> tb [arrowhead=0,
+ penwidth=0,
+ weight=max];
+ TITLE -> SIG [arrowhead=0,
+ penwidth=0];
+ }
+}
diff --git a/static/doc/timeline.svg b/static/doc/timeline.svg
new file mode 100644
index 00000000..c9367e8f
--- /dev/null
+++ b/static/doc/timeline.svg
@@ -0,0 +1,332 @@
+
+
+
+
+