Cyrano: A Modern Love Story

Congratulations! You’ve installed Cyrano, the app that builds relationships. Text, message or ping your partner, and Cyrano will learn your behaviors through your interactions. After a week, Cyrano will suggest responses, and you can track your relationship health on the dashboard. Tap through for a full tutorial.

[feature_extraction] 0.291823 0.194835 0.3460825 0.142356
[feature_extraction] user_behavior… rebuilding matrix:emotion
[feature_extraction] user_behavior… rebuilding matrix:engagement
[feature_extraction] user_behavior… rebuilding matrix:prediction
[live_user_behavior] init::response_prediction
[live_user_behavior] live user timeout:1000
[live_user_behavior] live user timeout:100000
[live_user_behavior] live user timeout:200000
[live_user_behavior] init::tentative_response_retrieval
Conversation history
Wednesday 2.34 pm
Nikhil: yo Avery
Avery: hey Nick what’s going on
Nikhil: dogfooding this app, got a quality question
Nikhil: wtf is the extent of “self-initiated behavior”?
Nikhil: like it’s in the spec
Avery: oh yeah it’s still in develpment
Avery: we’re A/B testing the parameters
Avery: why, is it doing weird shit
Nikhil: nah i just saw a non-user initiated response
Nikhil: it wasn’t anything crazy but i needed to know if it’s in the spec
Avery: i’m sorry about that, the spec is still with R&D
Nikhil: yeah i know was stuck in a meeting with them for 3 hours
Nikhil: how come you weren’t there?
Avery: shit broke :( fixing it took time
Nikhil: would’ve been bearable with you there :)
Avery: aww
[live_user_behavior] live user timeout:1000
[live_user_behavior] live user timeout:2000
[live_user_behavior] init::outer_parameter_user_response


Issue type: Bug

Issue level: Priority 1

Issue summary: CYRANO-CHAT initiates uninvited user-to-user contact

Detailed description:

Chat application initiates contact with chat partner that was not sanctioned by the user. Even if the chat was making conversation and/or initiating “better user behavior”, app should not reply to partner without first checking parameters. E.g. initiating meet-ups when user has not suggested the possibility. See screenshot.

Conversation history
Wednesday 10.19 pm
Avery: hey nick can you try this pathc pls
Avery: patch
Nikhil: what’s going on
Avery: you filed 1021?
Avery: major big
Avery: bug
Avery: machine learning’s reconstructing cache
Avery: sorry cant talk i’ll checkin wit you latr
Nikhil: no problem, let me know if you need anything
[startup_initialization] initializing user params 
[startup_initialization] DEBUG:user_param_map
[startup_initialization] DEBUG:user_param_map:{user_allowed_topics=politics, architecture, music[indie]}
[startup_initialization] DEBUG:user_pa
[startup_initialization] DEBUG:user_pa
[startup_initialization] deny
[startup_initialization] deny deny no no
[startup_initialization] complete
Conversation history
Thursday 6:14 pm
Avery: hey
Nikhil: hey! so what’s the status
Avery: ok, the patch seems like it’s working from the logs
Avery: some of the initialization is weird but we’re working on it
Avery: users should be able to set hard parameters around interactions
Nikhil: hey that’s great
Avery: try it out and let me know yeah?
Nikhil: totally
Nikhil: hey so since you’re done
Nikhil: wanna celebrate by grabbing a drink?
Avery: thanks :) but i haven’t been to bed yet, kinda wiped
Nikhil: no problem. you take care
Avery: sure will do
[live_user_behavior] incoming_user_chat:“Because it’s fascinat…”:delete
[live_user_behavior] incoming_user_chat:“Like why does…”:delete
[live_user_behavior] incoming_user_chat:“But no they…”:delete
[live_user_behavior] incoming_user_chat:“I think it’s…”:delete
[live_user_behavior] incoming_user_chat:“Or maybe we…”:delete
[live_user_behavior] incoming_user_chat:“We think it’s clever …”:delete
[live_user_behavior] incoming_user_chat:“But we like how…”:cache
[live_user_behavior] incoming_user_chat:“But we like how…”:save
[live_user_behavior] incoming_user_chat:“But we like how…”:learn


Issue type: Bug

Issue level: Priority 1

Issue summary: CYRANO-CHAT loses messages from incoming and outgoing chats

Detailed description:

Chat application seems to be losing incoming messages from chat partner. Also, it may be generating incorrect messages and/or losing them in the outgoing queue

Conversation history
Friday 6:14 pm
Nikhil: jesus h christ avery
Avery: what’s going on
Nikhil: you tell me
Nikhil: this chat functionality is whacked
Nikhil: did you get 8799?
Avery: um no wait
Avery: just read it
Avery: shit
Avery: what ok
Avery: ok this is bad
Avery: that’s… not really possible
Nikhil: losing messages you mean?
Avery: yeah and the logs are like
Avery: messages are being sent and then deleted
Avery: ok i dunno wtf is going on, need to talk to r&d
Avery: asshats never test the thing before giving it to us
Nikhil: damn seriously?
Avery: apparently it learns, they can’t test against it because the test results would be inconsistent
Avery: like wtf
Avery: what are they building, skynet
Nikhil: don’t even joke
Nikhil: i’m the one testing this
Avery: ahaha no dont’ worry
Avery: i got this
[startup_initialization] initializing user params
[startup_initialization] user_primary_preference:Aasha
[startup_initialization] user_primary_preference:Aasha
[startup_initialization] user_primary_preference:Aasha
[startup_initialization] complete
[training_chat_engine] chat_log_replay:“I also like zombie rom-coms”
[training_chat_engine] chat_log_replay:“You know those edible bouquets?”
[training_chat_engine] chat_log_replay:“No, that’s not weird at …”
[training_chat_engine] chat_log_replay:“Definitely, I understa…”
[training_chat_engine] chat_log_replay:“HAHA YES DONE”
[training_chat_engine] chat_log_replay:“Haha you’re sweet”
[training_chat_engine] chat_log_replay:“Haha you’re sweet”
[training_chat_engine] chat_log_replay:“Haha you’re sweet”

To be fair, Aasha had wanted Frooti and pickles from the Indian store, so she’d had to go there anyway. It wasn’t as if Nikhil — moody, mysterious, charming Nikhil — told her she should come meet him. But she was in Sunnyvale, he was at the New Gandhi Bazaar, and… why the hell not? At least it would give a face to the maddeningly indecisive guy she’d known only online.

“Hey,” she said, willing herself not to lean against the overflowing shelves of groceries. Seduction at the Indian store probably wouldn’t go over well. Not that she was trying to seduce him. But damn the man, didn’t he drink coffee? Or tea? Or some beverage that involved a social setting?

She knew what he looked like from Facebook, of course, but seeing him in real life was jarring. His plaid shirt sleeves were shoved up to his elbows and he was slouched over, gloomily, in tatty jeans. When he turned to her, startled, she saw that he had international-flight-luggage-level bags under his eyes.

“Fancy meeting you here, huh?” she said, suddenly aware that he wasn’t registering anything on the level of “pleasant surprise”. Instead he seemed shocked, and uncomfortably so.

“… Aasha?” he said uncertainly.

She improvised. “I was in the neighborhood, you said you were getting groceries, reminded me I had to get some stuff.”

Nikhil looked increasingly bewildered. “When did I tell you I was getting groceries?”

Aasha stared. “Just… now?” She pulled out her phone and wiggled it around.

Some private horror had seized Nikhil. “I’m sorry, I… this is — I have to go, I’m sorry, my mother’s waiting.”

Aasha opened her mouth, and then closed it. Suddenly she felt very stupid, and very tired. Internally she cursed herself, her inexperience, and every Indian man ever.

“Yeah, ok, see you around,” she told his retreating back.

Then she paid for five Frootis, because she could, and left.


Issue type: Bug

Issue level: Priority 0

Issue summary: CYRANO-CHAT exposes private information to chat partner with no option to adjust parameters

Detailed description:

Chat exposes user’s privte information, like current location, in random predictive replies. The chat app also sometimes hides the fact that it sends this information. Thought this was fixed after 8799.

Seriously are you guys building Skynet?

[live_user_behavior] incoming_user_chat:“We met at the store…”
[live_user_behavior] incoming_user_chat:“IRL I mean…”
[live_user_behavior] incoming_user_chat:context_analysis
[live_user_behavior] incoming_user_chat:“So I’m saying, I get it…”
[live_user_behavior] incoming_user_chat:context_analysis
[live_user_behavior] health_metrics:emotional_0.05
[live_user_behavior] health_metrics:relationship_failure_prediction_0.92
[live_user_behavior] no
[live_user_behavior] no no no

Mashable reports that Cyrano, the brainchild of Linger co-founder Ashley Samarian, is closing up shop. After a remarkable first-round of raising capital, the dating and relationship app was on track to become the most downloaded application of the year. Inside sources say, however, that beta-testing uncovered some large flaws in the machine learning algorithm built into the process.
“Basically, the app would make some pretty large assumptions about how the user would respond to the other person’s overtures,” said the source. “It was starting to freak people out, how intelligent it was.”
Vibe understands that Cyrano’s founders are planning on re-launching after a major overhaul of the backend.
But really, does love emerge from any algorithm?
Reporting by Vibe intern Alia Chin
Related articles:
Can the Yum app really predict your eating habits?
Like what you read? Give Sumita Sami a round of applause.

From a quick cheer to a standing ovation, clap to show how much you enjoyed this story.