Dani Dorfman, a 30-year-old American UX designer, arrives in Amsterdam in January after losing both her job and her boyfriend, Jace, who cheated on her. Born three months premature, Dani spent her first six months in the hospital and grew up with severe asthma and overprotective parents who treated her as fragile. She has a port-wine stain birthmark covering part of her right cheek and nose and has spent her adult life drifting between tech jobs without finding a true passion. Her basement apartment in the De Pijp neighborhood turns out to be dark and dank, with a bathtub inexplicably placed in the middle of the bedroom. She meets her neighbor Iulia, a Romanian woman who has lived in the Netherlands for nearly seven years.
Dani starts work at CommerX, a fintech startup, but receives only administrative tasks rather than the design work she was hired for. The company shows signs of collapse from the start, with her recruiter already gone and employees quitting in droves. Within weeks her apartment floods. Shortly after, she runs a red light during rush hour and crashes her bike into another cyclist who turns out to be Wouter van Leeuwen, her first love. Wouter was a Dutch exchange student Dani's family hosted when they were both 17. They had a secret relationship that ended when he returned to Amsterdam and sent a devastating text saying he needed someone with "a little more ambition" (30). The heartbreak shaped Dani's approach to every subsequent relationship: She always ended things first, never letting anyone close enough to hurt her.
Now 30, Wouter is a physiotherapist, still recognizably the boy Dani once loved but matured and settled into himself. When Dani mentions her flooded apartment, he offers her a ground-floor unit in his family's canal house on the Prinsengracht, a UNESCO-protected building from 1760. She accepts but insists they will not be friends.
CommerX soon collapses after the CEO's financial misconduct comes to light. Dani learns she has 90 days to find new visa sponsorship or leave the country. Around the same time, Wouter gives her a ticket to the Van Gogh Museum, and they spend the day together, shifting from estranged exes to tentative friends. That evening, on a bridge over a canal, Wouter proposes a marriage of convenience: Dani needs a visa to stay, and he needs to be married to inherit the family building from his grandmother Maartje, who will only transfer the deed to a married grandchild. The marriage would last about a year, followed by a quiet divorce. Dani says yes.
She moves into Wouter's upstairs apartment, where she meets his rescue dog, George Costanza, a small dachshund-terrier mix. Wouter reveals that his father, Joost, had two strokes. Wouter moved home to serve as his primary caregiver and watched him die, an experience that led him to abandon his artistic ambitions for physiotherapy and explains his deep attachment to the family home. Dani tells her older sister Phoebe, who owns a bookstore in Pasadena, about the marriage. Phoebe is alarmed but ultimately supportive.
At Amsterdam's city hall, the ceremony is brief, though Dani's anxiety spikes when they sign a form declaring the marriage is not a
schijnhuwelijk, or marriage of convenience. They travel to Culemborg to introduce Dani to Wouter's family: his warm sister Roos, his more guarded mother Anneke, and Maartje. Roos and Anneke reveal that Wouter talked about Dani constantly after his exchange year, describing her as someone no one else could match, a revelation that contradicts the dismissive breakup text.
Back in Amsterdam, their domestic routine intensifies. Wouter covers the apartment in Post-it notes labeled with Dutch vocabulary. Dani enrolls in Dutch classes and reconnects with Iulia, her former neighbor, who now captains tours for Dam Fine Boat Tours, an alternative canal cruise company. A massage at Wouter's physiotherapy practice becomes electrically charged. At a bar with Wouter's friends, a lack of chairs forces Dani into his lap, and hours of sustained physical contact blur the line between performance and desire. That night, they share a passionate kiss on the kitchen counter before Wouter pulls back, insisting they should not do this while drunk.
They agree to forget it happened. A physiotherapy conference takes them to Bruges, Belgium, where a hotel mix-up strands them in a honeymoon suite. That night, Dani confronts Wouter about the original breakup. He confesses he was terrified of long-distance, knew he could not bear a relationship without physical closeness, and deliberately said something cruel so she would hate him and move on. When he saw her dating someone new on social media weeks later, he assumed she had recovered. Dani reveals the new boyfriend meant nothing. Thirteen years of mutual suffering stemmed from a single miscommunication. Their emotional walls collapse, and they sleep together for the first time since they were teenagers.
Back in Amsterdam, they agree to keep things casual, though Dani privately knows this is self-deception. She grows closer to Roos and Iulia, goes dress shopping, and finds a deep merlot gown that echoes the color of her birthmark, emphasizing rather than concealing it. She attends a corporate job interview but withdraws mid-conversation, realizing it would replicate the unfulfilling work she left behind. Instead, she applies for an open captain position at Dam Fine. One evening, Wouter presents her with a sketchbook of secret drawings: Amsterdam landmarks, George, and portraits of Dani in which her birthmark is reimagined as a galaxy, an ocean, a map. They discover they each got flower tattoos years ago symbolizing the other person. Wouter asks if being her husband is all she wants him to be. She says no.
The wedding celebration in Culemborg unravels when Dani's parents, Sharon and Bill Dorfman, arrive unexpectedly, invited by Anneke and Roos as a surprise. Sharon and Bill have come not to celebrate but to intervene. In the ensuing argument, Dani panics and blurts out the truth: "It's a green-card marriage. All of this is fake" (295). Both families are devastated. Wouter chases Dani to the train station and asks to be with her for real, but she is too overwhelmed by guilt and fear to reciprocate. He tells her, "You were more" (308), and walks away.
In the aftermath, Dani has her most honest conversation with her parents, explaining the pressure of being their "miracle baby," her hospitalization for depression and anxiety four years earlier, and her need for true independence. They agree on new boundaries. Phoebe tells Dani her pattern of preemptive breakups is a self-fulfilling prophecy. Dani visits Roos to apologize to the Van Leeuwen women and confesses in both English and Dutch that she loves Wouter. Maartje reveals she would have transferred the deed without the marriage requirement if Wouter had simply asked. Dani learns she has been hired at Dam Fine.
She leaves a Post-it note inviting Wouter to meet her at the intersection where they first crashed their bikes. From there, she guides him through three stops retracing their relationship: the café where they reconnected, the Van Gogh Museum where they became friends again, and the Dam Fine dock where she now works. At the final stop, she tells him she does not want the divorce. She says
Ik hou van jou, I love you, and he replies,
Ik hou het meest van jou, I love you the most.
In the epilogue, set six months later, Dani works as a Dam Fine captain guiding tourists through the canals. She and Wouter have decided not to divorce, and they have been renovating the apartment together. Dani traveled to LA to meet her niece, Hazel, and introduced Wouter to her parents. For their real wedding, they rent a beach house in Zeeland, a coastal province, with both families present and George Costanza in a bow tie, and they walk down the aisle together.