Skip to main content
All projects

SenseKit: tools built around research methods

Three small tools for research methods that lose information when they're forced into generic forms, spreadsheets or whiteboards.

Role
Designer, Researcher & Developer
Team
Solo project
Duration
4 months
Client
Personal tool suite / sensekit.eu

The project in one minute

The Challenge

Forms, whiteboards and spreadsheets are flexible, but they don't know the specific structure of these methods. So the researcher ends up doing a large part of the aggregation and visualization by hand.

My contribution

  • Identified the gap between established research methods and available digital tools
  • Designed and built three purpose-specific research instruments as a monorepo
  • Engineered real-time data aggregation and visualization for each tool

Results and scope

3 purpose-built research instruments, each live on its own domain

The Challenge

What I was responsible for

  • Identified the gap between established research methods and available digital tools
  • Designed and built three purpose-specific research instruments as a monorepo
  • Engineered real-time data aggregation and visualization for each tool
  • Created the participant experience: no login, no setup, immediate participation
  • Designed the researcher dashboard with live analytics, CSV export, and project management
  • Built a shared UI component library across all three apps using Radix UI and Tailwind

Forms, whiteboards and spreadsheets are flexible, but they don't know the specific structure of these methods. So the researcher ends up doing a large part of the aggregation and visualization by hand.

SenseKit brings together three tools I built around methods I use in research and strategy: stakeholder mapping, semantic differential and competitive positioning.

The recurring problem was always the same. Data collection happened in a generic tool, and analysis then meant rebuilding by hand the spatial or statistical relationships the method already implied.

"For participants, every extra step (login, setup, instructions about the tool) takes attention away from the question. For facilitators, the problem comes later: turning scattered answers into a readable view of the group."

Impact

The main cost was post-processing time and a loss of immediacy: patterns emerged when the workshop was already over, instead of while the group could still discuss them.

Symptoms

Spatial coordinates, bipolar scales and response dispersion were often reduced to generic fields and rebuilt after the session.

Research

What gets lost with generic tools

·Documenting the gap between what the method requires and what available tools provide

Some methods need spatial input

All three methods involve positioning items in space: on axes, on scales, on matrices. Survey tools that reduce this to dropdowns or sliders lose the spatial relationship that makes the method meaningful.

Responses have to be read together

Individual responses matter less than the aggregate picture: where participants agree (tight clusters) and where they don't (wide dispersions). No existing tool showed this in real time.

2-4 hours post-processing per exercise

Manual aggregation of a 10-participant stakeholder mapping takes 2-4 hours. With SenseKit, it's instant and continuous.

Reducing obstacles for participants

·Understanding what makes data collection feel effortless for participants

Taking part has to be immediate

In a workshop, participants' attention lasts a few seconds. Logins, downloads or setup immediately reduce participation: the ideal tool is a link that opens straight onto the exercise.

For these exercises, interacting in space feels natural

Dragging an item onto a matrix is more immediate than filling in a field. Participants understand 'place this where you think it belongs' right away.

"I want to share a link and have people doing the exercise within 5 seconds."

— Personal design requirement

Key Insights

Each research method needs a fitting interaction

Stakeholder maps, semantic differentials and competitive maps have different structures. Using the same interface for all of them would lose exactly what makes each method useful.

Real-time aggregation changes when analysis can begin

Seeing results as they arrive lets the facilitator start reading patterns and differences during the session, and use them to feed the discussion.

Statistical indicators surface consensus and conflict

The average alone hides disagreement. Standard deviation in SemDiff and dispersion ellipses in CompScape also show how close or far apart the responses are.

The participant should think about the question

Participants don't need accounts or tutorials: they open the link and find the exercise straight away. Everything else stays out of their way.

A shared technical base, a different interaction for each method

The three tools share a design system, authentication and data architecture. The UI of each one is built around its method.

Goals & Principles

StakeMap: collaborative 2D positioning and aggregated results

Participants drag stakeholders onto a customizable 2D matrix. The researcher sees the average positions and dispersion clouds of all participants in real time.

SemDiff: semantic differential scales with statistical depth

Participants rate items on bipolar scales (e.g., Innovative–Traditional). The dashboard shows mean profiles with standard deviation bars, enabling comparison across participants and items.

CompScape: competitive map and degree of consensus

Participants position competitors on a 2D matrix. Dispersion ellipses reveal where participants agree and where perceptions diverge, surfacing contested positioning.

Shared: taking part without accounts or extra steps

Anonymous access via link. No login for participants. Firebase anonymous auth handles state. Project creation and analytics require researcher authentication.

Guiding Principles

The method first, then the features

Each tool implements a single method, and that method's constraints define the features.

Results aggregate as responses arrive

Results update as participants respond, with no separate processing step.

Data can be exported

The data shouldn't stay locked in SenseKit. CSV, structured data and visual exports let the analysis continue in the tools the researcher already uses.

Solution Design

Interactive diagram

From individual ratings to a shared profile

Move the three sample ratings. The mean changes, while the individual positions stay visible.

TraditionalInnovative

Mean rating4.0 / 7

Circles: individual ratings. Vertical line: arithmetic mean. Different ratings can share the same mean.

Illustrative seven-point scale with three fictional responses. A small demonstration of SemDiff, not research results.

Monorepo and shared UI library

Three tools that need visual consistency and shared infrastructure, but each has distinct interaction patterns and data models.

Alternatives considered

  • Single app with mode switching (simpler deployment, harder to maintain distinct UX)
  • Three separate repos (independent but duplicative)
  • Monorepo with shared packages (consistency + independence)
Decision

pnpm workspaces monorepo with a shared-ui package containing all base components (buttons, cards, modals, layout) built on Radix UI and Tailwind. Each app has its own Vite configuration, Firebase project, and domain (stakemap.sensekit.eu, etc.).

Rationale

Each research method has fundamentally different data structures (2D coordinates vs. scale values vs. competitive positions), but the researcher-facing dashboard patterns (project management, export, settings) are identical. The monorepo lets each tool diverge where it needs to while sharing 80% of the UI infrastructure.

Trade-off: Monorepo adds build complexity. pnpm workspaces handles dependency management, but coordinating deployments across three Vercel projects requires careful CI configuration.

Real-time aggregation with Firebase Realtime Database

Participants respond asynchronously during workshops. The researcher needs to see aggregated results update continuously, without refreshing or exporting.

Alternatives considered

  • Polling (simple but laggy, misses the 'real-time' requirement)
  • WebSocket server (performant but infrastructure-heavy for a solo project)
  • Firebase Realtime Database (built-in subscriptions, zero infrastructure)
Decision

Firebase Realtime Database with listener-based subscriptions. When a participant submits a position, the researcher's dashboard updates within milliseconds. Aggregation (means, standard deviations, dispersion ellipses) is computed client-side from the live data stream.

Rationale

With Firebase subscriptions, real-time aggregation needs no polling and no custom WebSocket infrastructure. Client-side computation keeps the server stateless, and anonymous auth spares participants a login. Vendor lock-in with Firebase is an acceptable trade-off for the reliability and speed it offers.

Trade-off: Client-side aggregation works for workshop-scale datasets (5-30 participants) but won't scale to hundreds without server-side computation. Firebase's pricing model means costs scale with reads, which could matter at high participant volumes.

Dispersion ellipses to show the degree of agreement

In competitive positioning and stakeholder mapping, the average position tells you where the group center is, but it doesn't tell you if everyone agrees or if the average masks a split opinion.

Alternatives considered

  • Show individual dots only (accurate but visually noisy)
  • Show average only (clean but hides disagreement)
  • Show average + dispersion ellipse (reveals both position and consensus)
Decision

I implemented dispersion ellipses calculated from standard deviation on both axes. A tight ellipse means consensus, a wide one means divergent perceptions. The ellipses sit alongside individual participant dots and average center points.

Rationale

The dispersion ellipse is the most useful element. In a competitive analysis, seeing that 'Competitor A' has a tight ellipse (everyone agrees on its position) while 'Competitor B' has a wide one (contested perception) often matters more than the positions themselves.

Trade-off: Dispersion visualization requires enough participants (5+) to be statistically meaningful. With very few responses, ellipses can be misleading. The UI adapts by showing individual dots when participant count is low.

Outcomes & Impact

SenseKit is now a working suite of three tools. Responses are aggregated as they arrive, so facilitators can see clusters, dispersion and differences during the session without rebuilding them by hand afterward.

3 purpose-built research instruments, each live on its own domain

Listener-based real-time aggregation from participant input to researcher dashboard

Zero-friction participation: no login, no download, immediate access via link

Shared UI library: 80%+ component reuse across three distinct applications

Aggregation happens continuously during collection instead of requiring a separate manual aggregation pass

Spatial methods collect spatial input instead of going through a form

Dispersion visualization surfaces consensus and conflict that averages alone would hide

Researchers can react to incoming data during workshops instead of processing it afterward

The shared design system makes the three tools consistent

CSV export preserves all raw data for downstream analysis in R, Python, or Excel

What I delivered

  • StakeMap: collaborative 2D stakeholder positioning with average positions and dispersion clouds
  • SemDiff: digital semantic differential with mean profiles and standard deviation indicators
  • CompScape: competitive landscape mapping with dispersion ellipses for consensus analysis
  • Shared UI component library built on Radix UI and Tailwind CSS
  • Firebase-powered real-time data sync and anonymous participant auth
  • Researcher dashboard with project management, live analytics, and CSV export
  • Marketing site at sensekit.eu with tool demos and documentation

Reflections

Sharing technical infrastructure across different tools is useful as long as it doesn't force the participant experience to become identical too.

What I would change

  • Would add a collaborative facilitator mode sooner: letting the facilitator control which phase participants see during a workshop
  • Would explore server-side aggregation for larger participant groups from the start
  • Would build a unified researcher dashboard that shows all projects across tools in one view
What worked and what was difficult

What Worked

Starting from the method kept the features in check

Each tool implements a specific method, which naturally limited the scope: the features came from the method.

Real-time aggregation changed the workshop dynamic

Facilitators could project the dashboard during exercises, using live results as discussion prompts. Data collection and sense-making happened simultaneously rather than sequentially.

The monorepo made maintenance simpler early on

Thanks to the upfront work on shared-ui, the second and third tools were much faster to build. CompScape took a fraction of StakeMap's time because the shared base already existed.

Challenges

Statistical visualizations need solid defaults

Dispersion ellipses, standard deviation bars, and aggregation methods all require design decisions that have statistical implications. Getting the defaults right (e.g., when to show ellipses vs. individual dots) required balancing accuracy with accessibility.

Three apps also mean three deployment processes to maintain

Each tool has its own Vercel project, domain, and Firebase instance. Coordinating updates across the suite required more ops work than a single application.