     formData.ptm = params.endTime.format('HHmm')
   logStatus(formData)
 exports.logActivity = logActivity
-  
+
+  # params: childID, weight (oz), text, body (optional)
+logWeight = (params) =>
+  formData = {
+    Kid: params.child.id,
+    C: 1700,
+    fmt: 'long'
+    uts: params.time.format('HHmm')
+    ptm: params.time.format('HHmm')
+    pdt: params.time.format('YYMMDD')
+    txt: params.text || params.body,
+    p: params.weight,
+    n: params.body,
+    listKid: -1
+  }
+  logStatus(formData)
+exports.logWeight = logWeight
+
 # params: childID, time, endTime (optional)
 logSleep = (params) =>
   p = q.defer()

    pdt: getTSForDay(params.time)
    d: (+params.left || 0) + (+params.right || 0),
    e: params.endTime.format('M/DD/YYYY HH:mm'),
    txt: label + (if params.text then ' - ' + params.text else ''),
    isst: 1,
    p: (if params.lastSide == 'left' then 1 else 2) + ';' + (+params.left || 0) + ';' + (+params.right || 0),

    _.assign(params, {function: update})
    if s.match /month/
      _.assign(params, {span: 'month'})
    else if s.match /day|yesterday|today/
      _.assign(params, {span: 'day'})
    else
      _.assign(params, {span: 'week'})
  else if s.match /weighed/
    weight = 0
    if matches = s.match(/([\.0-9]+) kg/)
      weight = +matches[1] * 2.2 * 16
    else if matches = s.match(/([\.0-9]+) ?lbs?( ([\.0-9]+) ?oz)?/)
      weight = +matches[1] * 16 + (+matches[3] || 0)
    _.assign(params, {function: logWeight, weight: weight, text: s})
  else if s.match /drank/
    params.function = logSupplement
    if matches = s.match(/([.0-9]+) oz/)
