This post is dedicated to Ronen Sarig. May he call me out on my bullshit forever.
I’ve been playing a lot of games for quite a while. That’s how I built my life. Using computers is one of them. I’m no expert programmer. I call myself a ‘user’, I’ve seen some things. I’ve tried to get things done.
My father bought and Apple IIe back in 1983(?) when I was 13. I was tasked with figuring out how to make it work for his business. My start was in creating value. I tried to learn Pascal in Jr. High School without any instruction (that did not end well). I wrote fully footnoted and sourced college essays on non-WYSIWYG word processors in My freshman year of college. After a few years away from computers in the early 1990s, I start using CNC machines before CAM was a mainstream option. Now, I mostly do parametric modeling and use MS Excel and type out a blog.
One thing that remained the true that whole time; I needed to learn the language of the computer to do anything. That’s important. How do I talk to the box? How do I learn it’s language to get what I want.
That’s just changed. The computer has learned how to talk in MY language. That’s what AI really is. The computer has made it possible for me to use the language I know well to get what I want.
We’ve had these powerful calculators and a world of information to draw from for at least a decade and a half. Now, somebody has figured out how to get the calculators to listen to us well enough to use that information in ways we never could.
Early in 2023, the mainstream world changed. GPT-3.5 busted out. It was all going to be different now.
Granted, it’s taken some time for this tool to gain enough ability to be as useful and capable as promised but today, with v6.1 and other models like Claude, Gemini, and others, real work is happening that never happened before.
It’s an amazing tool!
We’ve been doing this at the university for a while. One of our chemistry masters students, Milo Sack, produced some vibe code and vibe electronics for a recent lab upgrade project. This was a real eye opener for me and others around me. Someone that didn’t know code or electronics producing a valuable lab automation tool. Importantly, this was a very valuable tool that improved process by orders of magnitude.
In another recent project, I needed a lot of different shapes cut on waterjet. I was getting a favor here so I needed to reduce the work load on the other end. They wanted me to layout the parts on the sheet. Strangely, Omax IntelliMax software is terrible. Super bad. It costs a lot of money for a nesting program. We needed a cheaper way to nest part shapes.
We decided to vibe code a nesting program. Milo, Nick, and I bounced prototypes around for a couple of days. This seemed crazy on the front side but t’s actually amazing how light and easy this was! Entirely running .html in any browser. This was about asking (in english) for what we wanted.
Some time went by. I forgot about all of this as I was busy with other things.
In the past couple of weeks, I had a workshop series planned at the university that included 2 sections on portfolio production for science majors. This is the most important thing a college kid can focus on. Seriously.
I had a problem now. I could talk a good game but my portfolio page was really lame. This wasn’t because I didn’t have anything to put into it. The opposite. I had so much. 37 years worth of very different projects and folly. I had blog posts, web pages and wikis, but my portfolio was just a long static page of random images. It was hard to update. It looked like hell. It wasn’t projecting my story well.
My friend, Ronen, has been bugging me for a while about finding my content. He couldn’t ever find anything. Names made no sense. It was all lost in a sea of information. He made an easy argument. It ate at me for years. Ronen says I’m not solving this problem. Ronen. Fuck. He was right. I knew that.
I didn’t know how to solve the problem. I’m no coder. I don’t want to learn .html or C#. I didn’t see easy tools around me and I didn’t want to invent one.
So, since we have been talking so much about this at work and with students and in the world, I decided that it was time to throw down the gauntlet. A new portfolio page! One that could solve my particular problems. Deal with all my content but give focus to just one thing if I wanted.
The model viewer!
The big problem, aside from the coding and testing, how could I display solid models in a way that works in the ecosystem? A way that works fast and on any browser or phone. This was over my head.
SolidWorks allows models to be shared this way with eDrawings Pro. It does a reasonable job displaying an assembly or part with different configurations in a web browser. Of course, Dessault doesn’t miss a chance to punish it’s customers. This is a very expensive add-on to an already expensive program. I wasn’t interested in paying for this. not at the level that it functions.
Lacking eDrawings as an option for permanent use, I needed to design my own viewer.
It helped that one of our students, Abdo, had decided to work on the problem on his own. We were able to discuss our issues, fixes, and ideas. Abdo is much better at using the AI tools than I. He also has figured out ‘tokenMaxing’, improving the code/token ratio to get more done, quicker, with less cost.
You will find that the word ‘token‘ will start coming out of your mount a lot more after you start into this.
I put in some time to get this done. I was able to build a viewer that works well enough for now. A viewer that let’s me place models into almost any place, has configurations, and looks really nice. It also puts a lot of power into the viewers hands…with special very powerful features that are locked out for most people.
I need to do some deeper infrastructural work to figure out more about reducing file sizes of these models for lighter use, especially on cell-tower depended phone use. This will have a lot to do with mesh approximation and my use of helical threads in my models.
The portfolio page
To get the massive number of portfolio images to be useful, I needed to improve toolbar structure and tool control. Many more features can be added and it’s a matter of imagining them and being near a terminal to get them implemented.
The portfolio interface was the other hurdle. This wasn’t easy. It was frustrating. It involved hundreds of iterations over the course of a week… I’m still not done. new feature ideas come up at different times.
…but it was possible. See it HERE.
A quick test of how this interface works will prove that there are some very powerful and deep ideas in play:
- Makes a large body of work approachable. The card gallery gives visitors a visual overview they can scan before choosing projects to explore.
- Helps people find relevant experience. Categories, search terms, tags, and date controls connect a visitor’s interests with specific examples of your work.
- Supports different levels of attention. Someone can browse quickly, inspect a model, or follow a project link into detailed documentation.
- Shows engineering rather than just describing it. Interactive 3D models let visitors rotate, inspect, section, explode, and measure designs—communicating details that photographs can conceal.
- Explains alternatives and development. Model configurations let you present different versions, arrangements, or states within one coherent project.
- Makes targeted sharing practical. “Copy link to these cards” preserves the filtering and presentation settings, helping you direct a client, employer, or collaborator toward relevant work.
- Connects evidence with explanation. Images, models, project articles, related work, and downloadable files give visitors multiple ways to understand and assess a project.
- Provides a consistent presentation. Shared card layouts and adjustable viewer settings bring projects from different years and disciplines into a recognizable interface.
- Fits into an existing website. The embeddable portfolio and model viewers let the work appear within blog posts and other pages, alongside its supporting narrative.
- Remains useful as the collection grows. Catalog editing, reusable viewer presets, model compression, and controlled model loading make a substantial archive easier to maintain and browse.
I think that the most important lesson here is that it’s not knowing the right language that matters much anymore but our ability to communicate. The work shown here was created by two guys that know nothing about code and used very basic AI tools. In time, more power will be added to this with more understanding.
This has been an excellent introduction to using the tool and has gone really well. I plan to use this it to do some long needed service and architectural work on my website. Later this winter.
I just need to finish formatting the other 2/3 of my works…ha.