THOMKNOE


ABOUT

Hello, I'm Thomas Knoepffler, a design technologist in Miami, Florida. I design physical objects and software tools that respond to the people and spaces around them, working with AI, sensors, and digital fabrication. My recent projects include a 3D-printed hydroponic planter, a desk lamp that senses posture, and a browser tool for building procedural 3D worlds.

I hold an MS in Design Technology from Cornell University and a BS in Integrated Design & Media from NYU, and before graduate school I worked in UI/UX design and product management at an early-stage startup. Outside of studio work I have mentored student designers and volunteered with local creative communities.

I'm currently looking for design technologist and prototyping roles in Miami, Florida, and I'm glad to hear from anyone about the work.


SKILLS

— Rhino 3D, Grasshopper, Blender
— Adobe Creative Cloud, Figma
— 3D Printing, Laser Cutting
— Arduino, Raspberry Pi
— HTML, CSS, JavaScript
— Python, C#


LINKS

Resume

LinkedIn

Instagram

GitHub

Email

PIX2GRASSHOPPER



PIX2GRASSHOPPER

 Cornell University, AAP
 Coding for Design I, Fall 2024
— DESIGN 6297


COLLABORATORS

Mercy Akande


MY ROLE

Developer, Scripter


DESCRIPTION

A Grasshopper component that takes a photograph of a natural pattern and writes the GhPython script to reproduce it, sliders included, using CLIP to read the image and GPT to write the code.


LINKS

GitHub 
WHAT AND WHY

pix2grasshopper turns a picture of a natural pattern into working Grasshopper code. Language models want a precise verbal description before they will write anything, and designers, who think in images, often cannot supply one. So the tool accepts the image instead. Its reference set is a short catalogue of natural forms, ocean waves, sunflower spirals, honeycomb, mangrove roots, leaf veins, and snowflakes, and from a photograph of any of them it produces a parametric script for Rhino 3D.


HOW IT WORKS

CLIP captions the image first. The caption is matched against a JSON database of natural-form tokens, and the match becomes the prompt that asks GPT for a GhPython script written in RhinoScriptSyntax. The pipeline has three stages: translation from image to code, a validation pass in which the model corrects its own errors, and execution inside Grasshopper, where the component adds a slider for every parameter it finds so the result can be adjusted live.


NEXT STEPS

Building it exposed how much is lost between seeing a form and describing it in words. Vague prompts produced inconsistent scripts, and the problem was worse for Grasshopper and Rhino than for mainstream languages, since the models have seen far less of them. Three fixes follow from that: fine-tuning on a GhPython dataset, a structured loop that feeds errors back into the model, and templates that handle the predictable parts by rule so the model only has to generate what varies.