Théodore Billotte
← Experience

July 2023 – June 2024 · Internship then freelance

Mon Chasseur Immo

Back-end Developer

Mon Chasseur Immo
  • Internship (6 months) · July 2023 – December 2023
  • Freelance · February 2024 – June 2024

Back-end development at Mon Chasseur Immo, France’s leading property-hunting company (July–December 2023, then continued freelance). What started as a CRM project grew into back-end work on the company’s core applications.

Hunter app The hunter app: each property hunter manages their missions and the properties they select for clients.

Lead typing

The first project reworked how leads are classified in the HubSpot CRM. HubSpot’s built-in campaign data was hard to exploit through its API, so I created a custom “Campagne MCI” object that classifies leads from their UTM parameters, campaign name, group and tags. This gave the team full control over each lead’s provenance (G1 contacts already familiar with the brand vs. G2 prospects). Tuning the campaign setup and SEO attribution pushed classification precision to ~95%.

Custom “Campagne MCI” object in HubSpot The custom “Campagne MCI” object in HubSpot, classifying campaigns by type, group and tags.

Release historization

The second project automated how the team tracks its releases. Every development task maps to a Jira ticket and a dedicated GitHub branch; merging to main cuts a release. I built an automated history of these deployments: rather than maintaining a separate database, the system uses Jira’s release management directly, so deploying a version records it automatically and flags anomalies such as missed deliveries or mismatches between tickets and branches.

Release history The generated release history: each deployment with its product and the Jira tickets it shipped.

Jira releases Releases created automatically in Jira when a developer deploys a version.

Anomaly report Anomaly detection: tickets whose pull requests or releases are out of sync.

Hunter pages

The third project automated the personal web pages of the property hunters. I picked up two tickets left by a departing colleague, originally built on Azure Functions, and refactored them into the company’s Core API (.NET / C#), restructured around Domain-Driven Design to fit the team’s conventions. The result synchronises the database with the hunters: when a hunter joins, a page is created automatically at their name and removed when they leave, covering ~170 hunters, with descriptions they can edit themselves.

Core API architecture The Domain-Driven Design layering used to fit the work into the Core API.

A generated hunter page An automatically generated hunter page (shown here with my own test profile).

Ways of working

The team worked in Agile / Scrum (I also attended the Agile Tour Montpellier). The collaboration continued freelance after the internship ended.

Agile Tour Montpellier Agile Tour Montpellier 2023.

Team building Team-building day with the head-office team.

The full internship report is embedded below.

My role

Back-end developer.

Tech

HubSpot · Azure Functions · .NET / C# (Core API) · Domain-Driven Design · Jira · GitHub