Tweets

Tweets & Rants

A curated timeline of thoughts, security write-ups, building in public, and software engineering notes.

Manu Arora
Manu Arora

@mannupaaji

Use πšœπš’πš‹πš•πš’πš—πš-πš’πš—πšπšŽπš‘() to stagger children of a parent without having to manually track a using --πš’ πšŸπšŠπš›πš’πšŠπš‹πš•πšŽπšœ or having to use an animation library .πš’πšπšŽπš– { πšŠπš—πš’πš–πšŠπšπš’πš˜πš—: πšŽπš—πšπšŽπš› 𝟢.𝟺𝟻𝚜 πšŒπšžπš‹πš’πšŒ-πš‹πšŽπš£πš’πšŽπš›(𝟢.𝟸𝟸, 𝟷, 𝟢.𝟹𝟼, 𝟷)

Manu Arora
Manu Arora

@mannupaaji

Using `πŸ·πš•πš‘` instead of `πŸ·πšŽπš–` for inline icons or logos accounts for the extra line height additions. .πš’πšŒπš˜πš— { πš‘πšŽπš’πšπš‘πš: πŸ·πš•πš‘; πš πš’πšπšπš‘: πŸ·πš•πš‘; } The logo fills up the visual length of the text line exactly. Change your πš•πšŽπšŠπšπš’πš—πš / πš•πš’πš—πšŽ-πš‘πšŽπš’πšπš‘πš

Manu Arora
Manu Arora

@mannupaaji

An upper shadow of as small as 𝟢.πŸ»πš™πš‘ can help your buttons stand out <πš‹πšžπšπšπš˜πš— πšŒπš•πšŠπšœπšœπ™½πšŠπš–πšŽ="πš›πš˜πšžπš—πšπšŽπš-πšπšžπš•πš• πš‹πš-πš•πš’πš—πšŽπšŠπš›-𝚝𝚘-πš‹ πšπš›πš˜πš–-πš—πšŽπšžπšπš›πšŠπš•-𝟿𝟢𝟢 𝚝𝚘-πš‹πš•πšŠπšŒπš” πš™πš‘-𝟺 πš™πš’-𝟸 𝚝𝚎𝚑𝚝-πš πš‘πš’πšπšŽ

Manu Arora
Manu Arora

@mannupaaji

One of my favourites latest CSS property is πšŠπš—πšŒπš‘πš˜πš› πš™πš˜πšœπš’πšπš’πš˜πš—πš’πš—πš .πšπš›πš’πšπšπšŽπš› { πšŠπš—πšŒπš‘πš˜πš›-πš—πšŠπš–πšŽ: --πšπš’πš™; } .πšπš˜πš˜πš•πšπš’πš™ { πš™πš˜πšœπš’πšπš’πš˜πš—: πšπš’πš‘πšŽπš; πš™πš˜πšœπš’πšπš’πš˜πš—-πšŠπš—πšŒπš‘πš˜πš›: --πšπš’πš™; πš™πš˜πšœπš’πšπš’πš˜πš—-πšŠπš›πšŽπšŠ: πšπš˜πš™ πšŒπšŽπš—πšπšŽπš›;

Manu Arora
Manu Arora

@mannupaaji

you can create a CSS only carousel with CSS `πšœπšŒπš›πš˜πš•πš•-πšœπš—πšŠπš™` .πšœπšŒπš›πš˜πš•πš•πšŽπš› { πš˜πšŸπšŽπš›πšπš•πš˜πš -𝚑: 𝚊𝚞𝚝𝚘; πšœπšŒπš›πš˜πš•πš•-πšœπš—πšŠπš™-πšπš’πš™πšŽ: 𝚑 πš–πšŠπš—πšπšŠπšπš˜πš›πš’; πšœπšŒπš›πš˜πš•πš•-πš™πšŠπšπšπš’πš—πš-πš’πš—πš•πš’πš—πšŽ: 𝟷.πŸ»πš›πšŽπš–; /* πš–πšŠπšπšŒπš‘πšŽπšœ πš’πš˜πšžπš›

Manu Arora
Manu Arora

@mannupaaji

I don't know what a vestaboard is here's a component that flips characters - Pass in an array of messages / a single message to display - Import via @shadcn CLI or Open in @v0 - Light and dark mode - Mobile responsive Built with Claude Opus 4.6 High + Composer 2 in around an

Manu Arora
Manu Arora

@mannupaaji

For dark mode box shadows, use a layered dark color for the shadow instead of white to add elevation to your cards πš‹πš˜πš‘πš‚πš‘πšŠπšπš˜πš : πš›πšπš‹πšŠ(𝟢, 𝟢, 𝟢, 𝟢.𝟺𝟸) πŸΆπš™πš‘ πŸ»πŸΊπš™πš‘ πŸ»πŸ»πš™πš‘, πš›πšπš‹πšŠ(𝟢, 𝟢, 𝟢, 𝟢.𝟹𝟼) πŸΆπš™πš‘ -πŸ·πŸΈπš™πš‘ πŸΉπŸΆπš™πš‘, πš›πšπš‹πšŠ(𝟢, 𝟢, 𝟢, 𝟢.𝟸𝟢)

Manu Arora
Manu Arora

@mannupaaji

Create multiple lines and scales around your cards with πš›πšŽπš™πšŽπšŠπšπš’πš—πš-πš•πš’πš—πšŽπšŠπš›-πšπš›πšŠπšπš’πšŽπš—πš Instead of using divs and spans, use πš›πšŽπš™πšŽπšŠπšπš’πš—πš-πš•πš’πš—πšŽπšŠπš›-πšπš›πšŠπšπš’πšŽπš—πš and πš–πšŠπšœπš”-𝚝-πšπš›πš˜πš–-𝟻𝟢% for smooth set of lines <πšπš’πšŸ

Manu Arora
Manu Arora

@mannupaaji

Left: πš‹πš˜πš›πšπšŽπš› πš‹πš˜πš›πšπšŽπš›-πš—πšŽπšžπšπš›πšŠπš•-𝟸𝟢𝟢 Right: πšœπš‘πšŠπšπš˜πš -πš–πš πšœπš‘πšŠπšπš˜πš -πš‹πš•πšŠπšŒπš”/𝟷𝟢 πš›πš’πš—πš-𝟷 πš›πš’πš—πš-πš‹πš•πšŠπšŒπš”/𝟷𝟢 Shadow paired with a ring utility elevates the input boxes to a very subtle extent. i love the right one personally.

Manu Arora
Manu Arora

@mannupaaji

Create image reveal effects with CSS πšŒπš•πš’πš™-πš™πšŠπšπš‘ .πš›πšŽπšŸπšŽπšŠπš• { πšŒπš•πš’πš™-πš™πšŠπšπš‘: πš’πš—πšœπšŽπš(𝟢 𝟷𝟢𝟢% 𝟢 𝟢); πšŠπš—πš’πš–πšŠπšπš’πš˜πš—: πšœπš‘πš˜πš -πš’πš–πšŠπšπšŽ 𝟷𝚜 πšπš˜πš›πš πšŠπš›πšπšœ πš•πš’πš—πšŽπšŠπš›; } @πš”πšŽπš’πšπš›πšŠπš–πšŽπšœ πšœπš‘πš˜πš -πš’πš–πšŠπšπšŽ { 𝚝𝚘 {

Manu Arora
Manu Arora

@mannupaaji

Use the πš πš‘πš’πš•πšŽπ™·πš˜πšŸπšŽπš› prop on the parent to animate children <πš–πš˜πšπš’πš˜πš—.πšπš’πšŸ πš πš‘πš’πš•πšŽπ™·πš˜πšŸπšŽπš›="πšŠπš—πš’πš–πšŠπšπšŽ" πš’πš—πš’πšπš’πšŠπš•="πš’πš—πš’πšπš’πšŠπš•"> ... <πš–πš˜πšπš’πš˜πš—.πšπš’πšŸ πšŸπšŠπš›πš’πšŠπš—πšπšœ={{πšŠπš—πš’πš–πšŠπšπšŽ: 𝚒:𝟺𝟢, 𝚑: 𝟸𝟢}}> ...