Skip to end of metadata
Go to start of metadata


Fluid is an open source community of designers and developers who help improve the usability and accessibility of the open web. We contribute to a variety of open source projects (e.g. jQuery UI, GPII, PhET), and work on our own projects including:

  • Infusion: A JavaScript application framework for developing flexible user interfaces.
  • FLOEProvides the resources to personalize how we each learn and to address barriers to learning 
  • Social Justice Repair Kit: The goal is to support youth at risk who have learning differences to re-engage in education through an inclusively designed social justice platform that integrates authentic project-based learning.
  • The Inclusive Design Guide

Fluid Infusion is built on top of jQuery, providing all the stuff you need to create user interfaces that are incredibly flexible, accessible, and easy-to-use. Infusion is an application framework and a suite of user interface components built with HTML, CSS, and JavaScript. In contrast to many other user interface toolkits, Infusion components aren't black boxes--they're built to be modified, adapted, and changed to suit your application or context. Taking a "one size fits one" approach, Infusion even lets end-users customize their experience with the UI Options component.

We're looking for students to collaborate with us on the Google Summer of Code 2018 program. Working with Fluid gives you a chance to learn more about accessibility, usability, and inclusivity while writing code with cutting-edge open web technologies. Create cool stuff and make a real impact on users at the same time!

For information about the various ways we communicate with each other, see our Get Involved wiki page.

Getting Started

Make sure to read through the Getting Started on GSoC page for information on joining the Fluid community and preparing to work on a GSoC project.


Project Name

Project Description





Import External Data to MyL3

Project Description:My Life Long Learning Lab (MyL3) allows learners to become experimental researchers in subject of their own learning. MyL3 not only provides custom tools for learners to track their personal data, but it also allows them to import data from external sources to the system. This would enable learners to track various factors in one place, find potential correlations that may impact their learning, and make adjustments accordingly.

This project focuses on importing data from the following external sources to the MyL3 tracker to get real time data into the system:

Difficulty: Medium

Development Mentor: TBD

Design Mentor: Sepideh Shahi

IRC: sepidehshahi

Skills required:

Upgrade AChecker

Project Description: AChecker is an online accessibility validator. It currently supports PHP versions up to PHP5. Also, some libraries used by AChecker, such as PHP HTML DOM Parser and PclZip, are no longer supported by their development team, which results in the same issue of being stuck at old PHP versions. This project includes:

  1. Upgrade AChecker to work with the latest PHP and MySQL;
  2. Replace or patch non-supported libraries.


Difficulty: Medium

Mentor: Cindy Li

IRC: cindyli

Skills required: PHP, Javascript, HTML, CSS.

Implement dynamic descriptions for an interactive PhET simulation

PhET Simulations creates free interactive math and science simulations. The project has over 55 HTML5 simulations with graphical interfaces that foster learning and exploration. We are now adding dynamic descriptions and content to the simulations so that they are accessible with assistive technology. This project will involve adding screen reader accessible descriptions and real-time alerts.

PhET simulations are implemented with a custom scene graph called Scenery. The Scenery API now supports setting accessible content for objects in the display. The project will involve using this API to enhance existing simulations with accessibility.  Students will work on implementing accessible descriptions and alerts from a design document.

Difficulty: Medium

Mentor: Jesse Greenberg

IRC: jessegreenberg

Skills: Javascript, knowledge of object oriented design patterns and the scene graph data structure a big plus

How to get started: Interested studends should start by familiarizing themselves with the structure of a PhET simulation. All code is open source, here is one example: Balancing Act. Interested students should also review the PhET Development Overview to get familiar with PhET's libraries, code style guidelines, how to set up a development environment.

Infusion Documentation

Most of the work we do here either uses or directly involves the Infusion Framework and Component Library. These links should get you started learning about Infusion, and should lead you to many more pages.