Paris, France
Michel Salib
I build the systems a business runs on — and I run them.
By day, the data platform behind Matchem's horse-racing products; fifteen years of financial news before that — the CV has that story. Below is the other one: the services I wrote, deployed and still pay for, running under this domain as you read this.
- 6services live
- 510GitHub stars
- 50public repos
- 22Mdownloads
░░▒▒▒▒▓▒▒░░
░░░▒▒▓▓▓████▓▓▓▓▒░
░░░▒▓▒▓▓▓▓▓▓███████▓▒░░
░░▒▓▓▓▓▓▓▓█▓██████████▓▒░░
░░░░░▒▒▒░░░▒░░▒▒▒▒▓▓▓▓█████▓▓▓▒░
░░░░ ░░▒▒▒▒▓▓▓██▓▓▓▓▓▒░░
░░ ░▒▒▒▒▒▒▓▓▓███▓▓▒░
▒▒▒▒▒▒▒▒▓▓▓███▓▓▓▒░
░▒▒▒▒▒▒▒▒▒▓▓██████▓▒░
░▒▒▒▒▒▒▒▒▓▓▓██████▓▒░
░ ░░░▒▒▒▒▒▒▓▓▓▓███████▓░
░▒▒▒▒▒▒▓▓▓▓████████▒
░▒▒▒▒▒▒▒▓▓▓▓█████████░
░▒▒▒▒▒▒▒▒▓▓▓▓▓████████▓░
░░░░░░░░▒▒▒▒▒▒▒▒▒▓▓▓▓▓█████████▒
░░▒▒▒▒░░ ░░░▒▒▓▓▓▓▓▓▓▒▓▓▓▒▒▒▒▒▒▒▓▓▓▓▓███████░
░░░ ░ ░░░▒▒▒░░░░░░▒▒▒▓▓▓▓▒▒▒▒▒▓▓▓▓▓███████░
░░░░░░ ░▒▒▒▒░░░░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓███████▓
░▒▒▒▓░▒▒▒░ ░▒▓▓▒▒▒▓▒▓▒▒▓▓▓▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓█▓▓▓▒▒▒
░░▒░░░░░ ▒▒▓▓▒▒░░▒▒▒▒▒▓▓▓▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▒░
░░░░ ░▒▓▓▒▒▒▒░░░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▒▒▓▒▒
░▒▒▓▒▒▒▒░░░░░░░░░░░▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▒▒▒▓▒░
░▒▒▓▒▒▒░░░░░░░░░░░░░▒▒▒▒▒▒▒▒▓▓▓▓▓▓▒▒▒▒░
▒▒▒▒▒▒▒░░ ░░░░░▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▒▓░
░▒▒▒▒▒▒▒▒░░ ░░░░░▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▒▒▓▒
░ ░░▒▓▓▓▒▒▒▒▒░░░░░░░░▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▒▒▒
░ ░░▒▒▒▒▒▓▒▓▓▓█▓▓▓▓▒▒░░░░░░░▒▒▒▒▒▓▓▓▓▓▓▓▓▓▒▒
░░ ░░▒▒░▒▒▒▓▓▒▓▓▓▓▓▓▓▓▓▓▓▓▒░░░░▒▒▒▒▓▓▓▓▓▓▓▒▒▒░
░░░░▒▒▒▒░░░░░░░▒▒▒▒▒▒▒▓▒▓▓▓▒░░░▒▒▒▒▓▓▓▓▓▓▓░
░░▒▒▒▒▒▒░░ ░░░░░░▒▒▒▒▒▒▒▓▓▓▒▒▒▒▒▓▓▓▓▓▓▓▓▒
░▒▒▒▒▒░░░░▒░░░░▒▒▒▒▒▓▒▒▓▓▓▒▒▒▒▓▒▓▓▓▓▓▓▓▓▒
░▒▒▒▒░░░░▒▒▒▒▒▒▒▒▒▓▓▓▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒░
▒▒▒░▒▒░▒▒▒▒▒▒▒▓▒▓▓▓▓▓▓▓▓█▓▓▓▓▓▓▓▓████▓▓▓█░
░░░▒░▒▒▒▒▒▓▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓█████████▓▓▒███░
░░░░░▒▒▒▒▒▓▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓████████▓▓▓▓███▓░
░░░▒▒▓▓▓▒░░
░░▒▒▓▓▓▓▓█▓█▓▒░░
░░▓▓▓▓▓▓▓██████▓▒░
░░░░ ░░░▒▒▓▓▓█▓▓▓▒░░
░ ░▒▒▒▒▓▓██▓▓▒
░▒▒▒▒▒▒▓███▓▓░
▒▒▒▒▒▒▓▓████▓░
░▒▒▒▒▓▓█████▓░
░▒▒▒▒▒▓▓▓█████▒
░▒▒▒▒▒▒▓▓▓██████▒
░░▒░░ ░░▒▓▒▒▒▒▒▒▒▒▒▒▒▓▓▓█████▒
░░░ ░▒▒▒░░░░░▒▒▒▓▓▒▒▒▓▓▓█████░
░▒▒▒▒░ ░▒▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓██▓▓▓░
░░░░░ ▒▓▓▒▒░▒░▒▓▓▒▒▒▒▒▒▒▓▓▓▓▓▓▒░
░ ░▒▓▒▒░░░░░░░░▒▒▒▒▒▒▓▓▓▓▒▒▒░
░▒▓▒▒░░░░░░░░▒▒▒▒▒▒▓▓▓▓▒▒▒
░▒▒▒▒▒░ ░░░▒▒▒▒▒▒▓▓▓▓▓▓▒
░░░▒▓▓▓▒▒░░░░░░▒▒▒▒▒▓▓▓▓▓▒▒
░ ░░▒▒▒▓▓▓▓▓▓▓▓▓▒▒░░░▒▒▒▓▓▓▓▓▓▒░
░░░▒▒░░░░▒▒▒▒▒▓▓▓▓▒░▒▒▒▓▓▓▓▓░
░▒▒▒▒░░░░░░▒▒▒▒▒▓▓▒▒▒▒▓▓▓▓▓▓
░▒▒▒░░▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒░
░░▒▒▒▒▒▒▒▓▒▓▓▓▓▓▓▓▓▓▓████▓▓█░
░░░▒▒▒▓▒▓▓▓▓▓▓▓▓▓██████▓▓▓█▓░
scroll
- 15years shipping
- 20developers led
- ÷5infra cost
- 10M+req / day at peak
Nights and
weekends. Built
because I wanted
to use them.
What I build when nobody is paying me
Day job is a platform a business depends on. These are the opposite: small, finished, and running on infrastructure I pay for myself — 6 services under this domain, one repository, one deploy.
Running now · 5 projects
Flagship · 6 services
Notion connectors ↗
Turns a plain Notion database into a self-updating tracker — type a title, the connector fills in the rest. Four sources plus two scheduled backup jobs.
Finds which startup file sets each environment variable, audits your PATH, and changes them without leaving you to guess which dotfile wins.
media-cast ↗Streams local media straight to a Chromecast, without uploading it anywhere first.
audio-tray ↗A tray app for switching audio devices — and my excuse to write Rust in anger rather than in tutorials.
updater ↗Update checking and installation for Windows desktop applications.
Open source · the Best Comparator years 50 repos · 510 stars
Published while running my own company on Symfony2 — which is why they all carry its initials. Archived now, but real teams installed them.
| Repository | What it did | Lang | Stars |
|---|---|---|---|
| BCCCronManagerBundle | Cron table manager for Symfony2 | PHP | 163 |
| BCCResqueBundle | php-resque job queues, integrated into Symfony2 | PHP | 119 |
| BCCExtraToolsBundle | Translation extractor, locale date parsing, unit conversion | PHP | 93 |
| BCCAutoMapperBundle | Object-to-object mapper | PHP | 63 |
| Gi7 | A GitHub client for Windows Phone 7 | C# | 31 |
| BCCEnumerableUtility | Array, string and enumerable helpers | PHP | 21 |
| chai-shallow-deep-equal | Shallow deep-equal assertion for Chai | JS | 20 |
| 7 of 50 repositories | 510 | ||
Everything else
with my name
attached.
The rest of the map
If you arrived here from a search, this is where the trail continues. I am not looking for a role — but LinkedIn is open if something is worth a conversation.