build better index
diff --git a/README.md b/README.md
index 31eb6da..e0b7c64 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-[![tinytapeout](https://github.com/tinytapeout/tinytapeout-02/actions/workflows/tinytapeout.yaml/badge.svg)](https://github.com/tinytapeout/tinytapeout-02/actions/workflows/tinytapeout.yaml)
+[![tinytapeout](https://github.com/tinytapeout/tinytapeout-02/actions/workflows/gds.yaml/badge.svg)](https://github.com/tinytapeout/tinytapeout-02/actions/workflows/gds.yaml)
 [![verification](https://github.com/tinytapeout/tinytapeout-02/actions/workflows/verification.yaml/badge.svg)](https://github.com/tinytapeout/tinytapeout-02/actions/workflows/verification.yaml)
 [![tt_datasheet](https://github.com/tinytapeout/tinytapeout-02/actions/workflows/tt_datasheet.yaml/badge.svg)](https://github.com/tinytapeout/tinytapeout-02/actions/workflows/tt_datasheet.yaml)
 
@@ -18,6 +18,27 @@
 
 # Project Index
 
-* [339501025136214612](https://wokwi.com/projects/339501025136214612) https://github.com/TinyTapeout/tt02-test-straight
-* [340805072482992722](https://wokwi.com/projects/340805072482992722) https://github.com/TinyTapeout/tt02-test-7seg
-* [341535056611770964](https://wokwi.com/projects/341535056611770964) https://github.com/TinyTapeout/tt02-test-invert
+| Author | Title | Git Repo |
+| ------ | ------| ---------|
+| Matt Venn | Test project | https://github.com/TinyTapeout/tt02-test-straight |
+| Fraser Price | SIMON Cipher | https://github.com/Fraserbc/tt02-simon |
+| Chris | Matrix display | https://github.com/chrisruk/matrixchip |
+| Jon Klein | Power supply sequencer | https://github.com/loxodes/tt02-submission-loxodes |
+| Marcelo Pouso / Miguel Correia | Duty Controler | https://github.com/migcorre/tt02-dc |
+| Ryan C | CPU | https://github.com/ryancor/tt02-submission-template |
+| Aidan Good | The McCoy 6-bit Microprocessor | https://github.com/AidanGood/tt02-McCoy |
+| Azdle | binary clock | https://github.com/azdle/binary-clock-asic |
+| Justin Pelan | TinySensor | https://github.com/justinP-wrk/tt02-TinySensor |
+| James Ross | 8x8 SRAM | https://github.com/jar/tt02_sram |
+| Jens Schleusner | German Traffic Light State Machine | https://github.com/JensIMS/tt02-trafficlight |
+| Seppe Van Dyck | Ising Spin | https://github.com/svd321/tt02-Ising |
+| Tholin | Avalon Semiconductors '5401' 4-bit Microprocessor | https://github.com/89Mods/tt2-AvalonSemi-5401 |
+| Rice Shelley | small FFT | https://github.com/RiceShelley/tiny-fft |
+| William Moyes | Stream Integrator | https://github.com/moyesw/tt02-moyesw-StreamIntegrator |
+| Tom Schucker | tiny-fir | https://github.com/Tschucker/tt02-submission-tiny-fir |
+| Greg Steiert | Configurable SR | https://github.com/steieio/tt02-submission-universal-sr |
+| Luis Ardila | LUTRAM | https://github.com/leardilap/tt02-LUTRAM |
+| Emil J Tywoniak | chase the beat | https://github.com/ekliptik/tt02-chase-the-beat |
+| maehw | BCD to 7-segment encoder | https://github.com/maehw/tt02-bcd-7segment-encoder |
+| Ben Everard | A LED Flasher | https://github.com/benevpi/tt02-LED-flasher |
+| Tholin | Avalon Semiconductors 'TBB1143' Programmable Sound Generator | https://github.com/89Mods/tt2-avalonsemi-TBB1143 |
diff --git a/README_init.md b/README_init.md
index 9ca3d24..62194a2 100644
--- a/README_init.md
+++ b/README_init.md
@@ -1,4 +1,4 @@
-[![tinytapeout](https://github.com/tinytapeout/tinytapeout-02/actions/workflows/tinytapeout.yaml/badge.svg)](https://github.com/tinytapeout/tinytapeout-02/actions/workflows/tinytapeout.yaml)
+[![tinytapeout](https://github.com/tinytapeout/tinytapeout-02/actions/workflows/gds.yaml/badge.svg)](https://github.com/tinytapeout/tinytapeout-02/actions/workflows/gds.yaml)
 [![verification](https://github.com/tinytapeout/tinytapeout-02/actions/workflows/verification.yaml/badge.svg)](https://github.com/tinytapeout/tinytapeout-02/actions/workflows/verification.yaml)
 [![tt_datasheet](https://github.com/tinytapeout/tinytapeout-02/actions/workflows/tt_datasheet.yaml/badge.svg)](https://github.com/tinytapeout/tinytapeout-02/actions/workflows/tt_datasheet.yaml)
 
diff --git a/configure.py b/configure.py
index 69f386b..4f587ad 100755
--- a/configure.py
+++ b/configure.py
@@ -126,7 +126,10 @@
             self.top_module = self.yaml['project']['top_module']
             self.src_files = self.yaml['project']['source_files']
             self.top_verilog_file = self.find_top_verilog()
-   
+  
+    def get_index_row(self):
+        return f'| {self.yaml["documentation"]["author"]} | {self.yaml["documentation"]["title"]} | {self.git_url} |\n'
+
     # top module name is defined in one of the source files, which one?
     def find_top_verilog(self):
         rgx_mod  = re.compile(r"(?:^|[\W])module[\s]{1,}([\w]+)")
@@ -519,6 +522,20 @@
         for project in self.projects:
             logging.info(project)
 
+
+    def build_index(self):
+        logging.info("building doc index")
+        with open("README_init.md") as fh:
+            readme = fh.read()
+        with open("README.md", 'w') as fh:
+            fh.write(readme)
+            fh.write("| Author | Title | Git Repo |\n")
+            fh.write("| ------ | ------| ---------|\n")
+            for project in self.projects:
+                if not project.fill:
+                    fh.write(project.get_index_row())
+
+
 if __name__ == '__main__':
     parser = argparse.ArgumentParser(description="TinyTapeout")
 
@@ -559,3 +576,4 @@
     if args.update_caravel:
         caravel.create_macro_config()
         caravel.instantiate()
+        caravel.build_index()
diff --git a/tinytapeout.png b/tinytapeout.png
index ed39bbf..b6497e5 100644
--- a/tinytapeout.png
+++ b/tinytapeout.png
Binary files differ