vibesync

Your Personal Desk Companion

Problem

Digital interactions often feel transactional and flat because they fail to capture the emotional energy or vibe that makes human connection feel authentic.

Solution

A dedicated desk device that cross-references your Spotify vibe with your Google Calendar and recommends songs to match your next event.

Role

Product Designer & Engineer

Tools

Python, Next.js, Raspberry Pi

Hardware

Raspberry Pi 4 · 7" DSI Touchscreen · 3D-printed enclosure

Timeline

Jan 2026 - Apr 2026

Overview

vibesync is a dashboard that syncs your Spotify and Google Calendar data to understand whether the vibe of your current music matches — or fits — your next calendar event.

It lives on your desk as a physical touchscreen device, not your phone. That's intentional: pulling out your phone to fix your focus is what breaks it in the first place. vibesync replaces that friction with a dedicated hardware ritual.

A vibe score (0–100) tells you at a glance how well your current track matches your upcoming task. A mismatch triggers AI-powered recommendations to get you in the right headspace.

User Story + Persona

M

Maya

Graduate Student · Works from home · Constant music listener

“I just need the right vibe — but finding it always pulls me down a rabbit hole.”
Background

Maya is a grad student who lives and works from home. She's a power user of Google Calendar and listens to music constantly — her playlist shifts widely depending on her mood.

Pain Point
  • Coming home from the gym hyped, she needs to shift into study mode — but switching music means opening her phone and getting lost scrolling.
  • The fix becomes the distraction.
Goal
  • Transition between moods effortlessly without ever picking up her phone.
  • Have her music match her calendar automatically.

Before

Struggling to get into the right mindset. Music and upcoming tasks are out of sync, causing distraction and context-switching.

With vibesync

The dashboard surfaces a vibe match score and recommends tracks aligned to the next event — a low-effort nudge to shift mental mode.

After

Better focus without reaching for the phone. vibesync handles the transition so you don't have to think about it.

User Flow

From opening Spotify to getting a vibe score — the full interaction path.

vibesync user flow diagram

Initial Ideas

Below is the inital idea I had for vibesync as well as an intial demo of the dashboard.

Hand-drawn dashboard design sketch on graph paper

Tech Stack

Python Client

Python 3.x · Spotipy · Google Calendar API · python-socketio

Polls Spotify for the current track and pushes data to the server via WebSocket.

Node.js Server

Node.js · Socket.io · OpenAI SDK · Winston

Orchestrates data from Python, calls GPT-4 for vibe analysis, and broadcasts results to the dashboard.

Dashboard

Next.js · React · TypeScript · Socket.io Client

Runs in Chromium kiosk mode on the Raspberry Pi — receives real-time updates and renders the UI.

APIs

Spotify Web API · Google Calendar API · Duke AI Gateway (GPT-4)

Track metadata, upcoming event context, and LLM-powered vibe scoring.

vibesync systems diagram showing codebase, Raspberry Pi, and physical display layers

Hardware Build

The physical form went through several enclosure iterations before landing on the final framed stand — a Raspberry Pi 4 connected via DSI ribbon cable to a 7" touchscreen, housed in a 3D-printed white frame.

Bare Raspberry Pi device with exposed wires

Knew I had to figure out a way to tuck in the wires behind the original device

Initial styrofoam frame prototype

Initial prototype of frame using the styrofoam the screen came in

First 3D printed enclosure attempt in blue
Second 3D printed enclosure attempt in gray

↑ 1st + 2nd attempts at 3D printing, but the sizing was wrong ↑

Final enclosure being printed on Prusa Core One

The actual frame being printed!

Final enclosure displaying the vibesync dashboard

Printed frame displaying vibesync data!

Final 3D printed enclosure with stand, front view
Final 3D printed enclosure with stand, side view

Printed frame with stand

Reflection

What I Learned

  • Design doesn't end at the screen; it includes the environment the user is in
  • Learned how to design with an engineering mindset!

Next Steps

  • Have music playing + changed from the screen
  • Create a way for user to have curated playlists
  • Clean dashboard so there is less info on the physical screen, but have a web app that shows other info if a user wants to look at it

Continue exploring

View All Projects →

Aishi Dua

Product Designer crafting simple, accessible, and aesthetic digital experiences.

Contact

Available for work

© 2026 Aishi Dua. All rights reserved.

Built with Next.js, Claude Code, and lots of coffee :)