Inspiration/ Abstract
The Market Opportunity
- In 2026, social media platforms such as Instagram and TikTok have been a main source of music discovery for the younger generation, Gen Z.
- Despite being a top-tier platform for Gen Z inspiration, Pinterest has historically lacked the short-form audio integration that drives 75% of music discovery on TikTok and Instagram (MRC Data).
- Pinlist aims to fill in this market gap, allowing users to translate highly aestheticized visuals (Pinterest Boards) into personalized music recommendations (Spotify Playlists).
- Not only a music discovery platform, Pinlist serves as a social media app for users to share their connected visual/audio aesthetics via Airbuds/ Spotify Wrapped inspired cards to a short form content styled For You page.
What it does
- pins == pinterest images
board == collage of pins
Multimodal Aesthetic Analysis: Uses an advanced CLIP (Contrastive Language-Image Pre-Training) model to classify visual content across 20+ specific mood labels, ranging from "Old Money Mediterranean" to "Dark Academia" and "Gothic."
Intelligent Music Mapping: Translates high-dimensional image embeddings into Spotify-ready audio features (danceability, energy, valence) to query a custom recommendation engine.
Interactive Explore Scroll: A mobile-optimized, TikTok-style vertical feed where users can swipe through aesthetic cards with auto-playing audio previews and immersive glassmorphic UI.
Board & Photo Modes:
- Board Mode: Aggregates hundreds of pins to create a "Mood Fingerprint" of an entire Pinterest presence.
- Photo Mode: Analyze local uploads or "fit pics" for instant, one-off vibe checks without requiring a Pinterest board.
Visual Vibe Cards: Generates high-fidelity shareable assets featuring a curated collage of pins, track metadata, and dynamic mood badges.
How we built it
Modeling
- CLIP-Powered Vision Pipeline: Built using
transformersandPyTorch, the system runs every image through anopenai/clip-vit-base-patch32model to compute similarity scores against niche aesthetic labels. - Mood Fingerprinting: Developed a custom algorithm that resolves subcategories (e.g., "wired earbuds" -> "performative") to provide a stabilized top-3 mood profile for every board.
Backend
- Flask & SQLite Orchestration: A robust Python backend manages the heavy lifting, handling image processing, DB persistence for the Explore feed, and secure API routing.
- Token-Exchange Architecture: Implemented a secure session management system (
X-Session-ID) to handle Pinterest and Spotify OAuth without exposing raw access tokens to the frontend. - In-Memory Token Store: Integrated a fast lookup system for active sessions to ensure low-latency requests during high-intensity image analysis.
Frontend
- Vanilla JS + Modern CSS: Created a high-end, responsive UI that mirrors Pinterest’s design language while introducing ambient "dark mode" aesthetics.
- Intersection Observer Engine: The Explore Scroll uses the
IntersectionObserverAPI to manage resource-heavy audio previews and animations, ensuring smooth performance during infinite scrolling.
Challenges we ran into
- CLIP Inference Performance: Running deep learning models on every pin in a massive board was initially slow. We optimized the pipeline using batch processing and stabilized the "Mood Fingerprint" through weighted probability distributions.
- The Auth Mesh: Coordinating two different OAuth flows (Pinterest + Spotify) without forcing the user into a loop of redirects. We solved this by creating a centralized
auth.jshelper that manages persistence via a unique session ID. - Screenshot Logic: Generating an image from a live DOM element is notoriously buggy. We innovated by creating a "Clean Stage" screenshot overlay, a dedicated UI state that strips away navigation, allowing users to take a perfect native screenshot of their card.
Accomplishments that we're proud of
- Zero-Shot Aesthetic Recognition: Successfully implemented a CLIP model that understands niche internet aesthetics (like "Performative Matcha" or "Coastal Beach") far better than standard image tagging.
- The Global Feed: Built a fully functional social layer where users can save their "Vibe Cards" to a shared database for others to discover.
- Multi-Platform Integration: Orchestrated a complex multi-platform login (Pinterest + Spotify) that feels unified, secure, and seamless.
- Dynamic UI: Achieved a professional-grade "look and feel" using modern glassmorphism and real-time rendering of masonry layouts.
What we learned
- Advanced AI Architectures: Deep dive into CLIP and Transformer-based models for zero-shot image classification.
- Multimodal Engineering: How to map visual "feel" (color, contrast, density) to mathematical audio parameters (valence, tempo).
- Secure Session Handling: Learning how to protect user data by using a "middleman" Flask server to hide sensitive OAuth tokens.
- Optimization: Implementing lazy-loading, intersection observers, and batch processing for high-performance web AI tools.
What's next for Pinlist
- Native Mobile App: Porting the high-speed Explore Scroll into a native iOS/Android experience using React Native.
- Enhanced GNN Logic: Implement a Graph Neural Network to analyze the relationships between pins to recommend even more niche, curated tracklists.
Log in or sign up for Devpost to join the conversation.