A system for a user interface,UI, development platform, the system comprising: a network; a first computing device providing a collaborative UI development platform a second computing device and a third computing device, each in communication with the collaborative UI development platform by way of the network; the collaborative UI development platform adapted to: generate a plurality of data structures by a designer operating the second computing device to define design intent for a particular UI comprising a plurality of UI elements, each UI element having an associated animation, each one of the plurality of data structures associated with one of the plurality of UI elements, wherein the collaborative UI development platform comprises a rendering component adapted to render the plurality of UI elements, wherein each one of the plurality of data structures comprises data allowing the UI element associated with that data structure to be rendered by the rendering component, wherein the data allowing the UI element to be rendered by the rendering component comprises data reflective of state to state transitions for that UI element and data reflective of the layout of the UI element to define a position of the UI element within the particular UI wherein the data reflective of state to state transitions includes a timeline providing a list of tracks, each track containing key times defining at what point an attribute for the associated animation changes; and generate source code in association with at least one of the plurality of data structures by a developer operating the third computing device, the source code comprising logic implementing the design intent. a network; a first computing device providing a collaborative UI development platform a second computing device and a third computing device, each in communication with the collaborative UI development platform by way of the network; the collaborative UI development platform adapted to: generate a plurality of data structures by a designer operating the second computing device to define design intent for a particular UI comprising a plurality of UI elements, each UI element having an associated animation, each one of the plurality of data structures associated with one of the plurality of UI elements, wherein the collaborative UI development platform comprises a rendering component adapted to render the plurality of UI elements, wherein each one of the plurality of data structures comprises data allowing the UI element associated with that data structure to be rendered by the rendering component, wherein the data allowing the UI element to be rendered by the rendering component comprises data reflective of state to state transitions for that UI element and data reflective of the layout of the UI element to define a position of the UI element within the particular UI wherein the data reflective of state to state transitions includes a timeline providing a list of tracks, each track containing key times defining at what point an attribute for the associated animation changes; and generate source code in association with at least one of the plurality of data structures by a developer operating the third computing device, the source code comprising logic implementing the design intent. generate a plurality of data structures by a designer operating the second computing device to define design intent for a particular UI comprising a plurality of UI elements, each UI element having an associated animation, each one of the plurality of data structures associated with one of the plurality of UI elements, wherein the collaborative UI development platform comprises a rendering component adapted to render the plurality of UI elements, wherein each one of the plurality of data structures comprises data allowing the UI element associated with that data structure to be rendered by the rendering component, wherein the data allowing the UI element to be rendered by the rendering component comprises data reflective of state to state transitions for that UI element and data reflective of the layout of the UI element to define a position of the UI element within the particular UI wherein the data reflective of state to state transitions includes a timeline providing a list of tracks, each track containing key times defining at what point an attribute for the associated animation changes; and generate source code in association with at least one of the plurality of data structures by a developer operating the third computing device, the source code comprising logic implementing the design intent.