Skip to content
All independent projects

Coffee with my mom and our family overseas

I built Finjan for calls with my mom, and to give her another way to spend time with our family overseas.

We open it alongside a phone call, choose our coffee, and join the same 3D table. We can see each other’s cups, take a sip, make a wish, and read the grounds together.

Visit Finjan
Role
Design and development
Made with
Three.js · Supabase · Claude
Status
Live prototype
When
2026
The order panel: Welcome! Let’s have a seat, then your name, Syrian or Turkish coffee, and a choice of cups, with Pour my coffee.

From order to reading

01 / 07

Tap the phone to go through it yourself.

Why I made it

I wanted our calls to feel more like a visit.

I wanted something my mom and I could do together while we talked on the phone.

Coffee gave me a familiar place to start: choosing a cup, pouring, sipping, and taking our time together.

I also wanted her to be able to share it with our family overseas.

Finjan stays open beside the call. We use the phone for the conversation and Finjan for the table.

Finjan on Nisa’s phone: her gold-rimmed cup on the courtyard table, with her seat and Mom’s at the table below.
On Nisa’s phone, with Mom at the table

Getting started

Open a link. Choose a cup. Join the table.

I wanted inviting my mom to be as simple as sending her a link. She can join without creating an account.

The setup asks for a name, coffee style, cup, and sweetness. I used large text and kept the choices short so we could get to the table without much explanation.

The coffee choices include Syrian coffee with cardamom and Turkish coffee. Each person chooses their own cup, so we can recognize whose is whose once we’re sitting together.

Finjan’s order panel: Welcome! Let’s have a seat, then four numbered steps: your name, Syrian or Turkish coffee, a cup, and how sweet.
The order panel: a name, a coffee, a cup, and the sugar

The coffee

We follow the ritual at our own pace.

The steps come from the coffee ritual itself.

Choose the coffee and sweetness. Pour and sip. Make a wish, flip the cup, let it cool, then read the grounds.

I kept those actions separate so we could take our time. We can leave Finjan open while the conversation carries on, then return to the coffee when we want to.

  • The order panel: Welcome! Let’s have a seat, then your name, Syrian or Turkish coffee, and a choice of cups, with Pour my coffee.
    Order
  • A brass rakweh pouring coffee into the cup in the courtyard, with the prompt Pouring your coffee, with Nisa and Mom at the table.
    Pour
  • A full cup, with the prompt Tap your cup to sip, and the Sip button, with Nisa and Mom at the table.
    Sip
  • A nearly empty cup, with the prompt Make a wish, and turn your cup once, and the Turn the cup button, with Nisa and Mom at the table.
    Wish
  • The cup, turned. Now flip it onto the saucer, with the Flip the cup button, with Nisa and Mom at the table.
    Flip
  • The cup upside down on its saucer, with the prompt Let it cool. Keep talking, a timer, and Read it now, with Nisa and Mom at the table.
    Wait
  • Your cup: the grounds seen from above, the thumbprint card beside the first shape, and Share my reading.
    Read
From order to reading

Sitting together

I can see when she takes a sip.

In together mode, we each have a seat and a cup at the same table. When someone sips or flips their cup, the others can see it happen.

That gives us something to respond to during the call. We can follow each other through the ritual, compare our cups, and look at the readings together.

Empty seats let someone else join, including family calling from another country.

The table: round seats for Mom and Nisa, each showing their cup and sipping, beside two empty seats to invite someone.
On Mom’s phone: both of us at the table, sipping

Talk cards

A question for when we’ve run out of updates.

I added talk cards after using Finjan on our calls. Sometimes we’ve caught up on the week but want to keep talking.

Either person can draw a card. It appears on both screens with the name of whoever drew it.

I wrote prompts about family, memory, and home in English and Syrian Arabic. The deck has three levels: Warm up, Opening up, and From the heart. We can choose how much we feel like sharing.

The cards are optional. We can draw another, stay with one question, or ignore them and talk.

  • Finjan on Nisa’s phone: both seats at the table, and an Opening up card: What’s something about your parents you only understood later? You drew this.
    Nisa
  • Finjan on Mom’s phone: both seats at the table, and the same card, Drawn by Nisa.
    Mom
One card on both phones: Nisa draws it, and Mom sees it with her name

The setting

Somewhere we’d like to sit.

I made three places to have coffee: a Damascus courtyard, a coffeehouse, and a table above the city at night.

We can change the setting without starting the coffee again. Cups, flowers, water, and optional music help give each place its own feel.

For the interface, I drew from Damascene Ajami interiors: gilt arches, painted borders, and Arabic calligraphy. I wanted those details to feel familiar to my family, and each place to be worth looking around.

  • Finjan in the courtyard: a light limestone theme with gold, the cup on the inlaid table under jasmine, with Nisa and Mom at the table.

    Courtyard

    أرض الديار

    Morning

    Limestone and jasmine white with dark ink and a deeper gold, and fountain turquoise for small accents. Calm and bright.

  • Finjan in the coffeehouse: a warm brown theme with pale gold, the cup under lantern light, with Nisa and Mom at the table.

    Coffeehouse

    قهوة شامية عتيقة

    Late afternoon

    Amber and lantern light, honey-brown walnut, cream text and pale gold. The warmest of the three.

  • Finjan at night: a deep blue theme with moon gold, the cup on a marble table with city lights behind, with Nisa and Mom at the table.

    City at night

    سهرة عالبحر

    Evening

    Lapis blue taken from the night sky rather than black, with moon-gold and cream. The calmest and coolest.

Each place sets the theme

Language

It should sound like us.

Finjan works in English and Syrian Arabic. The Arabic interface reads from right to left.

I paid attention to the smaller pieces of language too: how we’re welcomed, how we choose our coffee, and what the instructions ask us to do. Those words are part of the visit.

I’m continuing to refine the wording as I use it.

  • Finjan’s order panel in English.
    English
  • Finjan’s order panel in Arabic, mirrored right to left, with the button صبّلي قهوتي.
    العربية
The order panel in English and in Syrian Arabic, laid out right to left

Designing and building

I worked through the design in the browser.

I designed and built Finjan with Claude as a coding partner, using Three.js for the 3D scenes and Supabase to keep the shared experience in sync.

Working in code let me try the coffee actions, camera positions, and interface together. I could pour a cup, use the controls on my phone, notice what felt awkward, and change it.

I made the decisions about the scenes, cups, language, and order of the ritual. Having my mom in mind helped me judge the details: could she read this, would she know what to tap, and would it interrupt our conversation?

  • An earlier version of the courtyard table, with flatter light and simpler foliage.Before
  • The courtyard table today, with baked light, leafy jasmine and a lemon tree.Now
An earlier version of the courtyard, before baked lighting, real foliage, and scanned surfaces, beside today’s

Where it is now

Live, with more to work through.

Finjan is a working prototype. The coffee readings are drafts, and I want someone who knows the tradition to review the symbol meanings before I call them finished.

I’m still refining the language and shared experience. I also want to learn which talk cards we return to and how it works for my mom when she uses it with our family overseas.

Your cup: the grounds seen from above, with arched cards for your thumbprint and each shape, and Share my reading.
Prototype reading

Reflection

The person I was designing for was never abstract.

I knew who would open the link, which language she might choose, and whose company she wanted to share.

That made the decisions specific. An account would be another step before joining. Small text would be harder to read. Too many instructions would take attention away from the call.

I started with the idea of having coffee with my mom. Building it gave me a way to think about how she could share the same visit with family farther away.

Back to top

Next independent project

Tend

The energy, carbon, and water behind your AI coding.