Social Media Intelligence Platform for YouTube (2013-2015)
MoonMetrics was a web platform that provided analytics, metrics, and actionable insights for YouTube channels and content creators. Built during StartupBus Europe 2013 and developed until early 2015.
- Channel Analytics - Track subscribers, views, video count, and growth over time
- Video Statistics - Detailed metrics for individual videos
- YouTube Backlink Analysis - First platform to analyze which channels linked to others (unique feature in 2014)
- Automated Optimization Checklist - Actionable recommendations to improve channel performance
- Channel Discovery - Algorithms to find and index new YouTube channels
- Rankings - Top channels by subscribers, views, and growth
- Continuous Monitoring - Automated tracking of millions of channels
Backend:
- PHP 5.5+
- Symfony 2.4 (MVC Framework)
- Doctrine ORM (Database abstraction)
- Redis (Queue system + caching)
- MySQL
APIs & Integrations:
- YouTube Data API v3
- Google OAuth
- Facebook OAuth (via HWIOAuthBundle)
- LinkedIn OAuth
- Bit.ly API (URL shortening)
Frontend:
- Twig (Template engine)
- Bootstrap
- jQuery
- Highcharts (Data visualization)
Infrastructure:
- Asynchronous job queue with Redis
- 12 CLI commands for batch processing
- Web scraping for additional data
src/
└── Acceseo/
├── MoonmetricsBundle/ # Main application bundle
│ ├── Command/ # 12 CLI commands for batch operations
│ │ ├── AsyncIndexallCommand
│ │ ├── PerformIndexChannelCommand
│ │ ├── PerformIndexVideoCommand
│ │ ├── PerformRefreshChannelCommand
│ │ └── ...
│ ├── Controller/ # Web controllers
│ ├── Entity/ # Doctrine entities
│ │ ├── Channel
│ │ ├── ChannelStatistics
│ │ ├── Video
│ │ ├── VideoStatistics
│ │ ├── User
│ │ └── ...
│ ├── Services/ # Business logic
│ └── Resources/
│ └── views/ # Twig templates
│
└── VideoApiBundle/ # YouTube API integration
└── Services/
├── GoogleApiService # YouTube Data API wrapper
├── YoutubeProxyService # Caching proxy
└── YoutubeScrapingService
Note: This is archived code from 2013-2015. It requires PHP 5.5-7.0 and dependencies from that era.
- PHP 5.5 - 7.0
- MySQL 5.x
- Redis Server
- Composer
-
Clone the repository
git clone https://github.com/YOUR_USERNAME/moonmetrics.git cd moonmetrics -
Install dependencies
composer install
-
Configure parameters
cp app/config/parameters.yml.dist app/config/parameters.yml
Edit
parameters.ymlwith your database credentials. -
Configure API keys
You'll need to set up your own API keys in:
app/config/parameters.yml- Database, Symfony secretapp/config/hwioauth.yml- Facebook/LinkedIn OAuth (optional)app/config/bitly.yml- Bit.ly API (optional)src/Acceseo/VideoApiBundle/Resources/config/services.xml- YouTube API key
-
Create database
php app/console doctrine:database:create php app/console doctrine:schema:create
-
Run the server
php app/console server:run
-
Index channels (CLI)
php app/console moonmetrics:index:channel <youtube_channel_id>
MoonMetrics was born during StartupBus Europe 2013 — a hackathon where 150+ entrepreneurs from across Europe built startups while traveling 4,000 km by bus through France and Italy over 72 hours, ending at the Pioneers Festival in Vienna.
I couldn't afford the registration fee at the time, so I reached out to my network and secured sponsorships from Acceseo, IndianWebs, Hostienda, and Vodafone. In exchange, I wore a t-shirt with their logos throughout the entire event so they'd appear in all the hackathon photos.
The bus experience was intense:
- Writing on the bus windows with markers to brainstorm
- Surprise stress tests — like being told to pitch inside a hotel sauna to simulate the pressure of stage lights
- Racing against the clock to reach St. Mark's Square in Venice
- Competing against StartupBus teams from other countries in Italy
MoonMetrics aimed to be more than just analytics — we wanted to provide actionable insights. Our unique features in 2014:
- YouTube Backlink Analysis — We were the first to analyze which channels featured or linked to other channels
- Automated Checklist — A system that told YouTubers exactly what to improve on their channel
- Massive Indexing — We tracked millions of YouTube channels continuously
The platform did launch and was fully operational. Without any marketing, link-building, or press releases — just submitting the sitemap to Google — organic traffic started flowing immediately.
Results:
- €50-150/month from AdSense alone
- Zero promotional spend
- Millions of channels indexed
- Google ranked the pages well
The problem: the infrastructure costs (disk space for millions of channels + electricity) consumed roughly half of the revenue. As a "side project" it made money, but not enough to split between multiple people.
In 2014, I sold my car (a Nissan Almera) to fund a trip to Miami to pitch to investors. We chose Miami over San Francisco because SF was out of budget, and Miami gave us access to both the US and Latin American markets.
But most investors didn't understand the YouTube creator economy in 2014. It was too early. The ecosystem that seems obvious today was considered strange back then, even in the US, even among "innovative" entrepreneurs.
- Timing — We needed revenue NOW, but the project needed time to grow organically
- Infrastructure costs — Disk space for millions of channels ate into thin margins
- Market timing — In 2013-2015, "people making money on YouTube" sounded like science fiction, especially in Spain
- Resource split — The revenue couldn't sustain multiple people
I'm convinced it could have worked with more time and patience. The growth was there, the SEO was working, the product was solid. But when you're bootstrapping without resources, everything becomes a countdown.
"Starting a company when you have neither time nor money isn't ideal. Everything becomes a countdown, everything feels 'too expensive' (even when it isn't), and the pressure to make it work NOW can suffocate the project and burn out everyone involved."
This was one of my first serious entrepreneurial ventures. The technical skills I developed here (API integrations, queue systems, data processing at scale) became foundational for everything I built afterward.
Special thanks to the sponsors who made my StartupBus participation possible:
- Acceseo — Also became a technical partner for the project
- IndianWebs
- Hostienda
- Vodafone
The anime-style astronaut mascot was designed by Maru Exposito, a friend based in Japan who runs an animation studio.
The design/ folder contains the original Balsamiq mockups and exported screenshots from 2014:
design/
├── balsamiq/ # 19 original .bmml mockup files
└── screenshots/ # 73 exported PNG designs
The database/moonmetrics.sql file contains the complete database schema with these main entities:
Channel— YouTube channelsChannelStatistics— Historical statistics per channelVideo— Individual videosVideoStatistics— Historical statistics per videoUser— Platform users (FOSUserBundle)Platform— Video platforms (YouTube, potentially others)Uploader— Content creators
This project is released as open source for educational and historical purposes.
MIT License — See LICENSE for details.
Jordi Cor
- StartupBus Europe 2013 participant
- Built MoonMetrics as CEO/CTO (2013-2015)
This is archived code from 2013-2015, released as-is for educational purposes and as a historical record of the project.


