Alessandro Belli

Building MeSort: A Web-Based Tool for Research Sorting Tasks

3 min read Projects

Project Type: Research Software / Full-Stack
Role: Full-Stack Developer (sole developer)
Technologies: PHP, Laravel, JavaScript, Vue.js, CSS
Repository: github.com/zemki/mesort
Live Platform: mesoftware.org/mesort


The Problem

Sorting tasks are a common technique in qualitative research. A researcher might ask: "Sort these media sources by how important they are to you" or "Arrange these people by how close you feel to them." Traditionally, this meant physical cards on a table during an in-person interview—awkward to document, impossible to conduct remotely, and tedious to analyze afterward.

MeSort digitizes this entire workflow, making sorting tasks accessible online while preserving the intuitive, tactile experience of moving items around.

My Role

I was the sole developer on MeSort from 2018 to 2024, building and maintaining the entire application—backend, frontend, and everything in between. This was my longest-running project, evolving over six years based on researcher feedback and real-world usage.

Three Research Methods, One Platform

MeSort supports three distinct sorting schemes, each suited to different research methodologies:

Circle Sort — For researching media repertoires. Participants drag tokens into concentric circles, with items closer to the center being more important or frequently used. This helps researchers understand how people prioritize different media sources in their daily lives.

Q-Sort — A structured methodology where participants sort items into a forced distribution (typically a bell curve shape). This is widely used in social science to study subjective viewpoints.

Network Sort — Concentric circles for social network analysis. Participants place people or entities at varying distances from themselves, visualizing the strength of relationships.

Technical Implementation

Drag-and-Drop Interface

The core interaction is dragging tokens around a web page. Tokens can be text-based or images (like logos or photographs). The interface needed to feel natural and responsive—participants shouldn't fight with the software during an interview.

The frontend uses JavaScript and Vue.js to handle the drag interactions, position tracking, and visual feedback. Everything runs smoothly on both desktop browsers and tablets like the iPad, which researchers often use during field interviews.

Flexible Project Configuration

Researchers have different needs, so the backend allows extensive customization:

  • Custom tokens: Researchers define what items participants will sort, either as text labels or uploaded images
  • Participant-created tokens: In some studies, participants can add their own items to sort
  • Multiple sorting passes: A project can include several rounds of sorting with different criteria
  • Token attributes: Additional data can be attached to tokens for richer analysis

Questionnaire System

Sorting rarely happens in isolation. Researchers typically want to ask questions before and after the sorting task. I built a questionnaire system supporting:

  • Single choice questions
  • Multiple choice questions
  • Scale responses
  • Free text responses

Each question type includes validation logic to ensure participants provide the required responses before proceeding.

PDF Export

After a participant completes their sorting task, the results need to be documented. I implemented PDF export by capturing the visual state of the sorted tokens as an image, then converting that to PDF. This gives researchers a visual record of exactly how each participant arranged their items—useful for qualitative analysis and for including in publications.

Data Security

Research data is sensitive. The platform runs on university infrastructure (ZfN at Bremen University), keeping participant data secure and under institutional oversight rather than on third-party cloud services.

What I Learned

Longevity teaches you different lessons. Working on a project for six years means living with your own decisions. Code I wrote in 2018 was still running in 2024. This taught me to value simplicity and maintainability over cleverness.

Researchers aren't developers. The configuration interface needed to be approachable for social scientists who may never have touched code. Every feature had to be self-explanatory or well-documented.

Cross-device testing matters. When researchers conduct interviews on iPads in the field, touch interactions need to work flawlessly. Desktop-first assumptions break quickly on tablets.

Impact

MeSort has been used by researchers at multiple institutions for studies involving media repertoires, social networks, and Q-methodology. The platform is freely available and open-source under AGPL-3.0, with a DOI for academic citation.

What I'm most proud of: enabling researchers to conduct their projects. The tool gets out of the way and lets them focus on their actual research questions.


This project was developed at ZeMKI, Centre for Media, Communication and Information Research, University of Bremen, with funding from the German Research Foundation (DFG).