One spacing rule
Things that belong together should sit close together. Things that are different should have more space between them.
This is how a user understands your screen before reading every word.
Why it matters
A hackathon app often has many pieces: forms, cards, filters, buttons, charts, and status text. If every gap is random, the screen feels messy even when the code works.
Good spacing helps recruiters and judges scan your work fast. They can see what is primary, what is secondary, and what action to take next.
Use a spacing scale
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
Random gaps
Beginners often drag items until they feel okay. That creates 13px here, 19px there, and 27px somewhere else.
Instead, make spacing boring and consistent. Your app will look more designed without adding decoration.
Align the edges
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
Use AI lightly
You can paste a screenshot into ChatGPT, Gemini, or Claude and ask: “Find spacing and alignment issues. Suggest fixes using an 8px spacing scale.”
Do not accept vague feedback like “make it cleaner”. Look for exact fixes: increase card gap to 16px, align button with input left edge, reduce label gap to 4px.
Tailwind example
This card uses repeated spacing values. The title, text, input, and button share one left edge. The button is not floating randomly.
Use the same idea in React, Next.js, plain HTML, Flutter, or Figma.
<div className="max-w-md p-6 space-y-6 rounded-xl border bg-white">
<div className="space-y-2">
<h2 className="text-xl font-semibold">Create study group</h2>
<p className="text-sm text-gray-600">
Add your college, subject, and preferred time.
</p>
</div>
<div className="space-y-4">
<label className="block space-y-1">
<span className="text-sm font-medium">Subject</span>
<input className="w-full rounded-md border px-3 py-2" />
</label>
<button className="w-full rounded-md bg-black px-4 py-2 text-white">
Create group
</button>
</div>
</div>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