Skip to main content
hendeaux
Selected work

02Coaching · Full-stack implementation · Custom automation

Post Grad Project
a connected business

Post Grad Project The system behind a one-person coaching business

Client
Post Grad Project
Status
Systems built first and in daily use; the website is the last piece, in final review
Access
Private to the client

What was built

I built the website, CRM, hosted course, client portal and custom automation around Post Grad Project, so David can spend more of his attention on the work only he can do: one-on-one coaching. Website inquiries bring a visitor’s goals into the CRM. Coaching calls feed follow-up emails, client drafts and social content ideas, which flow into an agentic editor David uses daily. Each part connects the customer experience to the work behind it.

What the system includes

  • Customer-facing website and practical guide journeys
  • CRM with original context and prepared replies
  • Hosted lessons, protected playback and resources
  • Client portal for people, conversations and next actions
  • Call-to-follow-up and agentic editing workflows
  • Frontends, backend services and custom integrations

Learning becomes a next step.

I built Post Grad Project’s website, course, client portal and CRM around David’s coaching. Clients save their next steps between sessions and choose what progress to share with him.

My search · client portal. Staging verification with fictional data, September 9, 2026.

1 / 8My search · client portal. Staging verification with fictional data, September 9, 2026.

Open original image (opens in a new tab)
My search with a fictional prospect, saved next action, goal and optional progress sharing

01 / Website → useful context

Start with their question.

Visitors request a practical guide and describe their goal and where they feel stuck. Their answers enter the CRM with the request, giving David context for his follow-up.

How the request carries forward

The contact record preserves the original request. Download activity is recorded separately from the visitor’s answers.

Guide request · staging. The blank form captures the context for a useful follow-up.

2 / 8Guide request · staging. The blank form captures the context for a useful follow-up.

Open original image (opens in a new tab)
Internship email templates guide request form asking for a goal and blocker

02 / Course → saved action

Put the lesson to work.

Course exercises link to My search, a private client workspace for people, conversations and dated next actions.

Clients can return to their saved actions between coaching sessions, even from another browser.

Hosted course · authenticated staging capture, September 10, 2026.

7 / 8Hosted course · authenticated staging capture, September 10, 2026.

Open original image (opens in a new tab)
Authenticated Blueprint course showing David’s lesson, navigation and the matching practice exercise
From lesson to practice · the course links directly into the saved client workspace.

8 / 8From lesson to practice · the course links directly into the saved client workspace.

Open original image (opens in a new tab)
Course exercise connecting the first networking lesson to a saved person and dated next action in My search

A little help with the next step.

Clients can ask for a suggestion based on their saved goal and next action. “Why this?” shows the context behind it. They can flag what helped or needs correcting.

Assistance is optional and sends no messages. Suggestions stay separate from the progress update a client chooses to share with David.

Personal assistance · verified staging example with fictional data, September 10, 2026.

5 / 8Personal assistance · verified staging example with fictional data, September 10, 2026.

Open original image (opens in a new tab)
Optional learner assistance explaining a suggested next action using the saved test goal and date
What persists between visits

Authenticated clients return to their saved workspace. Conflict handling protects edits made in another session. This persistence applies to My search; course lesson checkboxes are currently stored in the browser.

03 / Client choice → coach context

Share progress.
Keep the private parts.

The client chooses whether to share an update. David receives their goal, request for help, progress counts and next-action date under the existing CRM contact.

The client controls the boundary.

Prospect names and individual notes stay private. The client can withdraw sharing at any time.

The matching screens demonstrate the connection on staging with fictional data; they do not show a real client’s results.

The matching CRM update · staging test record. Identity review remains required before preparing a reply.

3 / 8The matching CRM update · staging test record. Identity review remains required before preparing a reply.

Open original image (opens in a new tab)
CRM shared learner progress showing the matching test goal, help request, counts and next action date

On David’s side

Know what needs your attention.

Requests, promises and conversation history help David decide where to follow up. The CRM puts the source context beside the work, with space to review and edit a response.

David’s Today view · synthetic development workspace.

4 / 8David’s Today view · synthetic development workspace.

Open original image (opens in a new tab)
CRM Today screen with synthetic follow-up priorities and source context

Inside Video Desk

A finished render still needs a decision.

I built the editor around saved projects and background runs. The coach can follow an edit from its source script to a rendered version, request a change at a specific moment, and decide where the result may be shared.

  1. 01

    Choose the material

    Call transcript + proposed script

    React / Next.js desk

  2. 02

    Make an edit

    Server API → queued agent run

    Media tools + rendering

  3. 03

    Review a version

    Rendered clip + timed feedback

    Saved project + run history

  4. 04

    Approve & deliver

    Coach selects sharing destinations

    Delivery package

Requested changes return to the agent with the clip version and timestamp. Publishing is a separate step after delivery.

Keep progress separate from permission.

A successful run records that the agent finished its work. Review and release decisions live on the clip. Delivery checks for an approved sharing state and a rendered version before it builds the package. Finishing a background job alone does not authorize delivery.

Run records and events are saved on disk, so the work history remains available beyond the current page session.

Make interrupted work visible.

When the queue next starts after a server restart, it checks for runs left in progress without an active worker. It marks them interrupted and adds an error to their history. The coach can see what stopped instead of a job appearing to run forever.

What the local recovery check verified

A function-level check with fictional saved records confirmed that an interrupted run becomes failed, its original request and clip reference survive, and the existing event history is retained. Completed runs stay unchanged. This check exercises the recovery code; it does not demonstrate a real server crash or automatic resumption of a render.

This map covers the editing system. The course and My search journey above use a separate learner-controlled sharing flow: saved next actions → optional progress sharing → coach context in the CRM.

Something like this for your business?

Start with the free plan, or a call.

Tell me which tasks take up your week and I’ll send a plan within 48 hours. Or book twenty minutes and we’ll talk through what a system like this would need for you.