✨ Visual Editor

close

Thread Truncated

Only the first 20 tweets are shown to ensure high-quality rendering and prevent image size issues.

palette Canvas & Background

Gradient:arrow_forward
Text Color:
135°

style Card Style

40px
16px

text_fields Typography

16px
Harshil Tomar
@Hartdrawss
you can tell a vibe coded app in 3 seconds.
Thread image
Harshil Tomar
@Hartdrawss
not because the code is bad. because the design decisions are wrong.
Harshil Tomar
@Hartdrawss
wrong font. inconsistent spacing. colors that don't quite work together. components that almost look like shadcn but are slightly off.
Harshil Tomar
@Hartdrawss
these things don't take long to fix. but you have to know what you're looking for.
Harshil Tomar
@Hartdrawss
[ IMAGE: Side-by-side screenshot: left shows a typical vibe-coded app with inconsistent spacing and a generic font. Right shows the same (or similar) app after applying a proper design system. Your own before/after from a real project is the best asset here. ]
Harshil Tomar
@Hartdrawss
1. font pairing logic (the one decision that changes everything)
Harshil Tomar
@Hartdrawss
most vibe coded apps use whatever font came with the UI library. usually Inter. nothing wrong with Inter, except that when every app uses it, yours looks like every other app.
Harshil Tomar
@Hartdrawss
my font decision framework:
Harshil Tomar
@Hartdrawss
SaaS / productivity tools: Inter or Geist for UI, nothing for headings (same font, different weight)
Harshil Tomar
@Hartdrawss
Thread image
Harshil Tomar
@Hartdrawss
consumer apps: Plus Jakarta Sans or DM Sans for a friendlier feel
Harshil Tomar
@Hartdrawss
Thread image
Harshil Tomar
@Hartdrawss
premium / finance / legal: Sora or Neue Haas Grotesk — more structured and authoritative
Harshil Tomar
@Hartdrawss
Thread image
Harshil Tomar
@Hartdrawss
landing pages only: you can use a display font for headlines. never in the app itself.
Harshil Tomar
@Hartdrawss
one font family. two weights maximum. the discipline is the design.
Harshil Tomar
@Hartdrawss
2. spacing systems — the invisible thing that makes everything feel right
Harshil Tomar
@Hartdrawss
if your app feels 'off' but you can't explain why, the answer is usually inconsistent spacing.
Harshil Tomar
@Hartdrawss
set up a spacing scale and don't break it:
Harshil Tomar
@Hartdrawss
• 4px base unit
Generated by Thread Navigator
100%
view_carousel Carousel Studio NEW
Press + S to quick-export