Much relief. Such happiness with the end result

Well this blog has gone untouched for some time, now hasn't it? I've been busy working on a huge project for Vital Spaces. They're a non-profit organization that provides affordable spaces for artists to work in. They are some good people doing some great things. And they're so fun to work with!

The project

A friend of mine put me in touch with the client. We discussed what we thought we could do and got started on the project. Coincidentally (or not), this occurred right as I stopped writing in this blog. I need to be better about that going forward. Haha The client explained that they wanted a data visualization that showed links between artists and their artwork. Things such as media used, theme, affiliations with similar companies, and location where the artwork may be on exhibition. They sent me this link that demonstrated what they were going for. We immediately noticed that the data visualization wasn't represented on mobile devices. However, we would attempt to display our application on mobile. We later found that was a bad idea, but hey... live and learn. We agreed and began working on the project.

Before we accepted this project, my friend had told me that I would be doing most of the work and that we'd split the money we earned accordingly. I was fine with this arrangement, though was a little intimidated by the prospect that I might have to solve complex issues on my own. Sink or swim!!!

I began by designing the project in Figma. I spent a ton of time laying out the components, separating content into containers that would later become components. Spacing and sizing things to allow breathing room and provide an intuitive experience. The colors I used would add a sense of fun and exploration.

We presented the mockup to the client and they LOVED IT! I was excited to start coding.

I already had a proof-of-concept node graph. How hard would it be to implement in React? Pshhh. "Oh yeah... that's gonna be difficult." is how my brain should have responded.

First things first. I would need to start building out the frame of each component and lay them out. This wasn't too difficult, other than responsive styling issues and whatnot. Tailwind was our saving grace. I am utterly and completely in love with Tailwind. I can see how it may not be the perfect tool for gigantic projects, but it's the perfect tool for small to medium sized projects, in my opinion. It's like discovering how to use a table saw and the synapses start firing off in excitation while the brain is screaming: "Why have I not known this existed?! I'M GOING TO BUILD ALL OF THE THINGS!!!"

We used Airtable to store the artist and artwork data. The data structure was challenging. Thankfully, Airtable has some interesting ways of linking data tables. Getting data into the application was done with the Airtable npm package. Then came the long process of getting nodes to populate and link based off of that data. Linking now works? Great! Oh, now we need to change those links based upon what data filter is selected by the user. Aaaaaand lets go ahead and get lost on code for a couple weeks. Okay. That's now done. Now polishing up everything and getting mobile to work, only to determine that the node graph wouldn't be a great user experience on mobile. So we scrapped the node graph from mobile and laid things out a bit differently, all while keeping the clients happy!!! Much winning

There were so many things that were learned from this project. So may of my own limits were tested. My sanity was definitely tested quite a number of times. But I prevailed! The end result is pretty cool. I'm no longer worried about my skillset. That was (and often is) a huge issue for me. I know my capabilities a lot better now and couldn't be happier! My ability to solve some pretty complex problems, manage a dense codebase, maintain my clients vision, keep my ego in check, and produce a solid application has strengthened my self confidence. I'm excited for more projects!

The project is now coming to an end. The struggles of this project were many. Imposter syndrome, hitting many walls of difficult problems, long hours of research, trial and error, and lost sleep. But then there was also many moments of 'aha!' and satisfaction when a problem was solved, or when the client looked at the prototypes and was impressed, or hitting a stretch where the development was just flowing easily. It was all worth it and I learned a TON! The experience gained from interacting with clients that had a vision, meeting with those clients along the way, updating them and slowly turning that vision into reality... there's nothing that can teach you that other than just doing it. I was lucky enough that they were incredibly easy to work with.

Onward to more projects and awesome clients!


more blogs

copyright © 2022 Albert Padilla all rights reserved