Paris, France

William Pereira

Retail Store Manager & Independent Developer

Ten years in specialty retail, five of them running stores in Paris — most recently opening one from an empty unit. I came to the shop floor from software engineering, and never really left it: I still build the tools my teams use.

10 yrs retail · 5 yrs management

Management track record

4.9–5.0★
Google rating across both stores
0
customer reviews
8–10
team members managed
2 / 4
of the chain's Paris stores covered

Gare Montparnasse — opened Apr 2025

Built the team, the routines and the floor from nothing

Opened from an empty unit. Revenue grew roughly +69% in the four months following launch, outpacing the store network while comparable stores fell over the same window. 5.0★ across 213 reviews.

Neuilly-sur-Seine — May 2020 to Apr 2025

Grew an established store over a five-year tenure

Grew revenue about +36% over the five-year tenure (~7.9% a year) across 64,000 transactions, ahead of the store network over the same period. Review average rose from 4.54 to 4.77, closing at 4.9★ across 364 reviews.

Before management — 2014 to 2020

Shop floor and software engineering

Sales Advisor at Vapostore (2016–2020) before taking over a store, and Junior R&D Developer at Docubase Systems (2014–2016), building in Java, Spring, AngularJS and NoSQL. The engineering background never went away — it became the tooling my teams now run on.

Figures are trading-day normalized and reconciled against two independent data sources — not marketing numbers. Full audited detail available on request.

Things I've built

Vapostore Dashboard flagship project

The real VapoVigie live dashboard — per-store revenue leaderboard against daily targets, dark theme with amber accent

The real dashboard — figures swapped for this screenshot

A multi-tenant revenue, stock and analytics dashboard covering four retail stores, grown into a small SaaS product.

Over thirty shipped features: live revenue leaderboard, expiry/DLUO tracking, cross-store transfers writing into a live point-of-sale system, and an analytics suite (sales heatmaps, RFM segmentation, revenue forecasting). Found and fixed a seven-year-old double-counting bug in production data by reconciling it to the cent against register logs.

Flask · PostgreSQL · SQLite · pytest · canary deploys

Recruiter KPI Page

A password-gated one-pager built for exactly this purpose: showing vetted recruiters the audited numbers behind a retail-management career.

The real Impact page after decryption — dark editorial layout with a store-tenure timeline and headline revenue stats

The real page, decrypted — figures swapped for this screenshot

A build pipeline reads raw sales data, seals it into a single self-contained static page, and encrypts the payload client-side (AES-256-GCM, password-derived key, 310,000 PBKDF2 iterations). A custom build step scans the output and aborts if any sensitive figure would leak into the static HTML — it caught a real leak during development.

Python · Web Crypto API · zero JS frameworks

Live Esports Tracker

A live match-schedule and box-score tracker aggregating five different sports data APIs, designed and shipped in a single day.

Esports Tracker live schedule screen showing LCK, LPL and Esports World Cup matches

Live at esports.williampereira.fr

A rate-limit incident on launch day was traced to concurrent workers multiplying outbound API pressure — fixed by an architecture change (single worker, in-memory TTL cache) rather than throwing more infrastructure at it.

Flask · vanilla JS · multi-API aggregation

Local LLM Fleet MCP Server

A zero-dependency tool server that lets my coding assistant offload work to spare compute on my home network instead of the cloud.

Auto-discovers available local nodes, picks the cheapest one by tier, fails over when a node goes down, and backs off automatically when the media server is already using the GPU.

Python (stdlib only) · MCP · Ollama

Skills

Management

  • Sales performance & P&L
  • Team coaching & development
  • Store openings
  • Merchandising
  • Customer experience

Full-stack

  • Python · Flask
  • Java · Spring
  • PostgreSQL · SQLite
  • Vanilla JS, no framework lock-in

Infrastructure

  • Linux · Docker · systemd
  • nginx · Let's Encrypt
  • Self-hosted / homelab

Data & hardware

  • Data reconciliation & auditing
  • ESP32 · RFID
  • Local / self-hosted AI tooling

Education

M.Sc. Computer Engineering, SUPINFO Paris 2015–2018
BTS SIO, Infosup Paris 2013–2015
Baccalauréat STG GSI · BAFA 2013
Frenchnative Englishbilingual Spanishelementary