THOMAS KNOPEFFLER


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

SENTIMENT.JS



SENTIMENT.JS

 Cornell University, AAP
 AI for Design, Fall 2024
— DESIGN 6197


COLLABORATORS

Carrie Wang


MY ROLE

Developer, Scripter


DESCRIPTION

A tool for UX designers that takes what a client said in a review, typed or spoken, and returns the emotions in it, the keywords, and how closely it relates to qualities like clarity and usability.


LINKS

GitHub 
WHAT IT IS

sentiment.js is a listening aid for the conversation between a designer and a client. The most useful feedback in a review tends to arrive as a story or a feeling rather than a note, so the tool takes a statement as typed text or as a voice recording transcribed in the browser, tags it with the client’s name, and sends it to a Flask backend running three Hugging Face models. A RoBERTa model trained on GoEmotions scores the statement across 28 emotions, KeyBERT pulls out its key terms, and a sentence transformer rates how closely it relates to design qualities such as clarity, hierarchy, and usability. The results come back as highlighted keywords, emotion bars, and quality scores, and each analysis is saved in its own tab for comparison.


PROCESS

The project began as a Figma plugin, with screens for recording a client session, sorting what was said into categories like color and information architecture, and building up a profile of each client over time. Along the way the original models, T5 for summaries, named-entity recognition for keywords, and BERT for classification, gave way to ones better suited to each job, and the plugin became a web app with an HTML, CSS, and JavaScript front end talking to a Python backend. Tests on a set of written feedback statements were encouraging but uneven: the keyword extractor sometimes joined words that had appeared separately, the emotion model caught the main tone but leaned positive, and the relevance scores tracked the statements closely.


NEXT STEPS

The next version would move back inside the design software, so that analysis happens in the file under review, and would keep a running profile of each client that carries sentiment and keyword history from one review to the next. Fine-tuning the emotion model on design-review language would correct its positive lean, and from there the tool could offer not only a read on how the client feels but a short summary of what should change.