JSFiddle - React, Tailwind, and code Playground

HTML

<script src="http://agilityjs.com/docs/agility.min.js"></script>

JavaScript

/* This override is necessary for the code to work with JSFiddle's echo service. It is not relevant to the Agility code itself. */
$$.adapter.restful = function(_params){
    var params = $.extend({
        url: '/echo/json/',
        dataType: 'json',
        data: {'json': JSON.stringify(_params.data)},        
    }, _params);
    $.ajax(params);        
}

/* Begin actual code */    
    
var statusItemProto = $$({
    model: { text: ''}     ,
    view: { format: '<li data-bind="text" />' }
});
statusItemProto.persist($$.adapter.restful);

var statusForm = $$({
    model: { enteredText: ''},
    view: { format: '<form id="new-status"><textarea data-bind="enteredText"></textarea><input type="submit"><div id="statuses"></div></form>'},
    controller: {
        'submit &': function(e){
            var _this = this;
            e.preventDefault();

            var item = $$(statusItemProto, {
                model: {text: _this.model.get('enteredText')}
            });
            item.bind('persist:save:success', function(){
                $$.document.append(item, '#statuses');
                _this.model.set({enteredText: ''});
            });
            item.save();
        }
    }
});

$(document).ready(function() {
    $$.document.append(statusForm);
});