Week #07

Post pin-up

Over the past couple of weeks I've been making progress with both the code side of the project and the fabrication part of it, and showed it last week in the pin-up.

I saw Angel from my cohort was using a similar mechanism to what I needed so I asked for the file (Thank you Angel!). I've learned a little bit of Fusion so I could adjust it to my dimensions, my motor etc. This mechanism works really nicely because the motor moves itself rather than a rod that would have to stick out and take more space. This way its remaining quite compact.

This was just a test, the movement should be much more slow and subtle.

Code

I currently have everything set up through firebase cloud, using Newscatcher API which lets me get real time news from many different sources around the world. I filter through what I get to look for mentions of Israel, and then analyze those articles to come up with a score, after which I calculate the total score. I take into account the "age" of the news (older news weigh less in the total score calculation).

Things I need to figure out:

  1. I still need to add some kind of un-biasing because there really are way more bad news than good ones. I've been looking into some research about that but haven't found something conclusive. It's anywhere between a 10%-30% adjustment, although I think in my particular case it's probably higher.
  1. I'm still bothered by how the LLM is calculating the scores. I want to have points of reference, a way to make it relative, or some other way of making it more personal. I switched to working with an embeddings model as a way of having a "best" and "worst" case scenarios as points of reference but it ended up not working well enough — they always remained relatively close to each other in a way that wasn't reliable enough.
I was creating clusters of good prompts and bad prompts and then comparing the news to them. The clusters themselves were pretty well defined, but the distance between them remained too small no matter what I tried. Only reducing the prompts to things completely unrelated to my topic, but that are contradicting to each other, actually produced a high enough definition. But this doesn't work with what I'm doing...

  1. My next options are either trying a different embedding model, or... figuring out how to fine tune a LLM. I'm leaning towards the latter because if I can give an LLM what is essentially training data of how I think it should score the articles, in a way that is repeatable and reliable, then it allows me to make the whole thing much more personal. I don't usually like doing personal projects, but in this case it feels right conceptually. If this is my red line then the score should be calculated according to my values.
  2. At the same time, I need to start working on sending the total score to my Arduino. It will need to  initiate the API request (this is just a HTTP request that starts the whole thing at the moment) every once in a while and get the total score from the database. Everything is already set up to seamlessly work with this but I need to start testing that too.

Fabrication

  1. I need to close in on a final design. I have a general idea but I need to figure out the details!
  2. I need to redo the 3D parts — bigger, but some things are also off and require some changes. I couldn't find a 3D model of my specific model so it's been a bit of a pain in trying to model parts that fit it exactly right.
  3. I added a rail thinking it would help the movement be more smooth but it seemed like it added too much weight and didn't work great. But I still need to add a few more parts, like a top layer that holds everything in place.
  4. I still need to figure out the red line part and how it's going to be connected to the bottom of the device. Also... If it's a triangle then... Is it still a red "line"?.. The name plays a big part in "reading" the project so I'm a bit concerned about this.

Updated BOM

Note on score calculation

I'm now in the process of fine tuning a LLM by manually scoring up to 500 news articles (real ones that I have already pulled through the news API). I'm trying to come up with a system for scoring that matches my own values and beliefs, not trying to make it neutral necessarily, but rather more personalized because it is my red line that's being assessed after all. The system I'm coming up with provides guidelines for myself so I wouldn't be too easily swayed by emotions, but more inclined to adhere to my own set values. I'm fine tuning this as I go but these are my current rubrics for valuation:

  1. Contribution to peace — How much does this promote peace and resolution? (between different factions, like Israelis-Palestinians, religious-liberal, progressive-conservative...)
  2. Human Rights / equality — Does it uphold human rights and equality or violate it? (if it does so for one group of people over another then this is a violation).
  3. Socio-economic impact — How does this affect the local markets and industries; does it increase or decrease the local currency; does it contribute to more jobs and flourishing or does it diminish it?

Another point that I need to take into account is wether I'm scoring based on what has been reported to happen or on the fact that it's been reported. For example, if it's reported that complaints have been filed to the International Court of Justice then it could be interpreted as something that is contributing to peace, as a way of working towards it. But the fact that it had to be reported means there have been violations of human rights. I'm trying to stay true to the rubrics I have set.

Plan of Attack / Timeline

October 30th — November 5th

  • Settle down on how I'm calculating the scores. I spent whole days trying to make it work with embeddings but had to stop when I realized it's not going to work (as mentioned above) and I had to pivot. If the fine tuning I'm working on now doesn't work by November 5th then I'll go back to the version that I had working with the simple LLM.
  • Have a more progressive idea of the physical design as well as what materials I'm going to use and start getting the parts I'm missing (have set office hours with both Pedro and Phil to get some help on that!)

November 6th — 12th

  • #2nd physical prototype, at least half functioning (incl. new 3D printed parts in the final scale).

November 13th — 19th

  • All things should be functional in terms of the pipeline.

November 20th — 30th

  • Actual fabrication of the final piece

December 1st — 10th

  • Troubleshooting
  • Documentation (photography but hopefully also a webpage that gives more context, maybe explains how it works, shows some data — possibly in real time?)

X button icon

Jasmine Nackash is a multidisciplinary designer and developer intereseted in creating unique and innovative experiences.