title | subtitle | mode |
---|---|---|
surveyless |
Build, run, and analyze simple serverless surveys |
OPEN |
Build, run, and analyze simple serverless surveys.
Less servers, databases, keys, signups, accounts, ads, complexity, and headaches 🤦
- ⚛️ JAMStack + modern web tools power a fully automated survey platform.
- 👌 Zero-config and simple to get started.
- 📝 Manage expressive survey content and questions in markdown.
- 💅 Easy UI customizations using a
theme.json
config file. - 👯 Clone and easily recreate new surveys with consistent setup.
- 📊 Visualize survey results instantly after responses are collected.
- 🔐 Simple security model.
Surveys are an important way to analyze sentiment about brands or events. Existing survey platforms (such as Survey Monkey, Qualtrics) provide various survey tools and solutions. However, these offerings come at a cost, and are usually bloated with superfluous features. They are difficult to customize, and do not provide expressive ways to create survey content. Running surveys on these third-party servers can also be unreliable and expensive.
surveyless
is a JAMStack application that runs serverless surveys on CDNs. Survey responses are managed by automated pull requests to the /responses
branch of the Git repo. Closing a survey involves merging the /responses
into the /master
branch. This triggers a rebuild of the site, and results can then be analyzed immediately.
Markdown is a natural medium for creating rich content (this page is created with simple markdown!). Develop and preview content and code changes with hot-reloading. When code changes are committed, it will trigger a rebuild of the site and deploy changes to CDNs. The theme.json
file provides ample ways to customize your survey for your brand. You can easily duplicate future surveys by cloning a copy of a well-maintained surveyless
repo, which preserves the content and customizations of the original survey setup.
surveyless
has no hackable databases/servers/keys components. We do not store any user-sensitive information in survey responses. For open surveys, simply run your surveys with confidence. If you would like to keep the survey content and responses private, you can achieve this by simply making your Git repo private.
For a detailed guide, please refer to the /docs.
- Click the
Deploy to Netlify
button to deploy an instance ofsurveyless
on Netlify and Github. - To develop,
git clone [email protected]:{USERNAME}/{SURVEYLESS_INSTANCE_NAME}.git # clone repo
cd {SURVEYLESS_INSTANCE_NAME}
yarn # install dependencies
yarn dev # starts gatsby development survey
- Edit
README.md
file to update the landing page survey content. - Edit relevant content in
/survey
folder (e.g.thankyou.md
and/survey/questions
markdown file) - Test the survey changes in
localhost
. git commit
andgit push
to apply changes to production.
For a detailed guide, please refer to the /docs.
The following question types and respective choice sets are supported:
- Likert:
- Rating
- Radio
- Button
- Single-choice
- Radio
- Button
- Multi-choice
- Button
- Checkbox
- Ranking
- Button
- Matrix (can be collection of single-choice or multi-choice question types)
- Rating
- Radio
- Button
- Checkbox
- Slider
- No choice type
- Comment
- No choice type
All questions can be accompanied by an optional additionalComments
section where open-ended comments can be captured for the question, in addition to the choice sets provided.
Change your brand logo by attaching a new PNG logo in /static/logo.png
.
Use the /survey/theme.json
file to customize the UI appearance of your survey. Avoid deleting any entries in the theme.json
file.
- Edit the
colors
field to customize unified UI colors. - Edit the
typography
customize font properties. Google fonts are supported (restarting the devserver is required for this). - Edit the
space
field to customize spacing properties in the UI.
To include and use assets in your markdown, upload images and other assets into the /static
folder, and refer to them with the following path syntax /static/images/logo.png
. It is important to refer to markdown assets using an absolute path instead of a relative path.
TODO: will be updated
surveyless
is heavily inspired by mdx-deck
, which is a simple but powerful library to build presentation slides in markdown.
In addition, the surveyless
mechanics would be non-functional without the great developer tools and experiences built by Gatsby and Netlify.
- work on comment, slider, ranking and matrix questions
- hotkey for continue + add hotkey helper icon/modal
- go over questions content to make sure it reads/flows well
- build out /docs folder showcasing examples and detailed guide on question types and other APIs
- netlify-functions to submit response (figure out generating uuids and simple auth with JWT)
- theme editor
- results page
- responses should work off the
/responses
github branch - STRETCH: tooling to detect malformed markdown/frontmatter, missing/duplicated question Ids. If the content of
/survey
folder has changed, reset the localstorage (or create a button that hard resets localstorage in DRAFT mode)