Quippoll allows users to create, view, update, and delete their own polls to gather feedback from an audience. User input is collected via webform and SMS, using the Twilio API, and updated in realtime via WebSockets and React. User authentication is handled on the backend with Flask-Login while user permissions for each poll are managed on the frontend with React-Router.
Quippoll was created by Karynn Ikeda, a software engineer in San Francisco, CA.
Backend
- Python
- Flask
- Flask-Login
- Flask-Socketio
- Jinja
- Postgresql
- SQLAlchemy
Frontend
- Javascript
- jQuery
- Webpack
- React
- React-Router
- React-Sortable-HOC
- React-Flip-Move
- SocketIO
- Semiotic
- Bootstrap
- CSS/HTML
APIs
- Twilio API
- Create poll via webform
- Handle open-ended, multiple choice, and multi-select response types
- Generate unique link for poll
- Optionally close poll and hide poll results
- Set poll geolocation and find poll via geolocation API
- Reorder responses and edit poll prompt and response text
- Delete poll and response data
- Respond to poll via webform
- Respond to poll via SMS (Twilio API)
- Visualize poll results as bar chart or pie chart via Semiotic
- Auto-update poll results upon new input
- Create account/login
- View user profile
- Manage user permissions to enforce single response per poll and access to admin edit feature