Working: Pix2Stitch

I feel confident in my cross-stitch pattern generator idea! (But if you wanted to see what else I had been considering, check out this post.) In short, the idea is to create a web application that turns an image into a cross-stitch chart that utilizes more than the single-color stitches seen in other current online pattern generators. I want to utilize edge detection for outlining, as well as turn “dithering” into multi-color stitches. Adding ornamentation such as beads is a reach goal.

After a few weeks of uncertainty about what to call this project idea, I have come up with what will suffice at least as a working title: Pix2Stitch.

“Pix” refers to both “pics” or images as well as the “pixels” that display them. “2” is a homophone of “to” in English, but it also represents the two lines in each X-shaped cross-stitch. “Stitch” refers to the fact that a user is generating a chart to follow for embroidery!

In order to create Pix2Stitch, I will need to:

  • identify a suitable programming language
  • find or develop a series of algorithms to transform an image into pixel color data
  • analyze this data to find an optimal color palette from among available thread colors (DMC floss)
  • utilize further algorithms to detect edges and segment pixel data into cohesive shapes
  • develop a way to output the resulting chart

Already I am gathering resources and talking to experts, including the brain behind Pixel-Stitch and TCNJ’s own Dr. Salgian from the Computer Science department.

I predict that this project will be very challenging, so I will learn a lot about design and development, including User Interface and Experience (UI/UX). Already, I am learning about how computers “see” and store color data in bits. Foreseen ups include making breakthroughs in what features the program has. Foreseen downs include potentially having to come up with my own algorithms to get it working.

Continue to follow my work here on this blog, category “Robin Friedman.”

Robin’s Response to Randy Pausch

Randy Pausch’s “Last Lecture” was both entertaining and informative. I learned not only about Randy’s life but also some methods he endorses for achieving childhood dreams. There is a lot to dissect here, so I shall.

When I was much younger, I never had a stable concept of what ‘dream job’ I wanted. The longest held dream job would have been ‘teacher,’ but I discounted this when I realized that I had a harder time relating to children the older I grew.

Nor did I ever “day-dream” the way many people describe, zoning out and having little fantasies, imagining or replaying conversations. (I had rich, lucid dreams at night, but day-dreaming was not something I knew.)

Today, I don’t know where I want to live, or with whom, or even what I want to do after I graduate.

So when Randy spoke of achieving my childhood dreams, I wondered if I really have any. Over time, I have developed aspirations, and they’re eclectic like Randy’s set of childhood dreams, so perhaps I could glean something after all from this motivational speech.

There were several things he said that spoke to me, but I think there were three that stood out especially.

BRICK WALLS ARE THERE TO GIVE US A CHANCE TO SHOW HOW BADLY WE WANT SOMETHING.

It reminds me a little of Dora the Explorer’s “Can’t go around it! Can’t go through it!” variety of obstacles. You just need to get creative to make it over an obstacle that might stop someone else. This idea makes sense in theory to me, but in practicality, I have a tough time with it.

Because I don’t know where my limits are but always have such high standards for myself, I don’t know what is a reasonable amount of effort to put into something, at what point I ‘should’ stop, nor whether I have the energy to continue forward without burning out. My approach to things is usually “slow and steady,” so if some obstacles requires more of an energetic sprint, I need to decide if it’s really worth it to me.

There aren’t a lot of brick walls I’ve decided I need to overcome at college because in high school, I pushed myself way too hard. I developed severe depression and anxiety, and now that these conditions are well-managed, I’m afraid to ever go back to such a dark place.

However, the brick walls I have overcome are really important to me: improving the gender-inclusive housing program at my school, advocating for keeping the TCNJ Clinic (a critical mental health support) open, getting approval from parents and school for my emotional-support rats, learning about game development (and all the coding that goes with that) during a Mentored Undergraduate Summer Experience, and befriending, supporting, and mentoring many different kinds of people under various circumstances. There are others…

Well, now that I list them out, maybe I do have more fight in me than I give myself credit for.

IT’S A THRILL TO FULFILL YOUR OWN CHILDHOOD DREAMS, BUT AS YOU GET OLDER, YOU MAY FIND THAT ENABLING THE DREAMS OF OTHERS IS EVEN MORE FUN.

I definitely want to help people along on their journeys as much as possible. I’m still young, still working on my own dreams, but if I can help even one person get closer to theirs, that brings me deep satisfaction. Among other supports that I offer my community, this motivation is why I offer to read tarot cards for my friends, family, and even the TCNJ community (students, staff). It opens up intimate conversations about direction, hopes, fears, love. I think the more people can develop perspective on their own life, the greater their chances of finding success.

WAIT LONG ENOUGH AND PEOPLE WILL SURPRISE AND IMPRESS YOU.

I believe this is great advice. It has certainly proved true in my experience as a transgender person; even my (rather conservative) father has finally started using my name and pronouns (he/him). The most seemingly-inflexible people can eventually come around; you just need to be patient.

Sometimes it may help to be persistent, while for others it may behoove you to give the person space. It’s not always straight-forward, but few things in life are.


I know I said three things stood out to me, but here’s a fourth: (Head-fake!)

IT’S NOT ABOUT HOW TO ACHIEVE YOUR DREAMS. IT’S ABOUT HOW TO LEAD YOUR LIFE. IF YOU LEAD YOUR LIFE THE RIGHT WAY, THE KARMA WILL TAKE CARE OF ITSELF. THE DREAMS WILL COME TO YOU.

I think this sort of brings this post full-circle, as well. You don’t even need to have had childhood dreams to live a good life. You get out of life what you put in, and leading your life the right way lets the dreams come to you. This is reminiscent of a piece of Design Your Life advice, which states essentially that with the right mindset, you start to see opportunities and things fall into place–you get lucky.

I think being a support to others is part of leading your life the right way. There are a lot of people out there who need support, whether that’s listening to them or connecting them to resources or inviting them to do things they would like to do. Enabling these people to dream by sharing a connection with them, and allowing them to grow into their best self…I do believe the karma will take care of itself. I have a good reputation for being a good listener and a calming presence, as well as someone who is good to work with. Things will work out for me; I’m optimistically certain about this.


As part of reading Design Your Life, I took inventory of which parts of my life I emphasize and to what extent these are balanced. I think that the “love” meter and the “work” meter being high is representative of the values important to finding and achieving dreams. “Play” is important to figuring out what you might be passionate enough about that it won’t seem like work, and “health” enables all of the above.

Here is my inventory of Love/Play/Work/Health in my life from last week. (I don’t think there’s been any significant change since then.)

Love/Play/Work/Health

Something that is really valuable to me is community. Although I strongly believe that each person is the only person who can have the final say on what their own life is about, I don’t believe that life is an individual pursuit. Let us work together to find and achieve our dreams.

My Thesis Project: Brainstorming

In class, we were asked to provide three ideas, so it seems to me that I should report those as my first post to the thesis class blog! Naturally, I had done plenty of thinking about my own thesis over the summer (and even before then), so I was definitely prepared to talk about two ideas in particular. Though, the “crazy” idea — perhaps we can substitute “particularly ambitious”? — had been floating around in the back of my mind a bit, too.

First Idea: Most Likely

Essentially, it is a web-based application for creating your own cross-stitch patterns. I was inspired by the obvious connection between this style of embroidery and pixel art, since each stitch is made in rows and columns. However, there are limitations of trying to represent a cross-stitch pattern as pixel art. For example, a program for pixel art will be unable to mix colors within a single pixel (as some patterns may call for), nor is it able to do any outlining between the pixels (the way backstitches are sometimes used).

A natural extension of this tool would be the ability to customize a pattern based on a digital image. While there are tools that can convert your image into pixel art, which usually also recommend which thread colors to embroider with, no program that I have found online factor in the two shortcomings of pixel art.

Basically, this thesis would be a major design and development project, with a focus on user interface (UI), computer vision, and artificial intelligence (AI).

Second Idea: Alternative

This was actually my first idea for a thesis project. It would be a revisiting of one of my early IMM projects: a game using abstract art to convey a message about the pressure to assimilate. The original venture was in p5.js (not p5.play!) and was never completed. The idea seemed to me the perfect way to come full circle as a college student. From my first coding class, to my final project as an undergraduate!

However, I am starting to question whether a career in game development is right for me. There are some serious cultural issues in the video game industry, such as working extreme unpaid overtime in periods of “crunch.” As a survivor of the Downingtown STEM Academy, I have learned the value of sleep, pacing myself, self-care, standing up for myself/my needs/my boundaries, and keeping sane. Basically, if I don’t go into game dev, why should my thesis project be a game?

I do, however, still consider this a legitimate alternative since there are clearly valuable skills to be learned by tackling my game as a solo project.

Third Idea: Particularly Ambitious

This one is hard to describe, but basically I want to consider accessibility in VR for people with limited vision by instead focusing on audio design. This would be less a game and more a toy/experience, as a person dons a headset and is tracked in their space. As they approach certain auditory stimuli, the [surround] sound may grow more intense. Some items would be interactive. I would want to include some tactile feedback as well, such as a gentle breeze.

It’s a more underdeveloped idea, but I consider it ambitious because I would probably have to learn to model, rig, and animate most of the objects in the scene. While I do want to expand my skill set through this project, I would much rather focus on my ability to problem-solve using code.


If you got this far, congratulations! This has been good practice building a post. Remember to check out the “Thesis Projects by Student” page and bookmark my category (Robin Friedman) for future updates.