Making
Introduction
Code To Thing was a completely new concept for me. Before this, I had never thought about coding as a creative tool for making physical objects. The closest I had come was using Blender for 3D printing—but even then, I wasn’t thinking about the process behind how those shapes were mathematically formed.
Working with code made me realise how numbers, coordinates, and logic can shape design. It’s like building with a different language—one made of variables, X and Y axes, and mathematical relationships. Even though it was challenging at first, I started to see how this connects to 3D modelling and form-making. Coding gave me a new perspective on how digital design can be transformed into something physical and tactile.
This was a new realm for me—and that’s what made it so interesting. It pushed me to explore unfamiliar tools and ways of thinking, and I now see coding not just as a technical skill, but as part of my design toolbox. I’m excited to keep learning and applying these skills in future projects.
Concept
Cosmic Amethyst
Endless Cosmic renewal and growth.
Amethyst, forged from the rarest stardust. Each polygonal spike symbolizes fragments of ancient celestial bodies, crystallized through millions of years in the deep, cold void of space. The polygonal shapes represent the unpredictable journey of cosmic particles, colliding, merging, and crystallizing into magnificent clusters of amethyst-like structures. Just as real amethyst crystals are valued for their beauty and metaphysical properties of tranquility and protection, It embodies the mysterious harmony of the universe, suggesting a delicate balance amidst cosmic chaos. Fascinatingly, much like actual amethyst, which continues to grow new clusters if its roots remain intact after cutting, Cosmic Amethyst symbolizes endless cosmic renewal and growth, hinting at the continuous birth of stars and galaxies.
Process
For this project, I began by researching the theme of Cosmic Dust. As an avid crystal collector, I was naturally drawn to this concept—especially how natural elements like crystals grow, form, and reflect unseen cosmic processes. Each of my crystals, whether cut or organically shaped, has its own properties and form. That individuality inspired the direction of my work.
While looking around my room, I found a nature-formed amethyst with organically shaped polygonal faces that inspired my design. Its irregular clusters, growing in different directions, reflected the complexity I wanted to explore. When using p5.js, I realised I couldn’t fully replicate this structure, as the code generated shapes that ended at a single point. So, I adapted by adding more polygon faces around the center to mimic the layered, clustered effect.
This process taught me that sometimes we don’t get the exact results we imagine, but we can adapt and let those limitations guide new ideas. Mistakes became part of the exploration, and even the unexpected outcomes helped shape the final result.
- I learned that results don’t always match the original vision.
- Adapting to limitations can lead to new and creative ideas.
- Mistakes are not failures—they can become part of the exploration process
- Unexpected outcomes can still shape and enhance the final result.
I found it fascinating how changing just a few coordinates would completely transform the look of the polygon. Rotating the shape at different angles also revealed entirely new silhouettes. It reminded me of turning a crystal in your hand—each angle reveals a different beauty. It’s still hard to believe that just a few lines of code can generate something that becomes a 3D object you can hold. That transformation—from numbers to form—is what really made this project memorable for me.
Code to 3D
After finalising my design in p5.js, I exported the file into Blender and used the Paper Engineer plugin to unfold the polygon. I found the plugin incredibly useful—it transformed a complex, irregular shape into a workable template, opening up new possibilities for installations I once thought were too difficult to create physically. I converted the unfolded SVG to PDF, printed it, and overlaid it onto 230gsm paper. While the thicker paper added stability, it also made scoring more difficult, sometimes damaging the surface. In hindsight, a slightly thinner stock might have been a better balance between structure and flexibility.
Crafting the polygon required precision—every cut and score had to be exact, or the form wouldn’t hold. I noticed that the plugin sometimes separated connected faces, making some folds impractical, so I manually adjusted the angles for a smoother construction. I test-folded everything with masking tape before gluing, which helped the structure stay intact. Once completed, I focused on documentation. What fascinated me most was how the form transformed depending on the angle—sometimes it looked stubby, sometimes clean and geometric. Photographing it from different perspectives revealed the dynamic relationship between light, shadow, and form.
Documentation to Publishing
For the final layout, I decided to continue exploring the theme of endless growth—a concept that has guided my entire project. I used one of my main polygon forms as the centerpiece, then placed various angles of the model around it to suggest expansion and movement. The idea was to visually represent how the form could continuously evolve, just like how crystals naturally grow in clusters.
This layout wasn't just about aesthetics—it was about storytelling. I wanted the viewer to feel like the form could keep growing off the page, never truly ending. It reflects the same sense of looping and transformation I experienced while working through the design process. I had a lot of fun experimenting with the layout. It allowed me to think outside the box and find a more engaging way to present my work. Instead of a static showcase, the composition became part of the concept itself—supporting the narrative and bringing the theme of infinite growth to life.
Findings and Insights
This project opened my eyes to the creative potential of code in design. I had never considered programming as a tool for storytelling or crafting physical forms, but working with variables, coordinates, and logic gave me a new appreciation for the structure behind digital design. Inspired by the organic growth of my amethyst crystal, I tried to translate natural complexity into code. Although I couldn’t replicate crystal clusters exactly in p5.js, adapting the code to work within its limitations led me to a solution that felt equally meaningful—turning constraints into creative direction.
Through the making process, I learned that digital forms only come to life when tested in the real world. Crafting the model in paper required patience and precision, with material choices and construction methods deeply affecting the outcome. Documenting the piece revealed how much the form shifted based on angle and lighting, reminding me that design is never static. Even the layout of the A3 poster became part of the narrative—showing growth, evolution, and motion beyond the physical object itself.
"Testing leads to failure, and failure leads to understanding." - Burt Rutan.
Reflection
Throughout this project, I discovered a new side of myself as a creator. Code To Thing wasn’t just about learning code—it was about expanding how I think, create, and express ideas. While I’ve always enjoyed working digitally, this project showed me how adding a physical, 3D element can completely transform the design experience. Watching something move from screen to real life made the process feel more tangible, immersive, and meaningful.
Working across different mediums—code, 3D modelling, paper crafting, and layout—challenged me to think in layers. I wasn’t just building shapes; I was shaping stories and textures people could interact with. Tools like p5.js, Blender, and the Paper Engineer plugin became creative playgrounds. The more I experimented, the more confident I became. Mistakes became insights, and limitations sparked new ideas. In the end, I gained more than a finished object—I walked away with a renewed sense of creative confidence and a deeper understanding of how design lives beyond the screen, in space, material, and experience.
What I have learned
This project taught me that code is creative—it’s not just about control, but about expression. Variables and coordinates became tools for imagination, and small changes led to completely different outcomes, almost like drawing with logic. I also learned that failure is part of the process. When things didn’t work in p5.js or Blender, I had to adapt, and those moments often led to more interesting results than I initially planned. The form and meaning of my work became deeply connected—the irregular, crystal-inspired shape wasn’t just visually complex; it carried the narrative of cosmic dust and endless growth, evolving with each design decision. Crafting required patience and precision. Through paper engineering, I learned how small errors could affect the entire structure, and that true understanding only comes through making. I also realised that presentation matters—how you layout, position, and frame a piece can reinforce its story and shape how others experience it. Above all, I came to see that perspective shifts everything—whether through code, craft, or camera, each viewpoint offered something new, reminding me that design is always multi-dimensional.











