© 2013-2025. All rights reserved.Built and designed with ♥ in Montreal using Next.js.
David Sanchez
  • Blog
  • Projects
  • Travels
  • Recipes
  • About

BeatPlatform.app Monorepo Architecture

Built with Turbopack/Turborepo • Next.js 16+ App Router • UI Frameworks: Material-UI & Shadcn/UI • Kysely Migrations

VercelVERCEL HOSTING

app

Material-UI
The main user interface (https://beatplatform.app).
AlgoliaIntegrated Search
Better Authbetter-auth Framework
Login Methods
Magic Link
SpotifySpotify OAuth
MixcloudMixcloud OAuth
SoundCloudSoundCloud OAuth

admin

Shadcn/UI
Better Authbetter-auth Framework
Internal Auth
GoogleGoogle OAuth
DB Migrations
Managed via Kysely
Triggers useworkflow
AlgoliaManual Indexing

automation

Crons
vercel.json jobs
Algolia Sync
DB data indexing
useworkflow
ResendTriggers Resend Emails

MCP-Server

Shadcn/UI
ChatGPT App Backend & UI (https://mcp.beatplatform.app).
Handles OpenAI Workflows

Vercel Blob Storage

Dedicated storage for entity images

artists Images
users Images
events Images
festivals Images
podcasts Images

Shared Packages / Core Libraries

core

Countries list/i18n utilities
Date and time formatting
GeoJSON data for maps
Normalizers and data type helpers

db

All database schemas
Kysely instance configuration
Utility functions for querying

ui

Material-UI components
Icon library and assets
Theming and style guides

providers

Encapsulates logic for integrating with all external data APIs (not exhaustive list):

TicketmasterTicketmaster
BeatportBeatport
BandsintownBandsInTown
SongkickSongKick
MusicBrainzMusicBrainz
Podcast IndexPodcast Index
...
Local Tooling

BeatPlatform CLI

Powered by:commander.js

Local, non-deployed utility scripts for developers.

Import
Sync
AlgoliaSearch Engine

Algolia Realtime Search

Fast, fully-indexed content search service.

InstantResponse
DedicatedIndexes
Monitoring, Logs & Analytics

Sentry, Vercel & Google

Application Performance Monitoring and Logging.

Sentry
Vercel logs
Vercel Analytics
Vercel Speed Insight
Google Analytics
Managed Database

Supabase Postgres

Strictly Relational Data • Production & Dev Environments

PgBouncerPooling
Messaging Stack

Resend & Novu

Email delivery (Resend) and multi-channel notifications (Novu).

ResendResend
NovuNovu

Features

Personalized Watchlist

Track your favorite artists, festivals, labels, podcasts, and venues in your personalized Watchlist. Stay updated and never miss out on what matters to you.

Complete Artist Profiles

Access comprehensive artist profiles with the latest details, links, and insights—all conveniently in one place.

Personal Music Stats

Discover your top countries, favorite genres, most-played artists, and preferred venues—visualized to highlight your unique music journey.

Podcast Streaming

Enjoy instant access to your favorite shows. New episodes appear on BeatPlatform as soon as they're released on major platforms.

Advanced Filtering

Filter by date range, location, distance, artist, festival, venue, genres, event types, and ticket availability. Combine multiple filters for a highly personalized view.

Event Discovery

Stay updated on upcoming concerts and festivals near you. See events from artists, venues, and festivals you follow with personalized recommendations.

Platform Integration

Import your favorite artists directly from Spotify, SoundCloud, and Mixcloud. Quickly sync your music taste and skip the manual setup.

Real-Time Updates

Continuously updated stream of music content including podcasts, events, and festivals. Stay informed about the newest festival lineups and trending content.

Aggregated Data

Combines data from Bandsintown, Beatport, Spotify, SoundCloud, Ticketmaster, and more into one unified platform. Everything curated in one spot.

Live Experiences

Engage with real-time widgets for live events, voting, and music sync. From Top100DJs to Spotify and global festivals—seamless fan experience.

AI-Powered Access

Use BeatPlatform directly in ChatGPT, Claude, or any AI assistant. Query artists, discover events, and explore the scene through natural language.

Global Coverage

Discover emerging festivals and hidden gems from around the world. Explore your most visited countries and venues based on your travel history.

Personalized Dashboard

Get a personalized dashboard tailored to your music taste. Discover recommendations based on your favorite genres and explore curated sections for podcasts, livestreams, and releases.

Latest Updates Feed

Continuously updated stream highlighting relevant and trending content in electronic music. Intuitive design with smooth scrolling to keep you connected.