Inspiration

  • Scrolling insta and getting tired of the same abg thirst trap posts, and whats better than abgs? THE ONE AND ONLY GOAT LEBRON JAMES, LEDADDY, LEGOAT.
  • This awesome google extension, LeReplacer, will transform EVERY image on your page into LEGOAT face.
  • NO MORE ABGS, NO MORE THIRST TRAP, PURE GOAT!!
  • Now you can see LeBron everywhere, making the internet 67% better.

What it does

  • Scans all images on a page using Chrome's face detector api.
  • Works on dynamic pages: uses a MutationObserver to catch content added by infinite scroll and lazy-loading.
  • Replaces all images with faces detecting with a new image featuring a canvas overlay of LeBron's face on the detected face area.
  • Secondary feature called fade to LeBron, fades all images on the screen to a photo of LeBron so you can only see LeGoat no matter where you go.
  • Connected to a twitter bot https://x.com/Lebronsmygoat_ so that you can post about how many LeBron's you've seen, autogenerates caption with gemini, auto posts with the twitter api, etc.
  • Secondary feature mini game which allows you to use your camera and hands to play with a small lebron. Currently has two modes, pet and the other one you need to try out yourself.

How we built it

  • A lot of blood sweat and tears.
  • Built using javascript, html, css, node.js

Challenges we ran into

  • Lot of merge conflicts
  • Had to pivot away from our original idea due image to image generation not working.
  • LeBrons face swap just did not want to work
  • The Twitter API is buns

Accomplishments that we're proud of

  • Considering the fact that we had to pivot halfway through the

What we learned

  • Experimental browser APIs need graceful degradation and lots of observability.
  • Treat local services like prod: health endpoints, structured logs, defensive error messages.
  • OAuth is easier when you automate every manual step—scripts and token stores saved the project.
  • UI polish matters; having a cohesive Le theme sold the joke and kept testers engaged.
  • Strong separation between extension layers simplifies debugging when something breaks.

What's next for LeReplacer

  • Make it work for videos.
  • Smarter face tagging (detect public figures vs. friends, custom overlays).
  • Scheduled meme drops, multi-account posting, and a shared API/CLI for other bots.
  • Port extension to Firefox and package a hosted caption service for remote use.
  • Let users upload their own ragebait persona packs and share LeBron overlays with friends.
  • Explore lightweight ML on-device to reduce reliance on experimental APIs while keeping performance high.

Built With

Share this project:

Updates