One main rule
A navigable repo answers one question fast: where should I look next? Your teammate, judge, or recruiter should find the UI, API, shared logic, and start command without asking you on WhatsApp.
What reviewers scan
Most reviewers do not read every file. They scan the root folder, package scripts, main app folder, API folder, and README headings.
Your job is not to create a perfect enterprise structure. Your job is to remove confusion from a weekend project.
Shape the folders
Do each one yourself, then tap it to tick it off. The ticks are only a checklist for you: they are not marked or scored.
0 of 5 done
Simple repo map
This is enough for a small Next.js project with its own API route. Use the same idea for MERN, Express, Flask, or Django: separate UI, backend, helpers, and docs.
campus-lost-found/
README.md
package.json
.env.example
src/
app/
page.tsx
items/
page.tsx
api/
items/
route.ts
components/
ItemCard.tsx
EmptyState.tsx
lib/
storage.ts
validators.ts
public/
screenshot.pngCommon messy pattern
Do not leave files named final2.js, newBackend.js, test-copy.tsx, or temp.jsx in the main path. These make the project look unfinished, even when the app works.
Also avoid hiding key code inside random folders like misc or old. If a file matters, give it a real home and a real name.
Use AI carefully
You can ask an AI tool to suggest a folder structure for your existing files. Paste the file tree, not your secrets. Ask it to explain what to rename and what to delete.
Check the result yourself. AI often over-engineers small apps with too many layers. For a hackathon repo, fewer clear folders are better.
Prompt:
I am submitting a weekend full-stack hackathon project.
Here is my file tree. Suggest a simpler structure.
Keep it small. Do not add new libraries.
Tell me which files to rename, move, or delete.
[file tree here]Helpful package scripts
Scripts are navigation too. They tell someone how the project is meant to run, lint, or build. Keep script names boring and standard.
{
"scripts": {
"dev": "next dev",
"build": "next build",
"start": "next start",
"lint": "next lint"
}
}Do this now
Do each one yourself, then tap it to tick it off. The ticks are only a checklist for you: they are not marked or scored.
0 of 5 done