Open StudioApril 2025 - June 2025

Web Developer Intern

LocationClermont-Ferrand

Design of a CRUD web application with Symfony and Docker to manage internship and alternance applications.

The Mission

Open Studio needed a way to stop tracking internship and apprenticeship applications by hand. Every candidate, every status change, every follow-up was living in spreadsheets and inboxes, which made it easy for things to fall through the cracks as the volume grew.

What I Built

A CRUD web application to centralize the entire application pipeline: submitting candidates, updating their status, and keeping a single source of truth for the team. I built and containerized the whole stack myself, from local development to a reproducible deployment.

  • Backend: Symfony, handling the data model, business logic, and admin views for the application workflow.
  • Containerization: Docker, so the environment was identical on my machine, in review, and in production.
  • Workflow: designed the status lifecycle (submitted, in review, accepted, rejected) directly into the data model rather than bolting it on with ad-hoc flags.

Technical Approach

  • Kept the domain model close to how the team actually talked about candidates, so the admin UI needed almost no explanation.
  • Used Docker Compose to keep the database, app, and tooling versioned together, avoiding "works on my machine" issues during handoff.
  • Prioritized a small, correct feature set over a large one — the goal was a tool the team would actually use daily, not a platform.

Outcome

The team moved off spreadsheets onto the new tool for tracking every internship and alternance application, cutting down the manual back-and-forth around candidate status.