Bruno Oberle

Hello, I'm Bruno 👋

I’m a software engineer, with a background that mixes academic research and startup environments. Over the years, I’ve worked on a range of projects, from research prototypes to production software used in real-world settings.

I spent three years in Natural Language Processing research at the University of Strasbourg, where I worked on coreference resolution for French. This involved data annotation, linguistic analysis, and fine-tuning early transformer-based models (LLM) such as BERT. My work led to several peer-reviewed scientific papers and open-source research tools.

After that, I moved into industry and joined B2B cybersecurity startups. At Cogiceo, I built internal tools and worked on a SaaS product for automated analysis of Android applications. At Mantra, I developed systems for real-time email analysis to detect phishing attacks.

I mostly work with Python and TypeScript / React, and I pay a lot of attention to writing clean, maintainable, and well-tested code. I’m comfortable working across the stack, from backend services to user-facing features.

I enjoy working on projects where there is room to explore, experiment, and refine how things are built.

Outside of work, I enjoy building open-source tools and side projects, sometimes very practical, sometimes more exploratory.

If you’d like to connect or discuss a project, feel free to reach out at bruno@boberle.com.

Relevant work experience

Tech Lead
2025 — present
Tech stack: Python Mypy Pytest FastAPI TypeScript React Redux GCP Terraform Docker Git Gitlab Sentry

I lead a small international team developing a new cybersecurity training product. My role covers system design, backend and frontend development, and infrastructure. I’m responsible for architectural decisions, data models, and delivery, and I remain hands-on across the stack.

The product is built with Python and FastAPI on the backend, TypeScript and React on the frontend, and runs on Google Cloud Platform with infrastructure defined as code.

Software Engineer
2022 — 2025
Tech stack: Python Mypy Pytest FastAPI Django JavaScript TypeScript React Redux GCP Docker Git Gitlab Sentry

As an early engineer on a phishing detection product, I worked on real-time systems analyzing millions of emails per day. I focused mainly on backend services, event-driven architectures, and clean, well-tested code, while also contributing to frontend features when needed.

Freelance developer
Université de Lorraine (Lab. ATILF)
2023 — 2024
Tech stack: Python Mypy Pytest FastAPI TypeScript React GCP iOS android

LangTrackApp is a research-oriented platform based on the Experience Sampling Method, designed to study language learning and usage outside the classroom.

I designed and developed the entire system: a web application for researchers to create surveys and analyze results, mobile applications (Android & iOS) for participants, and a backend coordinating scheduling, notifications, and data collection.

The system supports push notifications, email and SMS reminders, and is deployed on Google Cloud Platform using managed services and serverless components.

Full-Stak Developer
2020 — 2022
Tech stack: Python Flask PostgreSQL Pytest Selenium JavaScript Bootstrap Git Gitlab Java Linux

At Cogiceo, a cybersecurity consulting company, I was the only full-time developer. I built and maintained several internal tools as well as a B2B SaaS platform for automated security analysis of Android applications.

Natural Language Processing (NLP) Researcher
2017 — 2020
Tech stack: Python TensorFlow Jupyter Pandas NumPy Java Google Colab Linux

I worked as a researcher in natural language processing, focusing on coreference resolution. My work combined linguistic analysis and machine learning, including fine-tuning early transformer-based models for French. I published several scientific papers and developed open-source research tools.

Alongside research, I also taught programming and linguistics courses at university level.

Languages

French flagNative
British flagFluent
German flagBeginner

Projects

I enjoy creating open-source tools.

Check out them here.

Scientific Papers

I have published peer-reviewed scientific papers and presented my work at several conferences and workshops.

Check them out here.

Skills

Python
Python
Mypy
Mypy
Pytest
Pytest
Pydantic
Pydantic
FastAPI
FastAPI
Django
Django
Flask
Flask
JavaScript
JavaScript
React
React
Redux
Redux
TypeScript
TypeScript
Google Cloud Platform
Google Cloud Platform
Golang
Golang
Git
Git
Gitlab
Gitlab
Sentry
Sentry
SQL
SQL
Linux
Linux
Perl
Perl
Jupyter
Jupyter
Pandas
Pandas
Terraform
Terraform

Education

Master Degree (Master 2) in Natural Language Processing
2017: University of Strasbourg

Thesis: Developed an end-to-end rule-based coreference resolution system in Python

Published at the conference TALN-RECITAL (Association française pour l'Intelligence Artificielle) in 2019

Master Degree (Master 2) in Linguistics
2017: University of Strasbourg

Thesis: Statistical and linguistic analysis of coreference chains in research articles

Published in the journal Discours: A journal of linguistics, psycholinguistics and computational linguistics in 2020

Bachelor Degree (Licence) in Classical Studies / French Linguistics
2015: University of Strasbourg

Language and Linguistics of French, Greek and Latin

Degree (DEUG) in Philosophy
2005: Marc Bloch University (Strasbourg II)

Analytic philosophy, Logic (predicate and propositional calculus), Epistemology, French philosophy

© 2025 Bruno Oberle
legal notice