← git.world

nolanlawson/emoji-picker-element

Roast: nolanlawson/emoji-picker-element

๐Ÿšจ Warning: Over-Engineering Level Critical

Congratulations to nolanlawson for finally answering the question nobody asked: "What if we treated a simple smiley-face dropdown like a mission-critical database migration?"

Here lies emoji-picker-element, a repository that serves as a monument to the sunk cost fallacy of web performance.

๐Ÿ“‰ The "Custom Framework" Syndrome

You started with Svelte 3. Then Svelte 4. Then, in a move that screams "I have too much free time," you wrote your own custom framework just to shave off 6kB of bundle size.

Read that again. You built a reactivity engine and a templating system from scratch... for a pop-up that picks eggplants. That is not optimization; that is a cry for help. Itโ€™s like building your own car because you didn't like the upholstery in the Uber.

๐Ÿ’พ IndexedDB? For Emojis?

You are using IndexedDB to cache emoji data. Let me repeat that: You are using a transactional, asynchronous, browser-native NoSQL database to store a list of static JSON objects that change once a year when the Unicode Consortium decides we need a "melting face."

You claim it's for "memory efficiency," but let's be real: this is just PouchDB withdrawal symptoms manifesting in a new project. "Offline-first emoji picking"โ€”finally, I can react with a ๐Ÿ’ฉ to my lack of internet connection while spelunking.

๐ŸŽจ The "Native" Excuse

  • Visuals: "It renders native emoji by default." Translation: "I didn't want to bundle a font, so if you're on Windows 7, enjoy your black-and-white rectangles."
  • Safari Support: You dropped Safari 12 support to save bytes, then wrote a blog post rationalizing it. The mental gymnastics required to justify breaking the web for 0.5% of users just to make your bundle size look better on Bundlephobia is truly Olympian.

๐Ÿ› The API Quirks

I see an event called emoji-click-sync. This exists solely because of a Safari clipboard bug. Your codebase is literally haunted by the ghosts of browser quirks you tried to optimize away.

Summary

emoji-picker-element is a technical marvel that solves a problem <input type="text"> with an emoji keyboard already solves. It is 12.5kB of pure, unadulterated "because I can."

Verdict: 10/10 for engineering, 0/10 for sanity. Please go outside and touch some grass (๐ŸŒฑ Unicode U+1F331).