         self.cells.append(FriendCellInfo(fbid: friend.fbid,
                                          name: friend.display_name,
                                          picture: friend.picture_url))
+        var sorted = [String]()
+        let key = String(friend.first_name.characters.first!).uppercased()
+        if let friends = self.sortedFriends[key] {
+          sorted = friends
+        }
+        sorted.append(friend.fbid)
+        self.sortedFriends[key] = sorted
         onMain {
           completion()
         }

                       forCellReuseIdentifier: FriendCell.identifier)
    tableView.allowsMultipleSelection = true
  }
}

extension FriendPickerViewController : UITableViewDataSource {
  func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath)
      -> UITableViewCell {
    guard
      let cellInfo = dataSource.cells[safe: indexPath.row] as? FriendCellInfo,
      let cell =
          tableView.dequeueReusableCell(withIdentifier: cellInfo.cellIdentifier,
                                        for: indexPath)
              as? ConfigurableTableViewCell
    else {
      return UITableViewCell()
    }

    cell.configure(cellInfo: cellInfo)
    cell.accessoryType =
        dataSource.selectedFriends.contains(cellInfo.fbid) ? .checkmark : .none

  override func viewDidLoad() {
    super.viewDidLoad()

    configureNavigationBar()
    configureTableView()

    // TODO(compnerd) color the background to .clear
