Simon Bernabeu
Full-stack engineer · simonb.dev@proton.me
Use your browser's print function to save this page as a PDF.
Experience
Freelance full-stack engineer, DoohYouLike
October 2022 to present
Part of a three-person engineering team building and operating a complete digital-out-of-home advertising platform, from Raspberry Pi signage players to customer consoles and AI services.
- Worked in TypeScript, Go, Rust and C#/.NET across frontends, backend APIs, embedded devices and cloud functions.
- Built the company AI platform service: a ~12,400-line Go microservice around OpenAI Realtime that lets French retail staff create signage content by voice.
- Built a BLE GATT server in Go for Raspberry Pi signage players, including a custom chunked protocol for the ~20-byte BLE MTU, so technicians can configure screens without a network connection.
- Built the company-wide email gateway in Rust, with Amazon SES v2 quota management, per-recipient bulk results and a 973-line integration test suite.
- Largest contributor to the two main codebases (45% and 40% of commits), working on features from real-time Kanban boards to in-browser image editing.
- Built the Gmail and Google Calendar OAuth integrations for the sales CRM, including AES-encrypted token storage and background sync services.
Selected projects
- A French voice assistant for digital signage: A Go service I built to let retail staff create digital-signage content by speaking in French. Go, OpenAI Realtime, SSE, Docker
- Configuring offline screens over Bluetooth: A BLE GATT server written in Go, used to configure Raspberry Pi signage players from a phone before they have a network connection. Go, Raspberry Pi, BLE GATT, ARM cross-compilation
- A shared email gateway in Rust: A Rust API I built around Amazon SES v2 to manage email sending and quotas for several company products. Rust, Rocket, Amazon SES v2, Tokio
- A real-time Kanban for screen deployments: A complete Kanban module I built with custom drag and drop, live WebSocket updates and spreadsheet imports. Svelte, SvelteKit, WebSockets, TypeScript
- Gmail and Calendar sync for a sales CRM: Two Google OAuth integrations I built with encrypted tokens, background workers and a daily Go reconciliation job. C#/.NET 8, Go, Google OAuth, GCP Cloud Scheduler
- Weekly screen uptime from connection events: A Go Cloud Function that reconstructs a weekly connection score for every screen from sparse connect and disconnect events. Go, GCP Cloud Functions, PostgreSQL
Skills
Languages: Go, Rust, TypeScript, C#, C/C++, Python
Frontend: Svelte / SvelteKit, SolidJS, Astro, Tailwind CSS
Backend: ASP.NET Core, Actix Web, Gin, Rocket, PostgreSQL
Infrastructure: Docker, GCP Cloud Functions, AWS S3 / SES, WebSockets
AI: OpenAI Realtime, Structured outputs, Content moderation, Prompt engineering