K-STEPS
First-time setup — create your admin account
K-STEPS
Workflow Tool — sign in to continue

K-STEPS Workflow

Clients

Intern:
Profile Extracted
LinkedIn Optimised
Content Generated
Personalization — build the profile

Give us at least one source. You can add more anytime and re-extract to improve the profile.

① Transcript / Interview notes

Paste it below, or transcribe a recording — the result drops straight into the transcript.

🎙 Record live from Google Meet
Do it on the call: click Start, pick your Meet tab and tick “Also share tab audio”. The transcript builds live in the box above as you talk — so watch words appear (if none do in ~30s, tab audio wasn't shared). Hit Stop when you break; it's already done.
● REC 00:00 ✍ transcribing live…
🎙 Transcribe an audio / video recording
ffmpeg not found. Transcription requires ffmpeg.
OpenAI API key not configured. Add OPENAI_API_KEY=your_key to the server env.
🎙️
…or upload an audio / video file
MP3 · WAV · M4A · OGG · AAC · MP4 · MOV · AVI · MKV · WEBM
No size limit — compressed before Whisper
📂Extracting audio
🗜️Compressing audio
✍️Transcribing with Whisper
Transcript result
duration Estimated cost:
② Documents — CV, LinkedIn export, other

PDF, DOCX or TXT. Upload as many as help — they're all used, and kept for reference.

+ Click to upload a document
Add a transcript or at least one document first.
📎 Saved sources

The exact files and transcript used to build this profile — kept for reference.

Opens the recorder + sources. Monthly call? Record here, then re-extract to refresh the profile.
Post History

Paste previous posts here to prevent repetition. Content saved here is sent to the AI when generating new posts.

Content Bank
Loading…
Client Requests
One-off instructions, voice notes, and requests that fall outside the standard batch flow — scoped to this client. Type a request or upload the client's voice note; drafts land in the Content Calendar for approval.
Loading…

Headline Generator

About Section Generator

AI REVISION

Experience Formatter

Paste raw experience entries below to reformat with leadership narratives and impact framing.

AI REVISION
✓ Saved automatically

Instagram

X (Twitter)

📋

Extract a client profile first before generating content.

LinkedIn profile not yet optimised. Posts may be generated without personalised profile context.
T S A
Approve the angles, then generate
Tick the ones you want, edit any wording, remove or add your own. Only the ticked angles get written.
Generating posts…
Intro Post Standalone deliverable · does not count toward monthly post allocation
INTRO POST EDITED
AI REVISION
REVISION HISTORY
0 selected
✅ Posted ▼

Posts already published to LinkedIn, most recent first. Kept out of the main feed above to reduce scrolling.

📥 Archived ▼

Parked posts, kept out of the feed to reduce clutter. Unarchive any to bring it back.

🗑 Trash ▼

Posts in the trash can be restored or permanently deleted. They do not appear in the content calendar.

Approved Posts 
▲
🖼 Image Library

One place for this client's images (the ones they send on WhatsApp, headshots, brand photos). Every intern on this client sees them here — no more forwarding. Upload once, then attach to any post in a click. Images are compressed automatically.

⬆️
Click to upload images
PNG · JPG · WEBP · select several at once
Uploading…
Posting Schedule

Set which days this client's posts should go out and which platform the intern will use. The admin Dispatch Queue uses this schedule to surface clients on their posting days.

Client Settings
Brand Kit — used for this client's generated caption images
LinkedIn Account

Connect this client's LinkedIn account to enable direct publishing.

✓ Connected
Connecting…

Portal Access

Generate an invite link for this client to access their DFY portal.

Share this link with the client:

Admin Panel

Team Accounts

Client Assignments
Reset Portal Password

Set a new password for a client's DFY portal account. Use this when they've forgotten their password.

Client Emails

Fill in each client's email from the address they used to sign up on the DFY portal, for clients that don't have one set yet. Existing emails are never changed.

Content Formatting

Strip AI tells (em dashes, curly quotes) from existing drafts that haven't been posted yet. New posts are cleaned automatically on generation. Already-posted content is never touched.

Danger Zone — Delete Client

Permanently deletes the client, all their posts, profile, and associated data. This cannot be undone.

Dispatch Queue

Loading…
—
Posting Today
—
Dispatched
—
Confirmed Posted

My Queue

Schedule LinkedIn Post

Time is in WAT (West Africa Time). The post will be published automatically at the scheduled time.

Add a post

Paste a post the client wrote themselves. It goes in as-is (no AI) and is ready to schedule or publish. Paste everything into Post text if it's one block.

Add New Client

Generate Posts

Delete Client

You are about to permanently delete and all their posts, profile, and data. This cannot be undone.

Type the client's name to confirm:

Clear All Posts

This will permanently delete all posts for this client. This cannot be undone.

✓ saved
Esc to exit · ← → to move
now · LinkedIn
Click any text to edit it live · changes save automatically