The architecture is working when nobody has to admire it before using it.
New builders often want architecture to feel impressive. They create names that sound like systems, nest folders until the path looks expensive, and then wonder why changing a button takes a map. The better move is almost disappointingly plain.
Put routes where the framework expects routes. Put reusable UI in components. Put article content in content. Put helper logic in lib when it earns the name. Put docs in docs, with an entrypoint that tells future readers what to open first. Boring is not lazy. Boring is searchable.
This matters more when AI is part of the workflow. AI can move quickly when the project shape is predictable. It can also hallucinate confidently when the structure is theatrical. A clean file architecture reduces guesswork. It lets the next task begin with inspection instead of excavation.
For a student project, the goal is not to show that you know every possible pattern. The goal is to make the project easy to understand, change, and verify. If a folder name cannot explain its job to a tired person at 10 p.m., rename it.