Inspiration

I love magic tricks, and I love the mystery surrounding them!

What it does

I thought a good magic trick to replicate would be the rabbit-out-of-the-hat one, but only a rabbit would be boring, so you can add any 3d models you'd like and see the magic happen. 😊

How I built it

I built it with react-three-fiber, mongodb, and node.

Challenges I ran into

It was difficult to get some of the rendering working(especially when downloading the models) because react-three-fiber doesn't usually expect this stuff. It also wasn't too easy to discover that there are some weird issues with the element in the project, so I had to use a few hacks.

The other issue was verifying the magic numbers of a file uploaded with multer, which I eventually gave up on and instead decided to just check for mimetype and file extensions, which is a little insecure but I did figure verifying magic numbers out a little late and it required some weird hacks.

The size of some models can be extraordinarily large and some can be very small as well. I like to think of it as a life-like scale though, because a fox will be a lot larger than a table.

Accomplishments that I'm proud of

Using react-three-fiber and glftjsx properly.

What I learned

  • How to make uploadable and downloadable models and render them in React
  • A bit of 3d modeling

What's next for magicify

Very likely add some sort of use as a random picker type piece of software, so you can pick out things in random in a fancy manner.

Share this project:

Updates