Boris Lepikhin Profile Banner
Boris Lepikhin Profile
Boris Lepikhin

@lepikhinb

5,363
Followers
479
Following
444
Media
2,584
Statuses

๐Ÿ‹ @lmsqueezy โœจ โœจ โœจ โœจ (acquired) โœจ (acquired)

Los Angeles, CA
Joined June 2011
Don't wanna be here? Send us removal request.
Pinned Tweet
@lepikhinb
Boris Lepikhin
2 months
๐Ÿ”ฅ Introducing Lunar UI โ€“ the collection of interactive Tailwind CSS components. Build stunning landing pages with customizable copy-paste components. Available for React and Vue.js. Lifetime access.
6
6
63
@lepikhinb
Boris Lepikhin
3 years
Pure tailwind animations ๐Ÿคฉ @adamwathan @steveschoger
21
69
1K
@lepikhinb
Boris Lepikhin
3 years
Just published the first version of Tinymotion, a Vue.js keyframe animation library for @tailwindcss .
Tweet media one
18
100
583
@lepikhinb
Boris Lepikhin
3 years
Working on a tiny @tailwindcss animation library for vue. Yea or nay?
33
16
555
@lepikhinb
Boris Lepikhin
10 months
Cooking something ๐Ÿณ
Tweet media one
21
12
548
@lepikhinb
Boris Lepikhin
8 months
โœจ Lunar UI is out now! Create stunning landing pages with interactive components built with Tailwind CSS. Available for Vue.js / Nuxt starting today. The React version is coming soon!
35
58
521
@lepikhinb
Boris Lepikhin
2 years
๐ŸŒด Meet Momentum Modal โ€” a Laravel package that lets you implement backend-driven modal dialogs in Inertia apps. Define modal routes on the backend and dynamically render them when you visit a dialog route. Check out the demo app at
19
82
435
@lepikhinb
Boris Lepikhin
1 year
Another cool spotlight hover effect using @tailwindcss and @VueUse . This time from Code example:
2
25
344
@lepikhinb
Boris Lepikhin
1 year
I've replicated this stunning hover effect from the brand new landing page. The example is using @tailwindcss and @VueUse .
13
30
339
@lepikhinb
Boris Lepikhin
1 year
๐Ÿš€ Advanced Inertia is out now! Take your Inertia.js skills to the next level. Learn advanced concepts and make apps with Laravel and Inertia a breeze to build and maintain.
35
54
334
@lepikhinb
Boris Lepikhin
8 months
Learn how to build stunning buttons with a shimmering border effect. Tailwind CSS code example and explanation below.
3
26
307
@lepikhinb
Boris Lepikhin
7 months
โœจ Realistic backdrop glass with Tailwind CSS. Headers with glass effect are pretty common in landing pages. Although, CSS backdrops only apply to intersecting objects, what doesn't look much natural. I wrapped up a Tailwind CSS plugin to solve that:
8
20
301
@lepikhinb
Boris Lepikhin
3 years
๐Ÿ”ฅ TIL you can turn on a "design mode" in Chrome and edit text elements on the fly. Great for prototyping your copy blocks right in the browser. document.designMode = "on"
11
68
284
@lepikhinb
Boris Lepikhin
1 year
Vue 3.3 is coming out this week, and it's going to feature a few banger quality-of-life features, including: - defineModel macro - defineOptions macro - defineEmits macro improvements - reactive props destructure - externally imported prop types - script setup generics
Tweet media one
7
44
263
@lepikhinb
Boris Lepikhin
10 months
Learn how to make marquee animations with Tailwind CSS for components like testimonial blocks or logo sections. Source code and explanation below โ˜ ๏ธ
8
29
259
@lepikhinb
Boris Lepikhin
3 months
React vs Vue ๐ŸฅŠ Which do you prefer and why?
Tweet media one
93
28
245
@lepikhinb
Boris Lepikhin
10 months
๐Ÿ”ฅ Here we go again Meet Lunar UI โ€“ the set of advanced Tailwind CSS components for React and Vue.js. Create stunning landing pages like the sites we all love with copy-paste components. Pre-order now to get 60% off the launch price. Coming this July!
17
20
250
@lepikhinb
Boris Lepikhin
3 years
Meet Lens, a simple image converter for macOS. It's a fun project I've built in less than a day, but I still would appreciate the support.
18
37
246
@lepikhinb
Boris Lepikhin
3 months
๐Ÿ€ Vue 3.4: Slam Dunk introduces several performance and QoL improvements, including: - `defineModel` is now stable - `defineModel` modifiers - `v-bind` shorthand syntax - Previous `computed` value - `watch` once - Reactivity improvements Check the most notable changes ๐Ÿ‘‡๐Ÿป
Tweet media one
6
42
243
@lepikhinb
Boris Lepikhin
1 month
Relative color syntax with Tailwind CSS ๐Ÿ”ฅ Use different shades of the base color for backgrounds, text colors, borders, etc. The proof-of-concept plugin uses `oklch` mode under the hood. Source code:
5
26
238
@lepikhinb
Boris Lepikhin
2 years
So, it seems that Inertia.js is getting taken over by Laravel eventually. Fingers crossed for it to happen sooner ๐Ÿคž Can't imagine a better future for both frameworks.
10
18
234
@lepikhinb
Boris Lepikhin
3 years
A friendly reminder that PHP 8.0+ got a null-safe operator for optional chaining. Just caught myself wrapping a json payload into the ยซoptionalยป helper ๐Ÿค’
Tweet media one
4
48
231
@lepikhinb
Boris Lepikhin
2 years
๐Ÿน Meet Momentum Preflight โ€” a Laravel package that lets you implement realtime backend-driven request validation in Inertia apps. Validate form requests using Inertia form helper just like you already do, without running controllers' code.
13
36
215
@lepikhinb
Boris Lepikhin
1 year
PHP is still sexy as fuck ๐Ÿ˜Ž
14
12
209
@lepikhinb
Boris Lepikhin
2 years
One of my favorite CSS and specifically @tailwindcss features is `gap`. Unlike `margin`, it helps easily manage repeatable components within flex or grid containers and avoid unnecessary extra spacing.
Tweet media one
2
15
209
@lepikhinb
Boris Lepikhin
3 months
Learn how to create a nice ripple animation effect with @tailwindcss . Source code and explanation below ๐Ÿ‘Œ๐Ÿป
6
17
210
@lepikhinb
Boris Lepikhin
3 years
For some reason, I hate writing loops. Meet the only PHP helper you missed.
Tweet media one
8
25
196
@lepikhinb
Boris Lepikhin
5 months
It's not a drill โš ๏ธ Catalyst is using `cursor-default` for buttons, just like in native macOS apps.
31
9
182
@lepikhinb
Boris Lepikhin
2 years
It seems that I just hacked the best way to handle Laravel authorization on a JS frontend level. It works SO GOOD with @inertiajs ! DataResource extends Laravel Data (which I use for all Resources, Requests and DTO), and passes all specified authorization checks to the frontend.
Tweet media one
10
30
181
@lepikhinb
Boris Lepikhin
1 year
Do you ever use VueUse in your projects? The library literally has a solution for any tricky Vue-related issue, and has become an essential part of my apps.
13
10
178
@lepikhinb
Boris Lepikhin
8 months
Learn how to make this nice text animation effect with Tailwind CSS. No JS required! Read the explanation below. Source code:
4
27
165
@lepikhinb
Boris Lepikhin
2 years
๐Ÿ‘€ Inertia modals are coming. This week ๐ŸŒ‹
Tweet media one
10
11
163
@lepikhinb
Boris Lepikhin
7 months
I'm available for the next freelance gig or contractor work. RTs are appreciated โค๏ธ I build web apps with: - Laravel - Vue.js / Nuxt / Inertia.js - React / Next.js - Tailwind CSS Some projects I've built and launched so far: Turn your podcast episodesโ€ฆ
5
45
157
@lepikhinb
Boris Lepikhin
7 months
The more I dig into React / Next.js, the more I appreciate the efforts put into @vuejs and @nuxt_js DX.
7
18
154
@lepikhinb
Boris Lepikhin
3 years
Just published an update to Laravel Fluent, the only illegal yet beautiful way to build Laravel models.
Tweet media one
12
18
154
@lepikhinb
Boris Lepikhin
1 year
Next.js is still far away from being a full-stack framework. The future of full-stack development is something like Laravel+Inertia with monolith components, but everything is a single codebase powered by TypeScript.
11
13
152
@lepikhinb
Boris Lepikhin
1 year
๐Ÿ‘€
Tweet media one
19
11
152
@lepikhinb
Boris Lepikhin
1 year
You asked... You demanded. So here we go. The complete guide to setting up TypeScript with Laravel and Vue 3.
10
38
148
@lepikhinb
Boris Lepikhin
2 months
Do you ever use VueUse in your projects? The library literally has a solution for any tricky Vue-related issue, and has become an essential part of my apps.
20
6
134
@lepikhinb
Boris Lepikhin
3 years
Alright, Laravel Breeze on steroids alert ๐Ÿšจ I've built Sugar for myself, but feel free to improve your dx too: - Vite instead of Webpack/Mix - Reimagined Vue 3 Breeze components (SFC script setup syntax) - TypeScript support - @pestphp by default
Tweet media one
4
28
130
@lepikhinb
Boris Lepikhin
3 years
I've just released a new package โ€“ Laravel TypeScript. The package lets you generate TypeScript interfaces from Laravel models. No code changes required. โœ… Database columns โœ… Model relations โœ… Model accessors
6
27
127
@lepikhinb
Boris Lepikhin
2 years
Several months ago I started compiling all the best practices Iโ€™ve used to build Inertia-powered apps into a book, but had to take a break. As I've relocated, itโ€™s time to get back to the business. Join the waitlist and get 20% off when the book is out.
9
18
126
@lepikhinb
Boris Lepikhin
3 years
Laravel Spark customization 101. There are some hidden customizable things that aren't listed in the documentation. Thread โฌ‡๏ธ
4
28
122
@lepikhinb
Boris Lepikhin
7 months
I've noticed devs often use either solid or outline SVG icons, but why not mix both? You can achieve a more vibrant effect by applying a fill color to outline icons. A good trick is to use the same color for the stroke and background but make the fill a bit transparent.
Tweet media one
4
7
123
@lepikhinb
Boris Lepikhin
8 months
๐Ÿ’ซ Introducing Recharger โ€“ a stunning dark-themed landing page template crafted with Tailwind CSS. Available for @vuejs and @nuxt_js today as part of Lunar UI. Live demo:
6
6
119
@lepikhinb
Boris Lepikhin
2 years
Sad to see how all these Laravel tip threads have become so bad this year. It's literally always either an excerpt from the docs or just a bad practice not worth implementing.
14
7
113
@lepikhinb
Boris Lepikhin
3 years
Avoid datepickers whenever it's possible. Datepickers work great for ranges and future dates. Dedicated inputs are the best for past dates as birthdate, document issuance/expiration date, everything when the user already knows the date he needs to type. *not legal advice*
Tweet media one
5
13
111
@lepikhinb
Boris Lepikhin
1 month
โœจ Realistic backdrop glass with Tailwind CSS. Headers with glass effect are pretty common in landing pages. Although, CSS backdrops only apply to intersecting objects, what doesn't look much natural. I wrapped up a Tailwind CSS plugin to solve that:
3
8
111
@lepikhinb
Boris Lepikhin
3 years
๐Ÿ”ฅ Another friendly reminder that PHP 8.0+ also introduced the constructor property promotion feature. The short-hand syntax allows combining the definition of properties and the constructor.
Tweet media one
2
27
108
@lepikhinb
Boris Lepikhin
2 years
The official Laravel Vite plugin is on the way ๐Ÿ”ฅ I have tried Vite the last year, and never switched back since then. Not sure about benchmarks, but it just feels way faster on real-world projects comparing to Webpack. Great job @jessarchercodes !
2
12
102
@lepikhinb
Boris Lepikhin
3 years
Just found a way to interact with other elements. I decided to make a component instead of a directive since it gives way more room for possible interactions. Now it's time to polish some things out and wrap it into a package ๐Ÿ˜ฑ
@lepikhinb
Boris Lepikhin
3 years
Working on a tiny @tailwindcss animation library for vue. Yea or nay?
33
16
555
4
5
101
@lepikhinb
Boris Lepikhin
3 years
๐ŸŽ‰ Just in! Meet Reel โ€“ Turn podcast into video. Highlight your next episode on social media with an eye-catching teaser video and attract new listeners. Automatically add subtitles to your podcast. Quick feature summary and giveaway ๐Ÿ‘‡๐Ÿป
19
33
100
@lepikhinb
Boris Lepikhin
3 years
Stepping into a programmatic SEO territory. I'm even more happy with the result than with the original marketing page ๐Ÿคฉ @tailwindui and some extra magic as usual
Tweet media one
Tweet media two
1
6
100
@lepikhinb
Boris Lepikhin
3 years
๐Ÿ”ฅ Tip. You can define multiple components in a single Vue file. It's a handy trick when you only need to unify repeating parts of a single component and don't need to make them reusable outside the component. The example is from the @reelvideo pricing component.
Tweet media one
4
20
99
@lepikhinb
Boris Lepikhin
2 years
Not sure if this has been floating around recently, but @SteveTheBauman 's tweet reminded of another great way to manage dedicated query builders. Unlike scopes, both approaches give you a perfect autocompletion without any 3rd party packages or plugins.
Tweet media one
@ste_bau
Steve
2 years
A super cool, alternative approach to class based query scopes that I saw on Laravel GitHub issues by @kalpaperera , using The $query->tap() method ๐Ÿ”ฅ This allows you to keep your IDE type-hints ๐Ÿ™Œ
Tweet media one
21
82
428
5
28
95
@lepikhinb
Boris Lepikhin
1 year
Another great example of a nice hover effect using CSS ` @property ` and custom animations. This time from
4
7
88
@lepikhinb
Boris Lepikhin
10 months
Tailwind CSS accordions are mostly boring. Learn how to make an animated responsive collapsible with @VueUse . Check the code example:
1
7
90
@lepikhinb
Boris Lepikhin
4 years
Simple but handy snippet for all those GDPR-banners @alpinejs @calebporzio
Tweet media one
2
11
89
@lepikhinb
Boris Lepikhin
7 months
๐Ÿฅต I canโ€™t believe my own eyes, butโ€ฆ Lunar UI is now available for React! Create stunning landing pages using interactive components crafted with Tailwind CSS. Use the coupon GXMTMXNW to get $10 off. The coupon is valid for 15 purchases only.
7
6
90
@lepikhinb
Boris Lepikhin
1 year
Okay, following another @tailwindcss drama. This morning I came with a PoC of a Vite unplugin that does this insanity. It lets you decouple classes for different screens to separate attributes. Will never be released unless supported by the IDE extension and JIT compiler โ˜ ๏ธ
Tweet media one
10
5
89
@lepikhinb
Boris Lepikhin
8 months
I built a simple Tailwind CSS plugin to create grid patterns without any extra JS. Feel free to copy the code into your next project ๐Ÿ”ฅ Check the source code:
Tweet media one
3
4
88
@lepikhinb
Boris Lepikhin
10 months
What a wrap! Every great thing happened to me the last two years only became possible when I started publishing stuff and talking about things I love doing. I have moved to the US, made new friends, started making money I couldโ€™ve only dreamed of, and met my fiancรฉe ๐Ÿ’• Donโ€™tโ€ฆ
11
6
88
@lepikhinb
Boris Lepikhin
4 years
We are giving away 6 @invokerdev licenses! Enter now here: Double up your chances and share the tweet, 3 random RTs will get a license too! Invoker is a Laravel Eloquent client for macOS, Windows and Linux. Winner will be selected and announced April 12th
Tweet media one
12
111
83
@lepikhinb
Boris Lepikhin
3 years
@dan_abramov What still bugs me is how do people even code in their native language. Like Iโ€™d cringe all the time writing in Russian. Even though I know the meaning of the word โ€œPromiseโ€, the translational part of my brain just turns off when it comes to the code.
5
6
82
@lepikhinb
Boris Lepikhin
2 months
I heard y'all love rotating globes on landing pages? I just dropped a new Lunar UI component. Meet an interactive WebGL-powered globe ๐ŸŒŽ
8
1
79
@lepikhinb
Boris Lepikhin
2 years
I've been playing around Laravel Router tonight. RouteStack lets you define routes the fluent way, while still supporting route modifiers. IMO this brings a nicer syntax for `stacked` routes that rely on different controllers / actions. Worth PR-ing?
Tweet media one
7
8
80
@lepikhinb
Boris Lepikhin
10 months
Just made a set of cool loader/progress components for . These are only using Tailwind CSS with custom animations. Source code:
4
6
77
@lepikhinb
Boris Lepikhin
10 months
I've prepared the first set of navigation tabs for . Which one do you like the most? Going to drop these soon ๐Ÿคค
7
4
75
@lepikhinb
Boris Lepikhin
2 years
๐ŸŒด Meet Momentum Paginator โ€” a headless framework-agnostic wrapper around Laravel Pagination. The package helps you build reusable pagination components with a simple API.
3
13
72
@lepikhinb
Boris Lepikhin
2 months
Google is launching a new IDE called IDX, and I have a question. Do people even use Gulp today?
Tweet media one
21
0
74
@lepikhinb
Boris Lepikhin
6 years
Tweet media one
0
3
68
@lepikhinb
Boris Lepikhin
3 years
Starting every new project with this tiny route. The go-to one-liner for preparing @inertiajs views.
Tweet media one
0
7
73
@lepikhinb
Boris Lepikhin
7 months
With the recent design explorations, I discovered that you might get sexier gradients by mixing similar color shades from different Tailwind CSS color sets. `from-yellow-200 to-amber-400` `from-lime-200 to-green-400` Playground example:
Tweet media one
2
9
72
@lepikhinb
Boris Lepikhin
10 months
@jessarchercodes unveiling Laravel Prompts. Building console commands has never been easier ๐Ÿ”ฅ
Tweet media one
2
13
69
@lepikhinb
Boris Lepikhin
1 year
What's your current "production" workflow? I'm kinda obsessed with the whole pipeline going green ๐Ÿคค Here's my setup for both backend and frontend: - Pint - Larastan - Pest - TypeScript Transformer - Prettier - ESLint - TSC - Vite
6
3
68
@lepikhinb
Boris Lepikhin
10 months
Making the first batch of components shine ๐Ÿ’… Coming this summer!
3
4
65
@lepikhinb
Boris Lepikhin
3 years
โœจ I've just released a PHP client for the Fathom Analytics ( @usefathom ) API. The package is in *wip* mode as the API is still in early access.
6
14
66
@lepikhinb
Boris Lepikhin
3 years
Launch alert! In two weeks, I'm launching the app I've been working hard on since January. @useflipp is an API tool for automatic image generation with a powerful editor. ๐Ÿ“จ Join the waiting list and get notified when it's live.
7
11
65
@lepikhinb
Boris Lepikhin
1 year
To the personal news. 11 years since getting a DL, and I just got my first car โ˜ ๏ธ
Tweet media one
10
2
63
@lepikhinb
Boris Lepikhin
8 months
Lunar UI helps you create advanced effects for landing pages. It lets you built interactive headlines and whole feature blocks that react as users interact with elements or scroll through the page.
5
1
62
@lepikhinb
Boris Lepikhin
15 days
React 19 looks good! Y'all just gotta switch to Vue eventually, and start enjoying @VueUse composables and @nuxt_js DX.
1
2
61
@lepikhinb
Boris Lepikhin
7 months
I have a huge respect for DHH, but he's gradually becoming a king of bad takes. Should you ever care this much about performance optimization over productivity and development speed? React / Vue.js can save hundreds of hours on simple data bindings compared to pure JS. I'm notโ€ฆ
@dhh
DHH
7 months
HEY is running No Build JavaScript for the main app. Contrast the Lighthouse scores and the inbox vs imbox loads with Gmail. I think we're doing pretty alright with No Build, import maps, and a some ~100 individual JS files! We send 500kb of JS uncompressed vs Gmail's 10mb! ๐Ÿ˜„
Tweet media one
Tweet media two
59
76
1K
13
2
57
@lepikhinb
Boris Lepikhin
2 months
Avoid using global variables in JS. You can never be sure that the variable you are referring to is even present on the `window` object. ES6 modules are singletons, so whenever you import a module, you are always guaranteed to get the same instance.
Tweet media one
1
7
57
@lepikhinb
Boris Lepikhin
2 years
๐Ÿ’… Bringing the GOAT stack the toolkit it deserves, pt.2. Another package I'm working on โ€” a fully typed router for Laravel + Inertia apps.
4
2
57
@lepikhinb
Boris Lepikhin
4 months
Just came across this gem in one of my older projects. Thank me later ๐Ÿ˜„
Tweet media one
1
5
57
@lepikhinb
Boris Lepikhin
3 years
๐Ÿ‘€
Tweet media one
Tweet media two
3
1
55
@lepikhinb
Boris Lepikhin
3 months
โœจ Introducing Star Grid โ€“ an animated dotted grid of glowing stars built with @tailwindcss . Available for @reactjs and @vuejs . โœ… Copy and paste component โœ… Fully customizable look โœ… Ready for Next.js and Nuxt Link in the next tweet ๐Ÿ‘‡๐Ÿป
3
4
55
@lepikhinb
Boris Lepikhin
2 months
โœจ Just dropped Sparkles โ€“ a new FREE component. Add animated floating particles to your landing page as simple as `<Sparkles />`. Available for React and Vue.js. Link in the next post.
5
2
54
@lepikhinb
Boris Lepikhin
2 years
You can significantly improve your Inertia workflow without writing types manually. Hereโ€™s an example of a simple frontend state manager for Laravel, which helps you structure common data and access global page props from a frontend with a neat syntax highlighting.
5
2
54
@lepikhinb
Boris Lepikhin
10 months
Making progress on more interactive components for
1
2
54
@lepikhinb
Boris Lepikhin
3 months
Livewire is simple yet robust way for primarily backend devs to dive into full-stack development without much tradeoffs. React, Vue.js and Svelte still feel like the best way to build a feature-rich frontend, and Inertia.js is the best protocol out there to connect parts.
@taylorotwell
Taylor Otwell โ˜๏ธ ๐Ÿฆน
10 months
It's come up a few times lately so I want to clarify something regarding Livewire "vs." Inertia - and a few things about Inertia in general. Comparing Livewire to Inertia doesn't make sense. You should compare Livewire to Vue or React. Why? Inertia isn't a frontend framework.โ€ฆ
56
191
1K
5
0
53
@lepikhinb
Boris Lepikhin
3 years
Could you ever imagine a video editor built with Laravel? Oh, well ๐Ÿ˜ Making progress on bringing advanced editor to @reelvideo . Gonna be lit ๐Ÿ”ฅ
Tweet media one
3
9
52
@lepikhinb
Boris Lepikhin
3 months
โœจ Advanced Inertia just got an update! The source code of the example project includes the following changes: - Vue 3.4 + Vite 5 - Frontend code cleanup - Vue 3.4 specific features, including `defineModel` - Generic-powered select components Find the discount below ๐Ÿ‘‡๐Ÿป
1
9
52
@lepikhinb
Boris Lepikhin
1 year
Vue 3.3 is out now! The release introduces several important DX features and improvements. Read more about the update.
2
6
53
@lepikhinb
Boris Lepikhin
3 years
Just published a simple introduction guide to TypeScript for Laravel developers. Reasons to switch to TypeScript: โœ… Strict types โœ… Autocompletion โœ… Static analysis โœ… Shallow learning curve. Switch in a minute. Reasons to not to: ๐Ÿคทโ€โ™‚๏ธ
@laravelnews
Laravel News
3 years
Typescript with Laravel posted by @lepikhinb
1
14
53
4
13
53
@lepikhinb
Boris Lepikhin
2 years
Bringing a full stack experience to @inertiajs apps. You don't need to know TypeScript to benefit from it. Just played around a @laravelphp localization driver for JS frontend. It translates locale files into typed definitions, and brings full IDE autocompletion and type safety.
4
4
52
@lepikhinb
Boris Lepikhin
1 year
I just published an update to Advanced Inertia, which includes: - Error handling - Persistent layouts - SSR setup in the demo app The update is available for existing customers free of charge. Follow the link from the confirmation email to download.
3
1
50