Scope creep on the background-transparent proof of concept: German Glasses.
Put the window on top of German text and it overlays a mostly-working English translation.
PaddleOCR Chrome Translator API, all client side and free. The web is incredible.
Try it yourself: backgroundtransparent.vercel… (you need to share the full screen the browser window is on)
Inspired by @mausmoto's ShaderGlass, I wanted something like that for the web!
Liquid Diamond is by @shuding of course, who got me into shaders recently.
I've been enjoying making star trail photos. I built a small tool to help combine the images with configurable fading tails. github.com/javierbyte/star-t…
This unlocks a lot. Faster onboarding for developer products. Delightful Marketplace integrations. Letting users own and pay for resources.
Try v0nanobananapro.vercel.app (which I used to generate this image). Sign in with Vercel and AI tokens will flow from your account!
Sign in with Vercel is now generally available.
Add Vercel as a sign-in method to your apps with OAuth OpenID.
Try the example app and start building.
vercel.com/changelog/sign-in…
Inspired by this exploration x.com/raunofreiberg/status/1… by @raunofreiberg
I used Depth Anything V2 to create depth maps of my photos depth-anything-v2.github.io/
I wanted to use CSS filters to a single depth map, but instead end up slicing it with canvas in the client. Other than that, the technique is the same as my depth of field demo and the original frosted glass demo by @shuding.
Code is here github.com/javierbyte/depth-… that is now a turborepo with both demos.
Video of it in action.
I think three layers are enough for the effect to be convincing. I had to do some tricks to minimize the usual issues of this approach: the blurred layer leaking behind the in-focus area and the focused layer creating weird sharp edges. I'll expand more if there is interest; the repo is linked in the demo.
Prototyping something to share Duolingo progress with friends.
This one uses a local Puppeteer to screenshot the learning path and upload the blob, no need to rebuild the path UI (for now).
New blog post: extracting motion from videos using CSS javier.xyz/blog/motion-extra…
The trick is simple: play two videos on top of each other, with one playing slightly ahead. Then, apply `mix-blend-mode: difference` to the video on top.
Streaming emojis is interesting because you get to glimpse some of their components.
I also like how easy it is to visualize this with Javascript:
[..."👩🏭"] // ['👩', '', '🏭']