"Just because you can, doesn't mean you should. But here we are." - Every developer on this project
A groundbreaking 3D visualization that answers the age-old question: "What if we used cutting-edge web technologies to render poop?" This masterpiece pushes the boundaries of what's socially acceptable in software engineering.
In a world full of productivity apps, social networks, and life-changing software, we asked ourselves: "What does humanity really need?" The answer was obvious. A meticulously crafted, scientifically accurate, high-performance turd simulator.
- ๐จ Artisanal Craftsmanship: Each pile is procedurally generated with love, care, and questionable life choices
- ๐ช๏ธ Realistic Physics: Watch in awe as our creation obeys the laws of gravity (because even virtual poop can't escape physics)
- ๐ฎ Interactive Controls: Rotate, zoom, and contemplate your life decisions in full 3D
- ๐ Dynamic Lighting: Because if you're going to render excrement, it might as well be beautifully lit
- ๐งช Scientifically Accurate: Based on extensive research we definitely didn't make up
- ๐ฑ Responsive Design: Looks like shit on every device! (That's the point)
- โฟ Accessible: Everyone deserves equal access to digital dung
- React 19.1 - Because even poop needs a modern framework
- Three.js 0.177 - Making shit look good since 2010
- TypeScript 5.8 - Type-safe turds
- Vite 6.3 - Building shit faster than ever
- Vitest - Testing our crap so you don't have to
- ESLint & Prettier - Even poop code should be clean
- Question your life choices:
echo "What am I doing with my life?"
- Clone this monument to human achievement:
git clone https://github.com/champi-dev/shit.git
cd shit
- Install dependencies (and lose a bit of your soul):
npm install
- Start the development server:
npm run dev
- Open
http://localhost:5173
and witness glory
We maintain 88% test coverage because perfection is overrated:
npm test # Run tests
npm run test:coverage # See how well we've tested this crap
Because some things in life shouldn't be tested. Also, testing WebGL in Node.js is harder than explaining this project to your parents.
npm i -g vercel
vercel
When Vercel asks "What's your project about?", just say "3D visualization" and change the subject.
npm run build
Then upload the dist
folder to any static host that's willing to accept it.
shit/
โโโ src/
โ โโโ components/
โ โ โโโ DogWasteVisualization.tsx # The star of the show
โ โ โโโ *.test.tsx # Proof we're professionals
โ โโโ test/
โ โ โโโ setup.ts # WebGL mocks and tears
โ โโโ App.tsx # The app that started it all
โโโ public/ # Empty, like our souls
โโโ CONTRIBUTING.md # For fellow masochists
โโโ README.md # You are here
Our proprietary P.O.O.P. algorithm (Procedurally Optimized Organic Piles) generates:
- 2.5 Spiral Rotations: The golden ratio of turd topology
- Variable Radius: From 0.3 units (thicc) to 0.1 units (tapered perfection)
- Organic Wobbles: Because nature isn't perfect, and neither is our code
- Realistic Bulges: Stop giggling, this is science
- Primary Palette: #5D4037 (Mahogany Mistake)
- Shadow Tones: #3E2723 (Regretful Brown)
- Highlight Variations: #6D4C41 (Questioning Umber)
- Surface Properties:
- Roughness: 0.6 (Like sandpaper, but worse)
- Metalness: 0.05 (Slightly shiny, deeply disturbing)
- Clearcoat: 0.3 (That fresh, wet look nobody asked for)
Because if you're going to render poop, render it at 60 FPS:
- Geometry cached with
useMemo
(remember the shit, don't rebuild it) - Efficient vertex generation (every vertex counts)
- Shadow mapping (even poop casts shadows)
- Proper Three.js disposal (clean up after yourself)
Found a bug? Want to add features? Questioning your sanity? Perfect! Check out CONTRIBUTING.md for guidelines on making this project even shittier.
git checkout -b feature/corn-kernel-mode
# Make your "improvements"
git commit -m "feat: add scientifically accurate corn kernels"
git push origin feature/corn-kernel-mode
# Open a PR and question everything
- Be respectful (even though we're making poop jokes)
- No actual toilet humor (we have standards... low ones, but still)
- Test your shit (literally)
- Document your crap
Contributors who've sacrificed their dignity for this project:
- @champi-dev - The Architect of Excrement
- You? - Join us in infamy
ISC License - "I Seriously Coded this"
Free to use, but good luck explaining it at your next job interview.
- My therapist, for listening
- The Three.js team, who definitely didn't intend their library for this
- Stack Overflow, for answering "how to render realistic poop" without judgment
- Energy drinks, for making this possible
- Our users, who have even less to do than we do
Q: Why?
A: Why not?
Q: No, seriously, why?
A: Art doesn't need a reason.
Q: Is this a joke?
A: The code is production-ready. The life choices are questionable.
Q: Can I use this in production?
A: You can, but your users might have questions.
Q: What's next?
A: VR support. Full immersion.
If you need help with this project, we recommend:
- Clearing your browser history
- Going outside
- Calling a friend
- Literally anything else
Remember: We're not just engineers. We're artists. Artists who've made questionable decisions, but artists nonetheless.
Made with ๐ฉ by developers who should know better
โญ Star this repo if you've lost all hope in humanity!