Professional work
Sounds of Morocco · label platform
The website and CMS of an independent Moroccan music label, live at soundsofmorocco.com and maintained since.
- Live · maintained
- In a pair
- in production since October 2025
- Live
- developers, working as a pair
- 2
01Starting point
Context & mission
The problem
Sounds of Morocco is an independent label supporting Moroccan electronic and traditional music artists. It needed a proper online home: an editorial site rich in audio and visuals, a team able to publish without a developer, and a channel for artists and partners to reach out.
The mission
As freelancers, working in a pair with another developer, build the label’s platform, take it live and keep it running.
As a pair
No fixed split: the two of us designed and built everything together, from the architecture to the Next.js front end, the Strapi CMS, the Supabase/PostgreSQL database, CI/CD and production maintenance.
02Execution
What I did
Decoupled architecture
Next.js for the interface, Strapi for content, Supabase/PostgreSQL for data: three separate responsibilities that evolve independently.
Editorial front end
Responsive interface with Next.js (App Router), TypeScript and Tailwind CSS, tuned for performance and media delivery.
Content and media
Strapi for content, Cloudinary to manage visuals and serve them over a CDN, React Markdown to render text.
Inbound forms
Demo submissions from artists and partnership requests, with validation and asynchronous processing.
Continuous delivery
Deployed on Vercel and Railway, builds automated with GitHub Actions, then ongoing maintenance: SEO, performance, Strapi updates and new features.
03Design
Architecture
Next.js 14 (App Router, TypeScript, Tailwind CSS) for the interface, Strapi v5 as the headless CMS, Supabase/PostgreSQL for data, Cloudinary for media. Hosted on Vercel and Railway, CI/CD with GitHub Actions.
- Label teamPublishes without a developer
- Strapi v5Headless CMS
- Next.js 14App Router · TypeScript
- Visitorssoundsofmorocco.com
- SupabasePostgreSQL
- CloudinaryMedia · CDN
- Vercel · RailwayHosting
- GitHub ActionsCI/CD
04The product
What it does
- The label’s catalogue, releases, news and merch.
- The label’s team publishes on its own through the CMS.
- Demo submission and partnership request forms.
05Impact
Results
- Platform live at soundsofmorocco.com.
- The label’s team manages its content independently through the CMS.
- Artists and partners reach the label through validated, secure forms.
06Wrap-up
Takeaways
What this project provesThat I can ship and run a real product for a real client: a live site, a team that owns its content, and maintenance that keeps going.
07Technology
Full stack
- Next.js 14
- TypeScript
- Tailwind CSS
- Strapi 5
- Supabase
- PostgreSQL
- Cloudinary
- React Markdown
- Vercel
- Railway
- GitHub Actions