Back to achievements
Internship (university research)Vue.jsJavaScriptD3.jsPostgreSQLRecherche

Development of a life trajectories web application

Design of a sociological questionnaire application with custom D3.js data visualization at the Grenoble Computer Science Laboratory.

Visual proof

Screenshots and demos from real projects.

User profile selection

User profile selection

Entry screen allowing the user to choose between interviewer and respondent roles.

Interviewer workspace

Interviewer workspace

Local CAP2vie interface started from the internship repository.

Survey creation

Flow for creating a sociological survey in the CAP2vie application.

Sequential questionnaire

Guided input interface allowing interviewers to collect trajectory data.

Multi-screen connection

Real-time screen synchronization through Socket.io to support interview sessions.

Date conflict handling

Example of resolving temporal inconsistencies during trajectory input.

01

Presentation

During my 5-month internship at the Grenoble Computer Science Laboratory (LIG), I was in charge of developing a questionnaire web application for sociologists. This application collected individual information during sociological surveys and generated life trajectories across multiple aspects: professional, personal, and geographical. The project was part of a larger research effort on a new sociology method based on life trajectories.

The application used Nuxt 3/Vue 3 on the frontend, Express.js on the backend, Prisma/PostgreSQL for data, D3.js for visualization, and Socket.io for multi-screen connection.

02

Objectives, context and stakes

The objective was to create the first version of a tool from scratch, under the direction of a research professor. The application was to be used by 3 to 4 sociologist investigators, LIG members as well as professors from other French universities.

03

The steps — what I did

The technical stack included a PostgreSQL database, a web application developed with Vue.js, and D3.js for fully custom data visualizations. The technical highlight of the project was implementing a custom solution with D3.js to create a chart type that didn't exist yet for tracing life trajectories. D3.js is a library that gives total control: the desired chart had to be built from the library's basic building blocks, the opposite of ready-to-use charting libraries.

04

The actors — interactions

I worked under the direction of a LIG research professor. The end users were sociologist investigators — about 3 to 4 researchers, LIG members and professors from other French universities.

05

The results

The application was delivered as a working version with the questionnaire system and custom D3.js visualizations. The chart type created for life trajectories was a real technical challenge that resulted in an original and useful outcome for researchers.

06

After the project

The application was taken over for continued development, especially as it's part of a larger body of work on a new sociology method. The project continues to live beyond my internship.

07

My critical review

This project taught me the importance of building a solution on solid foundations from the start, to avoid constantly reworking the solution or going down the wrong path. It's a lesson I now apply to all my projects.