       </label>
     </span>
 
+ProjectExperimentalFeatures = React.createClass
+  displayName: "ProjectExperimentalFeatures"
+
+  getDefaultProps: ->
+    project: null
+
+  setting: (task) ->
+    task in (@props.project?.experimental_tools or [])
+
+  updateTasks: (task) ->
+    tools = @props.project.experimental_tools or []
+    if task in tools
+      tools.splice(tools.indexOf(task), 1)
+    else
+      tools = tools.concat([task])
+    @props.project.update({experimental_tools: tools})
+
+  render: ->
+    <div>
+      <AutoSave resource={@props.project}>
+        {["survey", "crop"].map (task) =>
+          <label key={task}>
+            <input type="checkbox" name={task} checked={@setting(task)} onChange={@updateTasks.bind @, task} />
+            {task.charAt(0).toUpperCase() + task.slice(1)}
+          </label>}
+      </AutoSave>
+    </div>
+
 ProjectRedirectToggle = React.createClass
   displayName: "ProjectRedirectToggle"
 

          <li>Beta Approved: <ProjectToggle project={@props.project} field="beta_approved" /></li>
          <li>Launch Requested: <ProjectToggle project={@props.project} field="launch_requested" /></li>
          <li>Launch Approved: <ProjectToggle project={@props.project} field="launch_approved" /></li>
          <li><br /><ProjectRedirectToggle project={@props.project} /></li>
        </ul>
        <h4>Workflow Settings</h4>
        <PromiseRenderer promise={@props.project.get('workflows')}>{(workflows) =>
          if workflows.length is 0

    <ChangeListener target={@props.project}>{ =>
      <div className="project-status">
        <ProjectIcon project={@props.project} />
        <h4>Visibility Settings</h4>
        <ul>
          <li>Private: <ProjectToggle project={@props.project} field="private" trueLabel="Private" falseLabel="Public" /></li>
          <li>Live: <ProjectToggle project={@props.project} field="live" trueLabel="Live" falseLabel="Development" /></li>
