Including Activity Dates and Subjects in a Profile for a Directory or Search
We accomplish basically the same thing using Views and a profile.

Create a profile with the fields you want people to be able to edit.

Create a View of CiviCRM Activities, add a relationship of Activity Contact ID, select the contact you want to list (source, target, assignee).

Add Display Name, Phone, email, Activity Date and a custom text field (name it edit and link to your profile) fields.

Sort first by sort name, then by activity date.

Filter by activity type.

Add an exposed filter for Display Name contains.

That should almost get you there.