Cursor App Template #23 — Survey Analysis

Survey Analysis

Upload survey spreadsheets, explore responses, and export insights — all in the browser.

Overview

Survey Analysis is a single-page tool for HR, product, and research teams who need to summarize Likert-scale survey results without spinning up a statistics package. Upload an Excel or CSV file (or load sample data), browse responses in a sortable grid, filter by demographics, and visualize score distributions with charts you can export.

Key features

Data import

  • Upload `.xlsx`, `.xls`, or `.csv` files via SheetJS with flexible column mapping
  • Load a built-in 12-response sample survey on first visit
  • AG-Grid table showing respondent ID, demographics (Age Group, Department, Region), and five scored questions (Q1–Q5)

Aggregation

  • Alpine.js panel to choose which questions contribute to the overall average
  • Live response count, average for the selected question, and combined average across checked questions

Filters and statistics

  • Filter by demographic field and value (e.g. Department = Sales)
  • Min/max score filter on the active question
  • Summary cards: count, mean, median, standard deviation, min, and max

Charts

  • Bar chart showing how many responses scored 1 through 5 on the selected question
  • Pie chart showing the same distribution as proportions
  • Charts refresh automatically when you change the question or apply filters

Question selector (side panel)

  • Left sidebar lists all survey questions — click to switch the analysis focus
  • Demographic fields available in the dataset are shown as tags below the list

Export

  • Export filtered (cleaned) data to Excel
  • Download bar or pie chart as a PNG image
  • Generate a PDF report with summary stats and embedded chart images via jsPDF

Appearance

  • Dark mode toggle with saved preference
  • AG-Grid and charts adapt to light or dark theme

Data & persistence

  • Survey data lives in memory for the session (upload or sample load)
  • Dark mode preference is saved in localStorage
  • Exports reflect the current filter set only

Charts & reporting

  • Chart.js bar and pie charts tied to the selected question
  • PDF report includes dataset name, question label, summary statistics, and both charts

Built with

Tailwind CSS, AG-Grid Community, Alpine.js, Chart.js, SheetJS, and jsPDF — loaded from CDN in one HTML file.

Try the interactive walkthrough below. Click Walk through features and use Next / Back (or arrow keys) to explore every feature.

Survey Analysis — Question panel & dark mode

Survey Analysis

Upload, filter, aggregate, and export insights

Loaded: Sample survey (12 responses)

Aggregation
Responses12
Avg Q3.92
Overall3.85
Filters

12 of 12 responses after filters

Count12
Mean3.92
Median4.0
Std0.79
Min2
Max5
Score distribution (bar)
Response share (pie)
IDDeptQ1Q2Q3
R001Sales454
R002Eng545

Leave a Reply