Show HN: I reverse engineered top websites to build an animated UI library

156 armedin 102 4/24/2025, 5:47:09 PM reverseui.com ↗
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

Comments (102)

Mystery-Machine · 6d ago
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 · 6d ago
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.
jwilber · 6d ago
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 · 6d ago
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 · 5d ago
> Just pure design and engineering effort

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

sampullman · 6d ago
Which model can recreate complex animations from a screenshot? That would be incredibly impressive.
jwilber · 6d ago
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 · 5d ago
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.
abxyz · 5d ago
I would (and do) pay for this type of UI library. Especially in design, everyone is inspired by everyone else, taking inspiration and ideas from elsewhere is normal... but branding this as "reverse engineered" makes it sound stolen. From the comments, it seems like you're actually just inspired by the work of others, as you've apparently written the code from the ground up, which means you're talented and capable. You should change the branding. Even a name change to something as simple as "Inspired UI" would be a meaningful improvement. I'd like to buy this but I'm not paying for stolen code, and as it's branded now, it seems like stolen code, and I'd have no plausible deniability if it turns out to be stolen code.
morcus · 5d ago
+1 to this, my first impression before I read this comment was wondering about the legally of using these components.
armedin · 5d ago
Honestly I came up with the name pretty quickly without really thinking about how it would sound to the end user. Definitely something I'll rethink; appreciate you pointing it out.
PStamatiou · 6d ago
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 · 5d ago
And the "taskbar" at the bottom too!
armedin · 5d ago
Yep, although I'm seeing the "Dock" more and more being used in recent websites
armedin · 5d ago
Yep, I'm glad you noticed! There are bits and pieces from different sites grouped together
naavis · 6d ago
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 · 6d ago
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 · 6d ago
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
ivanjermakov · 5d ago
> It's a tradeoff between looking cool and being performant

Can't disagree more. You can almost always have both, performance optimization is a thing.

armedin · 5d ago
True — good optimization can get you both. It used to be way less performance, I already tried to optimise (at least until my machine was running it fine), but it seems like there's still much more that can be done
hsshhshshjk · 5d ago
Are these components only tested in chrome?
sdoering · 5d ago
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 · 5d ago
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 · 5d ago
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 · 5d ago
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.
armedin · 5d ago
Thanks for the advice, I'll look into that
matsz · 5d ago
> Her Majesty's Revenue & Customs

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

sdoering · 2d ago
Yeah - you are right. I still think of "The Queen". Still not being used to the Brits now having a King again.
armedin · 5d ago
Thanks for pointing out the regulations part, I didn't realise I was giving that kind of impression. To be honest, it's my first time doing something like this, and I'm going to take the necessary steps as things grow.
frabia · 5d ago
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.
armedin · 5d ago
Actually the initial plan was for this to be a course of demonstrating how to build these components. Perhaps if there's enough demand, I might consider that. And I get that not everyone will agree with the approach, but I’m trying to be respectful about it.
ZachSaucier · 5d ago
There are other, similar sites which do this. One example: https://madewithgsap.com/
pompeii · 5d ago
I thought I was going to get the code, like the raw code, because I want to modify some styles/components. Instead, I received the component, and I can't make modifications. For example, the "DataFeedingIn" component; I want to be able to change the design, but I received the component without much capability for modification.

i pay $50 for nothing :(

armedin · 5d ago
Did you not receive the Github invitation? If not, please go to the profile and enter your github username to send an invitation.

There are 3-4 components which haven't been synced yet (cannot copy the raw code from the site), one being DataFeedingIn component. You can still access the code through Github.

vintagedave · 5d ago
This is really impressive. As a portfolio alone, wow -- as a component set, fantastic.

Are these easy to include in Astro? I'd think so (avoiding React etc.) I am currently building with Astro and keeping things as minimal in terms of additional JS files etc as possible.

Couple of notes / questions:

* https://reverseui.com/craft/text-blur-reveal has 'coming soon' from last October, and it's really cool, I'd be tempted to buy it for this alone

* The top of your site has what looks like the dot logo component, but showing numbers and with a Matrix-like effect. Can that be a component too?

* How customisable are these? I saw one comment saying they were not at all and the code was not modifiable. That's a deal-breaker: we all want our own spin on things, not to copy blindly.

armedin · 5d ago
I'm delighted to hear you like the library! The 'coming soon' components mean they haven't been packaged yet, and specifically the text-blur-reveal is tricky to do. You can, however, access the raw code on GitHub. Essentially you have 2 ways, either via the npm package, or copying the raw code. There are more components coming, one being the Matrix-like effect. I haven't worked with Astro before, so cannot give an input on that.
lovegrenoble · 5d ago
What about licensing? As you sell them...
badmonster · 5d ago
had same question
armedin · 5d ago
Every modern website has similar UI patterns. This is no different. All the code is originally written from scratch. You can’t copyright style, ideas, layouts, or vibes.
shakna · 5d ago
Clean room implementation? Sure.

But specifically "reverse engineered"? There is liability there.

ziftface · 6d ago
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 · 6d ago
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.
VoidWhisperer · 5d ago
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

armedin · 5d ago
That's a great question. Right now, the components serve more as fancy decoration. But making the whole library more a11y-friendly is something I plan to do.
kmoser · 6d ago
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).

armedin · 5d ago
Thanks for the feedback. I totally agree with you. I will revisit this part and try to make it more intuitive
self_awareness · 5d ago
I don't see any relation with "reverse-engineering". It's just a bunch of animated widgets that look like on other sites.
morteify · 6d ago
The Caesar Cipher component is displaying incorrectly in Safari. Its elements are positioned off-center. It works fine in Chrome and Firefox.
armedin · 6d ago
Thanks for pointing it out! I'll fix it.
hexo · 6d ago
"Animated UI" is show stopper.
zem · 6d ago
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 · 5d ago
haha so true! Apparently it was meant in the bad way
armedin · 6d ago
Thank you! That's exactly the vibe I was aiming for.
hexo · 5d ago
What vibe? Making people feel sick?
zacksiri · 6d ago
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.

croes · 6d ago
He reverse engineered them, so the look was done by somebody else
armedin · 5d ago
yep, not trying to ignore that. It's all written in the title, and where the inspirations are taken from are in each component page.
armedin · 5d ago
Thank you very much! Would love to have you onboard whenever you're ready.
Abishek_Muthian · 6d ago
Is there any equivalent for non-react hypermedia focused websites?
caseyy · 6d ago
I love that the glowing orb is a component. Many websites could use an orb.
armedin · 6d ago
hehe that's one of my favourites as well. You have good taste :)
ajjenkins · 6d ago
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.
armedin · 5d ago
Cheers! If there's enough demand for it, I could consider adapting
bflesch · 6d ago
Thanks for sharing, it looks very good. Unfortunately on my system it has very low fps due to software rendering.
armedin · 6d ago
Thank you! What system are you running it on?
bflesch · 5d ago
chromium on linux with amd ryzen and 4k display, but no graphic cards drivers
replwoacause · 6d ago
Nice job. Not a fan of react myself, pretty allergic to it actually, but these look nice.
armedin · 5d ago
Thank you!
mediumsmart · 6d ago
Let me compensate you for the wait and the battery drain with some pretty animations.
freetonik · 6d ago
The quality is very impressive! Congrats on the launch.
armedin · 6d ago
Thank you, appreciate it!
zeroq · 6d ago
[flagged]
random42 · 6d ago
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 · 5d ago
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.

random42 · 5d ago
They are not "ripping" off other's work. The animations are created by the OP. There is nothing wrong in getting inspired by great ideas.

lol, Do you believe every idea you have is entirely original? Also, whats with the hell speak? grow up.

sdoering · 2d ago
Because someone who clearly violates even the most basic rules of doing business in the UK is trustworthy to "do it all by themselves" just because they say so. Because they clearly show a respect for the rules society put in place.
armedin · 5d ago
Grateful for the support! Just trying to build, learn, and put something useful out there.
handfuloflight · 6d ago
Absolutely beautiful set here. I'd pay for à la carte.
armedin · 6d ago
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 · 6d ago
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 · 6d ago
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.
badmonster · 5d ago
is this open sourced?
toddmorey · 6d ago

  "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 · 6d ago
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_ · 6d ago
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 · 5d ago
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 · 5d ago
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.

armedin · 5d ago
Haha, I'd honestly love to see a ReverseReverseUI. Appreciate the thoughtful words
Fokamul · 6d ago
Web would be a better place without UI animations.
EvanAnderson · 6d ago
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 · 6d ago
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 · 6d ago
EvanAnderson · 5d ago
I wish this setting was better-resoected. On Windows PCs, at least. I do not find that Chrome or CrEdge behave significantly differently when my OS settings telegraph my desire for reduced motion.
Griever · 6d ago
Personally I don’t mind them and sometimes find them quite tasteful. Fortunately a lot respect ‘prefers-reduced-motion’ these days.
armedin · 5d ago
That's something I have on my backlog
armedin · 6d ago
The early 2000s was the golden era of web.
gherkinnn · 5d ago
My $formative_years were the golden age of $thing
whatnow37373 · 5d ago
I'll just conclude this process by positing my contribution:

$instance_of_some_witty_template

iamsaitam · 5d ago
Why stop there? Just make everything static everywhere. /s
lnenad · 5d ago
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.

armedin · 5d ago
Exactly. Not everything has to match everyone's personal taste, and that's totally fine.