"An idiot admires complexity, a genius admires simplicity" - Terry A. Davis
The reason why I've chosen Spring boot is because of adoption. Something like Axum that's bleeding edge doesn't have enough maturity yet. Axum provides a lot of stuff that spring boot can't; like speed. But Spring boot clears Axum in terms of ecosystem which matters more than speed. This philosophy is used in most FAANG services.
Feel free to contribute to the project as long as your merge request aligns with our policies (see below). I advise you to look at this table to see what tools are best for the project.
| Technology | Recommendation | description of why to use it |
|---|---|---|
| Deno | required | Allows you to compile & test the frontend |
| JDK 25+ | required | Required for working with backend code. |
| Docker / Podman | optional | Spin up isolated containers |
| Intellij IDEA | optional | Feel free to use vim, zed! |
This project mainly is to get better at what I already described above. But code designing isn't the only part of it. Project management with 50+ other humans with completely different experiences & niches collaborate, sounds like shit right? The problem to solve this is to implement standards and agreements. With the recent upgrowth of LLM-generated code, code breaks more. To reduce this, I will be implementing policies that will make merge requests more predictable. Over the codebase you'll see some headers of our LLM policy in action. This is to pinpoint what was made by the LLM. Using this we can properly cite LLM-generated code in a formal way.
