Louis Brunner
(they/them)Software Architect & Principal Engineer | Go - TypeScript - AWS - Rust - Robotics | Open to advisory & contract roles
Software Architect at aica SA
Career: 10
While the rest of the team builds AICA Core, I build what runs underneath it: architecture, cloud services and tooling. I also deliver high-impact features, focused on customer-facing/DX work: AICA Launcher, licensing & package management. Set up CI pipelines (Docker, GitHub Actions, ROS) to build and version AICA Core and packages in isolation, via two custom BuildKit syntaxes: one composes applications from AICA Core and packages, the other simplifies authoring ROS packages (Python, APT dependencies), enforcing version compatibility. Built the licensing system end to end: an API (Go, AWS Lambda, Keygen.sh) with online checks and offline fallback (device fingerprinting, cryptography), supporting usable packages/versions, entitlements and support credits tracking (Cognito, Google Workspace, audit logs admin-side). I used the same system to take the AICA URCap from prototype to production-ready. Built a Docker registry (Go, Lambda, ECR) gating access by entitlements to individual tags, something no public registry supports. Built AICA Launcher, a desktop app (Go, TypeScript, React, Wails) replacing CLI setup of AICA Core with a rich GUI including licensing, and integrating (gRPC, postMessage) with AICA Core for a fuller experience. Mentored the team on Go, Terraform and API design, running workshops and pushing best practices. Ported the AICA Core API from Python/Flask to Go for performance, instrumented it with OpenTelemetry and added an MCP Server API for AI-agent access. Built a cloud storage API (Go, Lambda) with optional end-to-end encryption for Core users to back up their data. Added analytics: pushed from Core via a serverless pipeline (AWS Lambda, Athena) to Looker Studio, plus a separate MCP Server to query usage data. Set up multi-account AWS infra via SSO (Terraform, Terragrunt). Refactored AICA Studio Edge (TypeScript) into packages to deliver AICA Studio Cloud, running in the cloud without hardware to support demos and sales.
As Principal Software Engineer, I set architecture and technical direction for the new cloud platform and drove engineering standards across the team. I mentored new Engineering Managers on hiring and prioritization, gave technical leadership to developers org-wide and kept delivering high-impact features hands-on.
When Automata pivoted from the Eva robotic arm to lab automation, I led the restructured software team as Engineering Manager. On top of line management (1:1s, performance reviews, hiring), I continued architecture, reviews and mentoring as Lead Software Engineer and handled prioritization with the Product Manager and later on my own. As the team grew I split it in two and mentored a new EM to lead the second. I then handed off management entirely once the pivot stabilized, hiring a dedicated EM to take over so I could refocus on my Principal Software Engineer role.
Alongside my engineering work, I owned architecture decisions across the platform and oversaw software capacity business-wide, partnering with product managers on strategic decisions and processes. I drove my reports' career growth through mentoring and a career growth committee, which helped define our managerial structure, seniority levels and skills assessment. I created and led the Software Chapter, a cross-functional community that standardised engineering practices through a consensus model open to anyone proposing change.
As employee #6 at Automata, I built Eva's software platform (Choreograph) from scratch, picking the architecture and the stack (TypeScript, React, Go and C++) and developing most of its core features. I also set up DevOps from zero (Jenkins, AWS, Terraform, Ansible, Python), oversaw software manufacturing processes and hired the rest of the software team. I championed Agile and Jira as the company grew, set up code review and PR practices and helped shape Automata's culture of autonomy and agency. I managed testing and release on a 2-week cadence, with extensive end-to-end integration testing.
Maintained school infrastructure: DNS, web servers, virtualization. Built and maintained the JavaScript/Flask website used to manage and grade final-year projects. Wrote Python tools to generate data reports from the intranet API. Wrote Perl scripts to auto-provision fully configured VMs via VMware vSphere and PXE.
Designed a new HTTP protocol encapsulation between the C++ desktop app and the C server, resolving the old protocol's C10k bottleneck, reducing memory usage and improving throughput. Built a new JavaScript prototype web client on top of it. Ported the desktop app from Qt4 to Qt5, adding SSO support. Refactored the server from thread-based to event-based (Apache Portable Runtime).
Extended a C# tool for automated document upload to SharePoint (with metadata), adding license checking and missing data types. Installed an IAM system on Windows Server, syncing identity checks (Hpliance), customer databases (MSSQL), LDAP and flat files. Wrote PowerShell scripts to automate the data deployment.
Built Excel-like, highly configurable desktop Java applications for vendors quoting their customers on construction materials, etc. Integrated an open source ERP into all existing applications to streamline orders. Set up and ran JavaWebStart (via PHP) to deploy all the company’s applications.
Mentored other students in C, through private sessions and open office hours. Maintained Epitech Strasbourg's intranet and infrastructure as sysadmin. Supervised exams and events.
Skills: 76
Technical
Business
Interpersonal
Security
Other
Projects: 5
Home Assistant integration to back up your instance to Proton Drive. Built an unofficial SDK while the official Proton Drive CLI was unavailable, migrated to first-party CLI once released, providing native-tier reliability and UX.
DNS bridge that resolves mDNS/Avahi service discovery over standard DNS, built to solve musl libc's lack of mDNS support on Alpine Linux. Packaged in the Alpine Linux edge repository.
Two GitHub Actions extending the GitHub Checks API. checks-action provides a clean programmatic interface to the Checks API from any workflow, used across the GitHub ecosystem to surface custom test results, linting output, and inline annotations in pull requests. Users include Microsoft and npm. diff-action turns file diffs into GitHub Check results, enabling automated regression detection in CI. Used by Traefik and others for output regression testing. Built originally for Valgrind macOS test suite, where JUnit XML (the only natively supported format) wasn't suitable for the ad-hoc output format.
React DnD backend adapter providing unified drag-and-drop across HTML5 and touch input from a single integration. Automatically selects the appropriate backend per device, includes a Preview component for backends that don't expose native drag previews. In production use at Electron (cross-platform desktop runtime) and Servarr (the open-source suite behind Radarr, Sonarr, Lidarr, and others). More than 1m downloads per month.
The upstream Valgrind project hasn't shipped working macOS support for years. Mach kernel internals, Apple's evolving syscall interfaces, and differences in signal handling and thread scheduling make it genuinely difficult to maintain, the kind of work that requires reading kernel source and reverse-engineering Apple's private APIs. Since 2017 I've maintained a separate macOS fork, tracking each new macOS release and working through those platform-level incompatibilities, including the port to arm64. It's the only actively maintained port that supports modern macOS versions, and it's used by C/C++ developers who need real memory analysis tooling beyond what LLVM sanitisers provide.
Education: 2
MSc - Expert en technologies de l'information, Software Engineering
Epitech's curriculum centered on C and C++ on Linux, but I also worked across Java (Hadoop, Android), C#/.NET, C++ on Windows, x86 assembly, OCaml, Python, Ruby and Haskell, picking up strong programming and project management fundamentals along the way. I led EpiWebDev, a student association teaching web development (PHP, JavaScript, REST, etc) to other students. Notable projects: a complete UNIX shell, a raytracer, IRC and FTP clients/servers and an ELF call graph generator (all C), Bomberman, a networked RType clone and a Skype-like app (all C++).
Activities / Societies: President of EpiWebDev: student association teaching web development to other students
Computer Science
As a CSE major at UCSD, I studied: compilers, computer security, machine learning and software engineering (C++, iOS, Web), deepening my grasp of CS theory and picking up better development practices (mainly Agile). I also took an interest in other subjects such as acting and accent classes.
Courses: 4
- Apr 2015
Learning Algorithms
University of California, San Diego · CSE250B
- Apr 2015
Software Engineering
University of California, San Diego · CSE110
- Dec 2014
Compiler Construction
University of California, San Diego · CSE131
- Dec 2014
Computer Security
University of California, San Diego · CSE127
Awards: 2
- Mar 2014
Best clinical application
Hacking Health Camp
Best Clinical Application prize for FlashMed, the first mobile app to help prevent self-medication risks, built at the first Digital Health Camp (a health-oriented hackathon) with other students from Epitech and several from Paris-Sud University.
- Mar 2014
Wellfundr prize
Hacking Health Camp
Wellfundr prize for FlashMed, the first mobile app to help prevent self-medication risks, built at the first Digital Health Camp (a health-oriented hackathon) with other students from Epitech and several from Paris-Sud University.
Languages: 3
- French(Native or bilingual)
- English(Full professional)
- Italian(Limited working)
What else would you like to see here?
Missing something? Tell us what would make this page more useful.
Sign in to share an idea.