Skip to content

πŸ‘‹ Welcome to Smile! ​

The 🫠 Smile project is a web-based platform designed to make it easy and fun to develop rich and interactive online experiments. Unlike tools that cater to novices and non-programmers, Smile is designed to help reasonably competent programmers accomplish more in less time.

Key features: ​

  • Fast and fun front-end interface development with Vue.js and Bulma CSS. Make complex games, animations, and surveys with ease using declarative programming and reactive data binding.
  • Built-in support for common experiment elements like consent forms, captchas, instructions, and surveys. Just add your custom experiment logic and start collecting data.
  • Participant-friendly features include the ability to withdraw from the experiment (while providing feedback), incremental data saving, optimized load times, graceful error handling, and a responsive design that works on most/all devices.
  • Developer mode which makes it easier to debug and design experiments. Jump quickly between phases and trials in your experiments, autofill forms and generate fake data for testing, visualize the flow through your project, hot-reload the code you are working on without restarting the entire experiment, and more!
  • Presentation mode which provides a beautiful and interactive demo site you can share with reviewers and collaborators.
  • Dashboard for monitoring data collection, downloading and analyzing data, and performing quality control to screen bots and other bad actors.
  • Built-in support for multiple recruitment services including Prolific, MTurk, CloudResearch, and more.
  • Secure data storage and retrieval using a flexible, but easy-to-use database API based on Google Firestore and and Real-time Database .
  • Automatic and highly reproducible deployment of the latest code to the web using GitHub Actions.
  • Automated testing framework including unit tests and end-to-end tests using Cypress.io helps experimenters ensure code is reliable and bug-free.
  • Integrates with the rest of your research life including Slack notifications, automatic generation of QR codes for recruitment posters (or for presentations), anonymized links, and more.
  • Data provenance features include an audit trail of which version of the code was used to create each data file.
  • Great looking and detailed docs, if we do say so ourselves!

The current development is happening at https://github.com/nyuccl/smile.

Ready to get started? Continue here.

Not sure? Let us walk you through an example.

Need help? Go here.

Released under the MIT License.