whatisgithub

What is xiaoju-survey?

didi/xiaoju-survey — explained in plain English

Analysis updated 2026-07-03

3,748TypeScriptAudience · pm founderComplexity · 4/5LicenseSetup · moderate

In one sentence

Xiaoju Survey is an open-source enterprise survey platform from DiDi with over 40 question types, conditional logic, AI-assisted form creation, and built-in analytics for collecting data at scale.

Mindmap

mindmap
  root((Xiaoju Survey))
    What it does
      Online survey platform
      Form and quiz builder
      Data collection at scale
    Tech Stack
      Vue 3
      NestJS
      MongoDB
      Docker
    Features
      40 plus question types
      Conditional logic
      AI form generation
      Built-in analytics
    Use Cases
      Employee surveys
      Customer feedback
      Embedded widgets
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Create a large-scale employee satisfaction survey with conditional logic that shows different follow-up questions based on each respondent's answers

USE CASE 2

Use AI-assisted creation to generate a customer feedback questionnaire by describing what you want in plain text

USE CASE 3

Embed a small survey widget inside your existing web app using the Xiaoju Survey SDK without redirecting users to a separate platform

USE CASE 4

Analyze survey results with built-in cross-tabulation to compare how different respondent groups answered the same questions

What is it built with?

TypeScriptVue 3NestJSMongoDBDocker

How does it compare?

didi/xiaoju-surveyopenbmb/pilotdeckshadcnblocks/kibo
Stars3,7483,7493,749
LanguageTypeScriptTypeScriptTypeScript
Last pushed2026-07-03
MaintenanceActive
Setup difficultymoderatemoderateeasy
Complexity4/53/52/5
Audiencepm founderpm founderdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 1h+

Requires Docker and a MongoDB instance, choose the slim image for production and the full image only for debugging.

Open-source and free to use, self-host, and modify.

So what is it?

Xiaoju Survey is an open-source platform for building and running online forms, surveys, quizzes, and polls. It was created by DiDi, the Chinese ride-sharing company, and is designed for both individual users and enterprise teams who need to collect and analyze data at scale. With this tool, you can create a form using more than 40 different question types, including text inputs, multiple choice, rating scales, file uploads, and voting options. The editor supports conditional logic, meaning you can show or hide questions based on how a respondent answers earlier ones. You can also reference answers from one question inside another, which is useful for more complex surveys or assessments. Once responses come in, the platform provides built-in reporting: per-question statistics, cross-tabulation (comparing how different groups answered), and multi-channel breakdowns. The README describes the system as having been tested at very large scale internally at DiDi before being released publicly. A notable feature is AI-assisted form creation: you can describe what you want in plain text and the system will generate a questionnaire draft for you. This is connected to a large language model and is built into the editor. The tech stack is Vue 3 on the front end and NestJS with MongoDB on the back end. Deployment is handled via Docker, and two image variants are available: a slim production image and a fuller image that includes debugging tools. The project also ships an SDK for embedding small survey widgets inside other apps. Permissions and team collaboration are supported, with workspace management and role-based access control. The README mentions data encryption in transit, sensitive-word filtering, and anti-ballot-stuffing measures as security features. The project is written in TypeScript and the source code is available on GitHub under an open-source license. Documentation and a hosted demo site are linked from the repository.

Copy-paste prompts

Prompt 1
Using Xiaoju Survey, how do I set up conditional logic so a follow-up question only appears when a user selects a specific option in a previous question?
Prompt 2
I want to deploy Xiaoju Survey with Docker. Explain the difference between the slim production image and the full debug image, and show me the deployment command.
Prompt 3
How do I use the Xiaoju Survey AI form creation feature to generate a customer onboarding survey by typing a plain-text description of what I need?
Prompt 4
Show me how to use the Xiaoju Survey SDK to embed a small survey widget inside my existing Vue 3 web application on a specific page.
Prompt 5
How do I configure role-based access control in Xiaoju Survey so team members can only view and edit the surveys assigned to their workspace?

Frequently asked questions

What is xiaoju-survey?

Xiaoju Survey is an open-source enterprise survey platform from DiDi with over 40 question types, conditional logic, AI-assisted form creation, and built-in analytics for collecting data at scale.

What language is xiaoju-survey written in?

Mainly TypeScript. The stack also includes TypeScript, Vue 3, NestJS.

What license does xiaoju-survey use?

Open-source and free to use, self-host, and modify.

How hard is xiaoju-survey to set up?

Setup difficulty is rated moderate, with roughly 1h+ to a first successful run.

Who is xiaoju-survey for?

Mainly pm founder.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.