JSFiddle - React, Tailwind, and code Playground

HTML

<script src="http://cloud.github.com/downloads/SteveSanderson/knockout/knockout-2.0.0.debug.js"></script>
<table class="ui-widget ui-widget-content">
                    <thead><tr class="ui-widget-header ">
                        <th>Username</th><th>User Id</th><th>Readings</th>
                    </tr></thead>
                    <!-- Todo: Generate table body -->
                      <tbody data-bind="foreach: users2">
                     <tr >
                        <td><input data-bind="value: name" /></td>
                        <td><strong data-bind="text: userId" /></td>
                           <td data-bind="foreach: readingsArray">
                               <span>Date:</span>
                            <span data-bind="text: date"></span> |
                            <span>Weight: </span>
                            <span data-bind="text: formattedWeight"></span> |
                            <span>Glucose:</span>
                            <span data-bind="text: glucose"></span><br />
                         </td>
                    </tr>
                   </tbody>
                </table>

JavaScript

/*
 * Reading class
 * containts health readings
 */
function Reading(date,weight,glucose)
{
    var self = this;
    
    self.date=ko.observable(date);
    self.weight=ko.observable(weight);
    self.glucose=ko.observable(glucose);
    self.readingId=ko.observable(0);
    
      self.formattedWeight = ko.computed(function(){
        var formatted = self.weight();
        
        return formatted+" lb"
    });
}

/*
 * User class
 * contains a user name, date, and an array or readings
 */
function User(name,date,readings) {
    var self = this;
    
    self.name = name;
    self.date = date;
    self.userId = ko.observable(0);
    self.readingsArray = ko.observableArray([
        new Reading(99,22,88),new Reading(11,22,33)
    ]); 
}
// Overall viewmodel for this screen, along with initial state
function userHealthModel() {
    var self = this;
    self.inputWeight = ko.observable();
    self.inputDate = ko.observable();
    self.inputId = ko.observable();
    self.inputGlucose = ko.observable();
    
    // => Create observables always on creation!
    self.users2 = ko.observableArray([]);

    // => Now just push to that array
    self.createUsers = function(){
        self.users2.push( new User("Oommen",2012) );
        self.users2.push( new User("Sue",2012) );
    }
    
    // Operations
    self.subscribe = function(){
        var users = this.users();
        for(var x = 0; x < users.length; x++)
        {
            self.users()[x].userId(x); 
        }
    }
    self.addUser = function(){
        self.users.push(new User("Temp",0,0,(new Reading(0,0))));
        var user = new User("Foo", 0, 0, new Reading(0, 0));
        self.subscribe();
        // chart handler
        chart.addSeries({ name: user.name, data: [180, 175, 195, 180] });
    }
    
   self.removeUser = function(userName){
    self.users.remove(userName);
    self.subscribe();}
    
     //adds a readings to the edittable array of readings (not yet the reading array in a user)
     ...