Kristoffer Eriksson (@buildwithkris) 's Twitter Profile
Kristoffer Eriksson

@buildwithkris

Tech entrepreneur and developer with over 15 years in the industry.

Founder of 🎨 Grayscal.es and 🚜 @FarmoAgri

✨ Daily tweets about tech, UI, and UX.

ID: 1741105859520823296

linkhttps://grayscal.es calendar_today30-12-2023 14:36:06

3,3K Tweet

2,2K Followers

1,1K Following

Kristoffer Eriksson (@buildwithkris) 's Twitter Profile Photo

✨Tonight's Grayscal.es reveal: PinInput Included in the upcoming early access. I'm using this a lot for Farmo Technologies 🔴🟢 States ⌨️Keyboard navigation 📋Paste and Autocomplete 🎨Multiple variants ✅ onSuccess/onError/onValidate callbacks Built upon shadcn

✨Tonight's Grayscal.es reveal: PinInput

Included in the upcoming early access. I'm using this a lot for <a href="/FarmoAgri/">Farmo Technologies</a>

🔴🟢 States
⌨️Keyboard navigation
📋Paste and Autocomplete 
🎨Multiple variants
✅ onSuccess/onError/onValidate callbacks

Built upon <a href="/shadcn/">shadcn</a>
Kristoffer Eriksson (@buildwithkris) 's Twitter Profile Photo

🚀🔄 Re-run - #React hook to get Speech to Text for free ✨ 👉 Demo & Gist: grayscal.es/hooks/use-spee… 💸 Free - everything takes place in the browser 🎛️ Can be used for Voice Controlled UI ⏺️ Live transcript 🌐 Supports MANY languages ☘️ Open Source

Kristoffer Eriksson (@buildwithkris) 's Twitter Profile Photo

✨🎨 Style with ease! Struggling with complex component styles? 🤔 CVA lets you do conditional styling, making code neat, readable, and super maintainable. 💪 CVA is a must-try for clean code! Works both with and without Tailwind. ▶️ Check it out: cva.style

✨🎨 Style with ease!

Struggling with complex component styles? 🤔

CVA lets you do conditional styling, making code neat, readable, and super maintainable. 💪

CVA is a must-try for clean code! Works both with and without Tailwind. 

▶️ Check it out: cva.style
Kristoffer Eriksson (@buildwithkris) 's Twitter Profile Photo

✨Tonight's Grayscal.es reveal: Badge Included in the upcoming early access release. 🎨 A big variety of styles ◻️ 5 shapes ↔️ 4 different sizes 🖼️ Can be placed as an Overlay ✅ Icon/startEnhancer Support ❌ Disabled state #buildinpublic

✨Tonight's Grayscal.es reveal: Badge  

Included in the upcoming early access release.

🎨 A big variety of styles
◻️ 5 shapes
↔️ 4 different sizes
🖼️ Can be placed as an Overlay
✅ Icon/startEnhancer Support 
❌ Disabled state

#buildinpublic
Kristoffer Eriksson (@buildwithkris) 's Twitter Profile Photo

🚀 useTextSelection - #React TS hook that tracks user text selections & their screen positions! Perfect for creating intuitive UI features like a Share Tooltip, similar to Medium's. ✨ 👉 Demo & Gist: grayscal.es/hooks/use-text… #buildinpublic

Kristoffer Eriksson (@buildwithkris) 's Twitter Profile Photo

✨Tonight's Grayscal.es reveal: Input Included in the upcoming early access release. Built on the shadcn Input component. 🔴🟢 States 💨 Clearable ⌨️ Keyboard Friendly ✨ Enhancers support 🎨 Multiple variants ↔️ Different sizes

✨Tonight's Grayscal.es reveal: Input

Included in the upcoming early access release. Built on the <a href="/shadcn/">shadcn</a> Input component. 

🔴🟢 States
💨 Clearable
⌨️ Keyboard Friendly
✨ Enhancers support
🎨 Multiple variants
↔️ Different sizes
Kristoffer Eriksson (@buildwithkris) 's Twitter Profile Photo

🚀 useLocation - #React TS hook that provides real-time geolocation data, complete with heading and speed metrics. 🗺️📍 Use it for things like fetching info about nearby places or locating other users nearby. ✨ 👉Demo & Gist: grayscal.es/hooks/use-loca… Try it on your mobile! 📱

Kristoffer Eriksson (@buildwithkris) 's Twitter Profile Photo

Forgot to share this yesterday! 📈 Pleased with this week's numbers and thrilled with the positive feedback. However, I expect a slight dip soon due to a heavy workload with both Farmo Technologies and Grayscal.es😃 Big thanks to everyone involved! ✨

Forgot to share this yesterday! 📈

Pleased with this week's numbers and thrilled with the positive feedback. However, I expect a slight dip soon due to a heavy workload with both <a href="/FarmoAgri/">Farmo Technologies</a>  and Grayscal.es😃

Big thanks to everyone involved! ✨
Kristoffer Eriksson (@buildwithkris) 's Twitter Profile Photo

✨Tonight's Grayscal.es reveal: TimedButton Included in the upcoming early access release. 🔲 Works like an ordinary button ⏰ Triggers onClick Action on countdown ↔️ Different sizes 🎨 Multiple styles

✨Tonight's Grayscal.es reveal: TimedButton  

Included in the upcoming early access release.

🔲 Works like an ordinary button
⏰ Triggers onClick Action on countdown
↔️ Different sizes
🎨 Multiple styles
Kristoffer Eriksson (@buildwithkris) 's Twitter Profile Photo

🚀🔄 Updated useKeyPress - #React hook to capture Keyboard events (Like CMDK) ✨ 👉 Demo & Gist: grayscal.es/hooks/use-key-… In the demo I'm also using my useGesture hook as a fallback for mobile devices. Instead of CMD+K, you can Swipe up with 2 fingers. ☝️📱

Kristoffer Eriksson (@buildwithkris) 's Twitter Profile Photo

✨Tonight's Grayscal.es reveal: PhoneInput Included in the upcoming early access release. ⌨️ Keyboard friendly 🏳️ Complete list of countries and country codes ↔️ Different sizes 🎨 Multiple styles ✅ Bring your own validation

✨Tonight's Grayscal.es reveal: PhoneInput

Included in the upcoming early access release.

⌨️ Keyboard friendly
🏳️ Complete list of countries and country codes
↔️ Different sizes
🎨 Multiple styles
✅ Bring your own validation
Kristoffer Eriksson (@buildwithkris) 's Twitter Profile Photo

🚀 useDeviceOrientation - #React TS hook that provides real-time orientation data of a device in 3D space. 📱✨ Use it for maps, 3D experiences, games, true parallax UIs or other beautiful things! 😃 👉Demo & Gist: grayscal.es/hooks/use-devi… Try it on your mobile! 📱

Kristoffer Eriksson (@buildwithkris) 's Twitter Profile Photo

✨Tonight's Grayscal.es reveal: Dialog Blocks ☑️ Pre-made dialog blocks that easily can be customized to fit your application. Built on top of Grayscal.es, shadcn Components and Tailwind. Which blocks would you like to see in Grayscal.es?

✨Tonight's Grayscal.es reveal: Dialog Blocks

☑️ Pre-made dialog blocks that easily can be customized to fit your application. Built on top of Grayscal.es, <a href="/shadcn/">shadcn</a> Components and Tailwind.

Which blocks would you like to see in Grayscal.es?
Kristoffer Eriksson (@buildwithkris) 's Twitter Profile Photo

🚀 useDebounce - A simple #React TS hook that allows you to debounce any fast-changing value. The value will not be updated until the user has stopped typing. ⌨️ Good for autocompletion and search. 👉Demo & Gist: grayscal.es/hooks/use-debo…

Kristoffer Eriksson (@buildwithkris) 's Twitter Profile Photo

✨Tonight's Grayscal.es reveal: Tiles Allow users to make a single/multiple selections from a group of choices ⌨️ Keyboard friendly ✅💥 For Selection or Action ↔️ Different sizes 🎨 Multiple styles

✨Tonight's Grayscal.es reveal: Tiles

Allow users to make a single/multiple selections from a group of choices

⌨️ Keyboard friendly
✅💥 For Selection or Action
↔️ Different sizes
🎨 Multiple styles
Kristoffer Eriksson (@buildwithkris) 's Twitter Profile Photo

🌐🚀 #React hook - useNetwork Real-time network insights! 📡✨ 👉 Demo & Gist: grayscal.es/hooks/use-netw… Discover downlink speed, connection type, and online status directly in your app. Great for adapting content to user's connection! 📶💻

Kristoffer Eriksson (@buildwithkris) 's Twitter Profile Photo

🚀🔄 Re-Run #React Hook with DEMO 📋🫢 useUndo This hook enhances your inputs with powerful undo/redo functionality. While you type, the value is saved in LocalStorage, so that it remains even if you refresh the page. ✨ 👉 Demo & Gist: grayscal.es/hooks/use-undo

Kristoffer Eriksson (@buildwithkris) 's Twitter Profile Photo

🚀🔄 Re-Run #React Hook with DEMO 📡 useBroadcastChannel This hook allows you to send and receive messages between browser tabs or windows, keeping them up to date with each other. ✨ 👉 Demo & Gist: grayscal.es/hooks/use-broa…

Kristoffer Eriksson (@buildwithkris) 's Twitter Profile Photo

Back here after being sick for a week and a half. 🥶 How are you doing? Thanks to all of you that has been reaching out. I’ve a lot to catch up with, and I’m back writing docs for Grayscal.es again. I’ll keep you posted!