# EPF Dev Update #4
**tl;dr:**
- Presented my project proposal.
- Wrote about [Trin's architecture](https://hackmd.io/@danielrachi/r1mn3fx3n).
## Project proposal presentation
I started this week by finishing up my slides and getting ready to present my project proposal. Then, I presented it during the office hours call.
You can see my project proposal [here](https://github.com/eth-protocol-fellows/cohort-four/blob/master/projects/trin-canon-tx-network.md), my slides [here](https://github.com/eth-protocol-fellows/cohort-four/blob/master/notes/danielrachi/daniel-project-proposal-slides.pdf), and the recording of my presentation [here](https://drive.google.com/file/d/11w169ZK3DDnjgsgZyXDR7uwLPaOGCVpZ/edit) (I start at minute 2:05).
## Trin's architecture
I spent the rest of the week learning about how trin, especially the History Network, works.
My first attempt was to analyze the [trin-history](https://github.com/ethereum/trin/tree/master/trin-history) crate. I quickly realized that it was better to understand the whole system and then see how that crate fits. So, I looked into how trin starts up, including the functions it calls and the "objects" it creates.
I spent a pretty good amount of time there and wrote [this draft document](https://hackmd.io/@danielrachi/r1mn3fx3n). It definitely helped me understand how Trin works, but maybe that wasn't the most productive approach.
I felt that the whole process was hard and slow. There was a lot of info to unpack and many places to start. And when I unraveled something, a new chunk of code I didn't understand came up.
Maybe it's just my learning style, or my lack of experience documenting the architecture of a program, but I think it would be way better for me to understand the project while I write code for it. And then, when I get to "load" the program in my head, I could try finishing the architecture document.