Remix.run Logo
Show HN: I reverse engineered top websites to build an animated UI library(reverseui.com)
128 points by armedin 16 hours ago | 65 comments

Looking at websites such as Clerk, I began thinking that design engineers might be some kind of wizards. I wanted to understand how they do it, so I started reverse-engineering their components out of curiosity. One thing led to another, and I ended up building a small library of reusable, animated components based on what I found. The library is built in React and Framer Motion. I’d love to hear your feedback

toddmorey 14 hours ago | parent | next [-]

  "reverse-engineering their components out of curiosity" - Fantastic
  sharing your learnings with the community - Fantastic
  Attempting to make subscription money off the clones - Not so fantastic
Sorry... something about that last bit just really hit me wrong. Like when people make a paid Minecraft Tips "App" that's just content scraped from the web.
armedin 14 hours ago | parent | next [-]

Yep, totally fair point and I get the skepticism. Just to be clear, some components are inspired, and some are also patterns and ideas I created myself along the way. There's a lot of work behind the scenes: recreating animations, building variants, styling, packaging for NPM etc. (the code is written using MUI, so it's all original). I'm trying to bring that level of polish to a wider set of devs who may not have the time to build it all from scratch, and I'm giving credits to the original inspirations where due.

Appreciate the feedback though; it's a valid concern.

uncomplexity_ 10 hours ago | parent | prev | next [-]

why, what's wrong with it?

on the minecraft tips app, you are paying money for something that saves you time.

on this one, you are paying for the same thing here, unless you wanna reimplement it by your own.

and there are lots of avenues to have an edge, such as support for other framework / libraries, better / more efficient implementation, more configurability / control on possible variants.

please don't shoot down people on their attempts to make a living on their efforts.

brulard an hour ago | parent [-]

Exactly. Some people feel entitled to get everything for free. It's obvious a lot of effort went into building these. If someone does not see the value, no one forces him to pay.

rtrgrd 2 hours ago | parent | prev [-]

Light joke/jab - if it was trivial to scrape and steal components from websites and resell them, surely someone will make a free reversereverseui component library

Jokes aside, I do think the OP does deserve credit for at least putting in the effort to reimplement ideas on the web even if the design ideas aren't theirs.

PStamatiou 6 hours ago | parent | prev | next [-]

Some of the site definitely looks Rauno-inspired, the back button on a component detail view even says "< Craft" like on his site: https://rauno.me/craft https://rauno.me/craft/interaction-design

chaychoong 3 hours ago | parent [-]

And the "taskbar" at the bottom too!

frabia an hour ago | parent | prev | next [-]

Lot of people sell similar components (or give them for free), but what I would really be interested in is a course how to make them (properly, e.g. with a11y and performance considerations). Especially in your case, since you are basically selling somebody else's work (the original design), which is a shitty thing to do. You could monetise this in a much more ethical way.

sdoering 3 hours ago | parent | prev | next [-]

Ah yes, the classic "reverse engineering" (read: blatant design theft) turned into a quick profit scheme. Peak entrepreneurship.

Their X profile proudly displays "UK-based" while conveniently ignoring basic UK business regulations: no company information, no proper invoicing, no VAT details for B2B sales, and mysteriously missing business address requirements.

Looks suspiciously like someone running an under-the-table operation, courting legal trouble not just from the original designers they're "inspired by," but from Her Majesty's Revenue & Customs who tend to take a rather dim view of tax avoidance.

davethedevguy 3 hours ago | parent | next [-]

I agree with most of what you said, but just want to clarify for others that VAT registration is optional until revenue is high enough to reach the threshold.

Not being VAT registered when starting out is not necessarily a sign of a tax dodge.

makingstuffs an hour ago | parent [-]

This is correct. You do not need to register a business for VAT in the UK unless you hit a specific threshold of income (I think £80k was the figure when I last checked)

crmi 3 hours ago | parent | prev | next [-]

These are not required for self employed (nor is VAT registration up until certain revenue, as gp points out). However given nature of business and potential liability, seems LTD company should be the route to take.

matsz 3 hours ago | parent | prev [-]

> Her Majesty's Revenue & Customs

Nitpick: the "H" in HMRC stands for "His", since it always changes to match the current monarch.

Fokamul 12 hours ago | parent | prev | next [-]

Web would be a better place without UI animations.

Griever 9 hours ago | parent | next [-]

Personally I don’t mind them and sometimes find them quite tasteful. Fortunately a lot respect ‘prefers-reduced-motion’ these days.

EvanAnderson 9 hours ago | parent | prev | next [-]

I agree with you so much.

UI animations and needless "glitz" is inconsiderate of low-vision users, users who might have poor technical skills and who rely on UI consistency to accomplish tasks, users with low-spec hardware, users who are forced to use remote framebuffer protocols over low bandwidth connections, and of the environment (by way of increased processing power and electricity required).

mycall 8 hours ago | parent [-]

What if the "glitz" was optional and low-vision or low technical users could have a browser setting to de-glitz their UX? That way everyone wins.

dgellow 7 hours ago | parent [-]

https://developer.mozilla.org/en-US/docs/Web/CSS/@media/pref...

armedin 12 hours ago | parent | prev | next [-]

The early 2000s was the golden era of web.

iamsaitam 2 hours ago | parent | prev [-]

Why stop there? Just make everything static everywhere. /s

lnenad an hour ago | parent [-]

Yeah. I don't know why people project their taste as the penultimate version of x.

The trend is there because the majority of humans obviously enjoys moving pixels. If you don't you just need to accept it.

naavis 14 hours ago | parent | prev | next [-]

Looks cool, but the site is very heavy! I have an RTX 3070 GPU, and GPU usage went shot to 70% when I opened this website on Firefox.

FrancoisBosun 6 hours ago | parent | next [-]

I use an older iPad and the page crashed so hard the Home button didn’t do anything for about 30 seconds. The iPad eventually turned off, because I had pressed the power button, to no avail, a couple of times.

armedin 14 hours ago | parent | prev [-]

Thank you! To be fair, there's plenty of room for optimisation. I have only tested on an M1 on Chrome. It's a tradeoff between looking cool and being performant

lovegrenoble 4 hours ago | parent | prev | next [-]

What about licensing? As you sell them...

badmonster 3 hours ago | parent [-]

had same question

VoidWhisperer 3 hours ago | parent | prev | next [-]

How are these components from an accessibility perspective? i.e. does the dots logo work with screen readers?

Fancy animations is all well and good until you start making the website unusable for people who need screen readers, etc

kmoser 7 hours ago | parent | prev | next [-]

Took me a bit to figure out what the four circular icons on the bottom are for (magic wand, robot, envelope, crescent moon). I really wish they had tooltips.

Still doesn't make sense to me why the magic wand just points to the home page (I would have assumed it meant "edit this UI component), the robot links to a profile page (mine? requires login so didn't try), the envelope points to x.com (I expected an envelope for "email this to a friend"), and the crescent moon toggles between light/dark mode (obvious only in retrospect).

ziftface 13 hours ago | parent | prev | next [-]

Would love if the site had some more information about how the components are implemented, eg does it use tailwind so they're easily modifiable, is there a light mode and a dark mode for each, can you update the animations to fit your needs, etc. They look good though!

armedin 13 hours ago | parent [-]

Shoot, I forgot to add the FAQ section. Thank you! The components are built with Framer Motion and MUI (just for the sx prop). You will have access to the raw code, github repo and the npm package. If the component needs to be modified heavily, you can use the raw code. There's still more work that needs to be done to handle the full customisation via the npm package. I didn't use tailwind strictly because existing solutions all tend to use tailwind and shadcn, leaving other developers who don't use tailwind with not many options.

Mystery-Machine 10 hours ago | parent | prev | next [-]

The components looks really cool! However, you're using dark pattern by tricking the user with "Login to access the code" button. After I've gone through the process of signing up and logged in, I still couldn't access the component code. The same button then said "Unlock the code". Clicking on the button takes you to the Pricing page where you can pay $50 to see the component code. That's a dark pattern.

armedin 8 hours ago | parent [-]

I appreciate you pointing that out. That’s not quite the experience I intended. The “Login to access the code” button should’ve been clearer upfront about requiring a purchase. I assumed the CTA button in the landing page would send that message. I'm planning to add FREE components as the library grows, so this is something I will revisit again.

zacksiri 6 hours ago | parent | prev | next [-]

This is fantastic work! They look beautiful. I hope you make lots of money from them because I know it's a lot of work. I'll be a customer in the near future for sure.

- React - check

- Framer Motion - check

This hit the spot for me.

Abishek_Muthian 4 hours ago | parent | next [-]

Is there any equivalent for non-react hypermedia focused websites?

croes 5 hours ago | parent | prev [-]

He reverse engineered them, so the look was done by somebody else

jwilber 11 hours ago | parent | prev | next [-]

This is just selling components someone else wrote, right?

Five years ago I could understand the appeal and appreciate the effort required. Today, it’s a matter of seeing others work, taking a screenshot, asking ai to recreate it, and then packaging it into a “library” and selling it for $50.

Maybe I’m alone in the sentiment, but it just rubs me the wrong way.

armedin 8 hours ago | parent | next [-]

AI isn’t quite at the point where it can recreate high-quality UI components just from a screenshot. Everything in this library was built by hand — no AI, no copied code. Just pure design and engineering effort. There’s a lot of work you don’t see on the surface.

sdoering 3 hours ago | parent [-]

> Just pure design and engineering effort

Made my day. At least they have guts. I give them that.

sampullman 7 hours ago | parent | prev [-]

Which model can recreate complex animations from a screenshot? That would be incredibly impressive.

jwilber 5 hours ago | parent [-]

Any leading model. Ask it to generate the ui from the screenshot. Follow up and describe the required animations, and it will give you the css/js. Do it all the time.

sampullman 3 hours ago | parent [-]

Oh, I see. I haven't had much luck generating UI from screenshots, but describing an UI (or animations) clearly does usually get me 75% or more of the way there. I thought I might have been missing something critical.

morteify 12 hours ago | parent | prev | next [-]

The Caesar Cipher component is displaying incorrectly in Safari. Its elements are positioned off-center. It works fine in Chrome and Firefox.

armedin 12 hours ago | parent [-]

Thanks for pointing it out! I'll fix it.

ajjenkins 6 hours ago | parent | prev | next [-]

Components look great. I would pay for these if I needed one of them for a project. It would be great if they worked in React Native too.

hexo 11 hours ago | parent | prev | next [-]

"Animated UI" is show stopper.

zem 7 hours ago | parent | next [-]

i love how that has a double meaning of "something so great everyone stops to applaud" and "something so bad the show cannot proceed". (and i'm amused that i cannot tell which one you mean here; ui animations are very polarising!)

armedin 9 hours ago | parent | prev [-]

Thank you! That's exactly the vibe I was aiming for.

hexo an hour ago | parent [-]

What vibe? Making people feel sick?

replwoacause 6 hours ago | parent | prev | next [-]

Nice job. Not a fan of react myself, pretty allergic to it actually, but these look nice.

mediumsmart 6 hours ago | parent | prev | next [-]

Let me compensate you for the wait and the battery drain with some pretty animations.

caseyy 13 hours ago | parent | prev | next [-]

I love that the glowing orb is a component. Many websites could use an orb.

armedin 13 hours ago | parent [-]

hehe that's one of my favourites as well. You have good taste :)

bflesch 15 hours ago | parent | prev | next [-]

Thanks for sharing, it looks very good. Unfortunately on my system it has very low fps due to software rendering.

armedin 14 hours ago | parent [-]

Thank you! What system are you running it on?

zeroq 9 hours ago | parent | prev | next [-]

This looks like an AI generated project with a very little effort put into polishing what came out.

I mean, if you find people willing to pay you money then great, good for you. But I don't see anything I wouldn't be able to find on sites like css tricks or tympanus for free.

And I don't even know what I'm paying for, there are no real examples on the page.

But I'll put it in my bookmarks. As soon as you have more components, and I'll find some spare time, I'm willing to give it a try and launch reverse-reverse-ui.com with all components available for free.

random42 9 hours ago | parent [-]

It’s such a hateful and mean comment. OP, please ignore this.

If you want to spend time building your own library, like OP has , and release it , god speed — that is if you can. In the meanwhile, OP actually spent energy to build and launch something, which is commendable.

sdoering 3 hours ago | parent [-]

What is hateful about clearly stating that the original "creator" is just ripping off other peoples hard work?

I do not believe in an afterlife, but if I did, I would hope that there is a special place in hell for people like that.

badmonster 3 hours ago | parent | prev | next [-]

is this open sourced?

self_awareness 2 hours ago | parent | prev | next [-]

I don't see any relation with "reverse-engineering". It's just a bunch of animated widgets that look like on other sites.

freetonik 14 hours ago | parent | prev | next [-]

The quality is very impressive! Congrats on the launch.

armedin 14 hours ago | parent [-]

Thank you, appreciate it!

handfuloflight 13 hours ago | parent | prev [-]

Absolutely beautiful set here. I'd pay for à la carte.

armedin 12 hours ago | parent [-]

Appreciate it! À la carte is something I've thought about, but wouldn't work for this case. Feel free to reach me out on X

handfuloflight 10 hours ago | parent [-]

Is it just due to the sheer effort of implementing individual billing and fulfillment per component? If that's why, then I'll just buy the whole thing.

armedin 9 hours ago | parent [-]

Appreciate the support! Yeah, it’s mostly the overhead of billing and managing access per component. If the library gets big enough and there's more demand for à la carte, I’d definitely consider revisiting it. Just keeping things simple for now so I can keep building.