Inspiration
The inspiration came directly from the hackathon's brief: "originality is illegal and creativity is criminal." I thought, what's the most shameless, blatant "theft" I can pull off? Instead of stealing one project, why not build a tool that lets everyone steal the style from any website?
This project is a direct answer to the "remix culture" prompt. It's a celebration of "theft, but with taste," turning the entire web into a canvas for chaotic, playful vandalism.
What it does
Steal.css is a tool for "innovation laundering." It lets you perform a visual heist on any website.
- You "steal" a URL: Paste any live URL into the tool.
- You "flip" it: Choose your "Chaos Mode" ("Mild" or "Max") to instantly vandalize the site's CSS with new fonts, glitched-out animations, and inverted colors.
- You "ship" it: You can take a pixel-perfect screenshot of your crime and hang it on the "Stolen Styles" Gallery—a persistent, public wall of shame (or fame) for all to see.
It's a meme-generation factory, and I'm gunning for that Meme Heist Award.
How I built it
This heist required some serious tools. The entire project is built on a Node.js/Express server, containerized with Docker.
- The "Crowbar": I use Puppeteer as my digital crowbar. It launches a headless browser to "steal" the HTML and CSS from the target site. I use Cheerio to inject the vandalized styles for the
iframepreview. - The "Forger": To get pixel-perfect screenshots of the "Max Chaos" mode (with all its
filterand@keyframeanimations), a client-side solution was too weak. So I built a server-side forger, again using Puppeteer, to create a perfect "Master Forgery" of the vandalized page. - The "Vault": All "stolen" screenshots are saved as Base64 strings in a MongoDB Atlas database, making the entire app stateless and scalable.
Challenges I ran into
The "cops" (Vercel's deployment limits) were on my tail the entire time.
- The Serverless Trap: My first attempt was serverless. It failed immediately. Puppeteer is a resource-hungry beast, and the Vercel environment was missing critical system libraries (that cursed
libnss3.soerror). - The Getaway Car: The only way to escape was to build my own getaway car. I had to learn and write a full Dockerfile from scratch, bundling all of Node.js, all the system libraries for Chromium, and my app code into one self-contained unit. This fixed all the errors and was a massive breakthrough.
Accomplishments that I'm proud of
I'm incredibly proud of pulling off what I call the "Grand Heist Architect" move: successfully containerizing a heavy-duty Puppeteer application. Diagnosing the libnss3.so error and realizing that Docker was the only answer was a huge "a-ha!" moment.
I didn't just build a simple app; I built a robust, deployable system that can reliably perform this heist over and over.
What I learned
This hackathon's tagline is "Good artists copy. Great hackers steal, make it awesome and ship." I learned the "make it awesome and ship" part is the hardest—and most important.
I learned that the "right" tech stack isn't just about what's cool; it's about what works for your specific, chaotic goal. In this case, Docker wasn't a "nice to have"; it was the only way to get the job done.
What's next for Steal CSS
The heist isn't over.
- More Chaos Modes: I want to add new, themed vandalism modes ("90s GeoCities Mode," "Broken CRT Monitor Mode").
- User "Safes": Allow users to create accounts and build their own private galleries of "stolen" goods.
- "Robin Hood Recognition": I want to add a "Readability" mode that steals a site's content and re-styles it to be hyper-accessible, flipping the "theft" into something genuinely useful.
Log in or sign up for Devpost to join the conversation.