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

HORIZON.JS



HORIZON.JS

 Cornell University, AAP
 Design Physical Interaction II, Spring 2025
— DESIGN 6398


COLLABORATORS

Rajvi Patil


MY ROLE

Prototyper, Developer


DESCRIPTION

A picture frame that shows the color of the sky over any chosen place on earth, right now, and plays an AI-generated soundscape to match. A moment of telepresence.


LINKS

GitHub
WHAT IT IS

horizon.js puts the sky over a distant place on the wall of an ordinary room. Choose a location and the frame pulls that place’s current sunrise and sunset data through a geocaching API, then renders the gradient of its sky, as it is right now, across a NeoPixel matrix behind a sheet of diffused acrylic. A speaker beside it plays an ambient soundscape generated by ElevenLabs to match. The intent is a small act of telepresence: a window onto a sky someone you know is standing under.


PROCESS

The frame began as sketches, then as CNC-carved and 3D-printed enclosures. Behind it, a Python server handles the API calls and asks ElevenLabs for audio; a p5.js sketch manages web serial and voice input; and an Arduino Nano BLE reads the physical buttons and drives the matrix. User testing changed two things. People lost patience while the audio generated, so a loading indicator now shows that something is happening. And the sounds themselves, which had started out literal, became calmer and closer to nature once the prompt asked the model to translate what the sky looked like into what it might sound like, rather than to describe the place.


NEXT STEPS

Next would come a sturdier voice-recognition model and a second pass at materials and proportions. The frame should eventually mount flush to a wall with no visible cord, which means wireless charging or a battery inside. The soundscapes will keep being tuned toward the point where they suggest a place without describing it, since that is where the frame works best: as a quiet object for someone in a city who wants, briefly, to be somewhere else.