top of page
  • Writer's pictureabstractment

lessons from an fx(hash) collab

what we learned in the process of creating pang

TENDER x abstractment


pang #535


​We developed pang to highlight how emotions can take control of our impulses – anguish, euphoria, obsession — to create art. This catharsis is only possible when we’re able to let go of our learned fear of emotional expression and truly revel in our emotions. Here's a short summary of lessons that we learned in developing pang.


  • Agree on a vision. Develop a quick one-page pitch document from the beginning and use this to define your joint vision. @ajberni did this and it was so helpful to get us started. Looking back, I think we could have spent more time on this if I had known the right questions to ask.

  • Let the vision keep you on track. The more clarity on a vision from the beginning, the easier it will be to maintain that focus during creation.

We ended up spending hours trying to finalize our token narrative. It could have been more helpful to get this 90% finalized from the beginning to facilitate us maintaining a clear vision.


  • Divide and conquer roles/responsibilities. This needs to be clear from the beginning so that each individual knows their tasks and has expectations. Ours may have been a bit easier because only one of us was coding. I’d love to hear how joint coders handle this, although I know many developer teams have a system for it.


  • Agree on communication expectations. How are you going to communicate? We were regularly in touch via Twitter DM, and sometimes used emails for lengthy feedback.

Twitter wasn't the best forum for collaborative work. There are lots of better options out there, including discord or slack that would allow for multiple image posting, searchability, and reply functionality.

  • Sometimes you need a phone call. Messaging is convenient and great, but we regularly hopped on a video call to review our progress and reach agreement on key decisions.

  • Discuss how you communicate. Are you direct? Indirect? Do you take feedback well? If you don’t know each other well, this can take some time to figure out and a frank discussion can expedite that learning process.

  • Don’t use jargon. Choose the right words, and don't assume your audience uses the same vocabulary that yo udo.

I said pixeldensity probably 17 times before I realized I was talking p5 jargon and ajberni spoke the more familiar language of resolution instead. 😬

  • Be clear when something isn’t clear. If you're not understanding something that your partner is communicating, it's best to be very clear about that to avoid one further misunderstandings.

I didn’t understand what ajberni meant when he spoke so passionately about ‘intensity’ at the beginning, and I felt ashamed to admit it (because he was so damn passionate about it.)

I still don’t know what ajberni means when he talks about the “panginess of zig.”

  • Be precise. When communicating, especially through text, be very precise when describing concerns.

At one point, ajberni said...

I thought he was describing the stroke marks as "soft" and went back to work to figure out what I had unintentionally changed. At first, I actually thought I knew what it might be, which sent me down a rabbit hole. Turns out a better word than soft would have been “blurry.” A day later we realized that I changed the dimensions slightly and he was viewing them at a fixed setting based on the previous outputs. They looked perfect to me, but blurry to him. After some confusion, I think we were so relieved to figure out the problem that we didn’t care about the lost time.

  • Don’t sweat the small stuff. It’s inevitable that something will go wrong, maybe many things. Stay focused on the big picture and don’t let misunderstandings set back the partnership.

The last bullet is a great example.

  • Agree on priorities before making big changes. This is especially important as you get closer to the planned drop date.

About two weeks before the drop, ajberni asked if it was feasible to speed up the drawing. I should have paused and asked about priorities before taking action. I didn’t and this opened up Pandora’s box, resulting in a week of lost effort. I was making all kinds of changes, ended up breaking it entirely, and ajberni was like “what is happening? I thought we were finished.” Eventually, I just went back to the previous iteration.

pang #354


  • Don’t rush the launch. The break between fxhash beta and fxhash 1.0 forced us to pause. We used the extra time to explore the code’s possibilities, and this resulted in adding several strokes (like rub and edge) and removing others. Ultimately, the project was much better because of this extra time. The value of this can't be overlooked.

  • Be ready to evolve. ​This blog post highlights some things that we learned throughout the process, but we also learned important lessons about ourselves as artists. In developing pang, we challenged each other to consider different perspectives. Embrace this learning process, try to understand your partner, and you’ll come out a better artist.

  • Have a system for sharing. If you aren’t both changing the code, have a system for sharing updates and sample outputs. We used a google drive folder (and Dropbox at times).

  • Minting can be tricky. If it’s your first time minting under a collab contract, give yourself some time to get it right. You’ll both need to sign and approve any changes, and it takes a few minutes for those to process.

We ran into several unanticipated challenges as I wanted to pre-mint for the clewcrew, and we both ended up signing at least four different changes to try to figure out how to make that happen. (Note: creators can’t pre-mint before it opens to the public when using the collab contract.). Our final approval processed about 40 seconds before the project fully opened.

  • Celebrate. Even if you’re on opposite sides of the world, celebrate your drop. We did this over video chat and it was a fantastic way to close things out. 🎉

pang #456


Commenting has been turned off.
bottom of page