ITP Blog

RWET - #7 :: The 500 days of venmo

Working in progress...

>>>>>Web Application<<<<<

500 days of venmo

500 days of Venmo: A generate storytelling bot


Before I jump to my project, I want to talk a little bit about how my interest leads me to this topic.

RWET is the last class I took at ITP. At this moment, I have figured out a clear interest and focus on my art practice, which is the interdependent rivalry of digital culture and the actual culture we live. It's based on my own experience and inspired by a lot of artists' works trying to explore the systemic bias, glitch, and limitations.

Furthermore, I think it is a topic that only happens at a certain time that the future is not evenly delivered and people in our generation experienced both the previous ages without emerging media and now the high paced development of technology. It's a broad topic, but I'm digging into it.

My final piece is under the hood of this concept:

We rely on Venmo or digital cash platform. They bring us the convenient with the sacrifice of the security and the chivalrous.

The original idea is to generate a peer to peer conversation. (Link to my previous post)

In the end, I found it very hard to generate more than one round and the database I have between my friends and me is not big enough.

But the result of using movie script(500 days of Summer) as a source material is excellent, and I think I made a right call of using word vector in generating conversation as storytelling.

 "This is what I told myself everyday", my feeling of reading this poem,&nbsp;

"This is what I told myself everyday", my feeling of reading this poem, 

I noticed that, word vectors comes with an natural arc, if the closest sentences were in juxtaposition.

Right after the last assignment, Utsav transferred food split on Venmo and wrote a haiku in the memo in front of me, which was very inspiring. Venmo came to my view and became an exciting solution technically.



The conversation between two people on Venmo is not a direct response. A new memo can completely ignore the context from last one. But they can still be considered as a conversation in a large scale.

Venmo is a tool that has many layers of information, which can add extra assistance to help the third party understand/image the story behind the conversation.

In fact, digital service platform as a tool for storytelling is not a new story.  Fake personas are everywhere on Instagram created by artists, storytellers, or attention seekers. Like Amalia Ulman's Excellences & Perfections. 

Modern family pull off a hilarious episode that only on a Macbook with facetime.

From the Alt doc class last year, the instructor showed us an exciting website called Vicemo, which is the first time I realize, people are doing strange things on Venmo.

 People are buying drugs, booze and sex on Venmo, and even leave memo and emoji to talk about it.

People are buying drugs, booze and sex on Venmo, and even leave memo and emoji to talk about it.


Venmo is a very potential platform to do storytelling. It has the characters, who paid and who received, it has the reason, see the memo of transactions. It has suspense, the amount of money and the use of emoji. It's a place full of gossip and information leaking.

I surveyed with my friends and got some fascinating insights of how to dig gossip on Venmo:

Uber payments + Breakfast Payments = hookup
Over 70% + take turns = dating
Recurring payment = living together
Calmly charge half = break up

Some exciting screenshot also came from the survey:


In conclusion, it's the frequency & timing, money and memo that provide a text space for reading and understanding story on Venmo.


Venmo has been in the market for almost 10 years, the truth that it shaped our minds is revealed too.

“Venmo is Performative.” 
—Joe Pinsker, The Atlantic


Based on these facts, I set some fundamental goal of my final piece:

1. Conceptually, I want to reveal the truth that venmo or digital cash platform document our relationships unexpectedly and make us less chivalrous.

2. Technically, I want to take a challenge to build an arc for the story.

3. Also, at the language level, I think it would be fun to play with human's imagination and symbolization towards money, emoji and time.


I choose 500 days of summer to frame the entire story, in which the dates structured the story.

500 days of summer is an offbeat romantic comedy about a woman who doesn't believe true love exists, and the young man who falls for her. The film is presented in a nonlinear narrative, jumping between various days within the 500 days of Tom and Summer's relationship. There is an on-screen timer showing the day. 

The whole project is a combination of Tracery and Word Vector(SpaCy).

I use tracery to build the transaction template. Three templates were created to define the interactions between Tom and Summer, and among all characters in the movie. 

Screen Shot 2018-05-05 at 4.38.47 AM.png

I was trying to modified the chance of origin, so I duplicate the main transactions between Mia and Tom.

The basic format is: [ADJ FOOD or EVENT / Emoji ]*3(chances),  Word Vector Memo


Most the characters' names were collected by the nearest using word vector:

Screen Shot 2018-05-05 at 4.39.16 AM.png

The second step was to process the source material. The script of 500 days of summer is lack of dates and money number.

So for the dates, I built a random generator, generate a serial of numbers in the range from 1 to 500, and translate them into dates.

Screen Shot 2018-05-05 at 4.38.17 AM.png

For the money, I aim to practice my Python skills, so I used the regular expression to grab digits with $ sign in a large romantic movie script collection.

Screen Shot 2018-05-05 at 10.13.17 AM.png
Screen Shot 2018-05-05 at 4.38.04 AM.png

I used word vector to grab the closest sentence from the movie script. The seed sentences I used were an accident... But it turned out great.
I test the closet sentence with three seed resource:
a common memo: "Share Uber"
a interesting memo I found in my survey: "stupid salad" 
a memo I found on Vicemo: "I feel bad for taking all your drugs"

Screen Shot 2018-05-05 at 4.42.15 AM.png


For the emojis, my decision was made based on a report of emoji used on Venmo: (Link to the article)

Screen Shot 2018-05-05 at 4.45.13 AM.png

Here is the final result (more details on Jupyter notebook: link to github)

Screen Shot 2018-05-05 at 10.25.13 AM.png

I actually tried a couple of different romantic movie scripts: La La Land gave the best memo. Titanic gave more various adjective, food and musical events.


Performance and update

After the first presentation in class, I got some practical feedback:
1. It's better only to have one transaction of other people to interrupt the primary transactions, for better effect.

2. The ending could be more dramatic according to the movie, like the character can fall in love with others.

3. Make the amount of money more reasonable. Some of them are very interesting when they are ridiculously high or small or match the situation. But most of them are just generative numbers.

4. The way I read the emoji can be more dramatic

5. It's okay to break the generating rules, and only pick the interesting generative result and make a shorter and denser piece.

6. Consider only reveal one transaction at a time, but it depends. Sometimes exposing in advance leads to double times of laughing. 

So for the final presentation, I made a web application which pops up one transaction at a time with cash-in effect.(Link to the web application)

I also edited the result to filter out transactions among others and some boring ones.

The emoji script was grabbing from emojipedia. It's interesting that emojipedia gives a direct explanation, but some emojis have a particular meaning in the venmo context:

Screen Shot 2018-05-05 at 10.17.21 AM.png
Screen Shot 2018-05-05 at 10.18.08 AM.png


The final piece turns out to be fun to read and has a very noticeable arc.

From audiences' reaction, they must get the humor and concept hiding behind transaction frequency, actions(paid/charged), emoji use and ridiculous money amount. 

There still a long way to go:
1. Right now the piece has too many manual interruptions. The seeds I choose make no sense both conceptually and technically. It was for fun. The result was a surprise of random choice. I need a better way to find and place the seeds.

2.  I don't have a solution for generating impressive money numbers. Right now I'm grabbing numbers from movie scripts, It might be better if I change the source material.

3. Since I already build the web application, I should change the Tracery template to a JSON file generator and finish it as a web page.


Thanks to Venmo, We Now All Know How Cheap Our Friends Are, Jul 21, 2017
Common Venmo Charges, Decoded, Sep 25, 2017
A Love Story Told Through Venmo, Aug 5, 2017
The emoji of Venmo: food, booze, partying, and, occasionally, rent, Mar 20, 2015
10 Common Venmo Memos Decoded, Oct 31, 2017

Allison Parrish
Utsav Chadha
Tiri Kananuruk
Sebastian Morales
Huiyi Chen
Chelsea Chen
Danni Huang
Yuqiao Qin