AI

How AI made my one-on-ones deeper

Pawel Gawliczek
ai-tools management automation obsidian

I manage a team of engineers. Every week I have one-on-one meetings with each of them. We talk about projects, blockers, career goals, what’s frustrating them, what’s going well. Good stuff comes out of these conversations. The problem? I used to forget half of it by the next meeting.

I’d walk into a one-on-one thinking “didn’t we talk about something important last time?” and then spend the first five minutes awkwardly trying to reconstruct what happened. Meanwhile, the person sitting across from me could tell I didn’t remember their concerns from two weeks ago. That’s a bad look for a manager. It tells the other person that what they said didn’t matter enough to stick.

So I built a system around it. Every one-on-one gets recorded, transcribed, and fed to an AI agent that extracts structured information and updates the right files. Next time I sit down with someone, I have their full history in front of me: what we discussed, what’s still open, how their project is going, where they are on their career path.

Table of contents

The problem with management memory

A typical week when you manage 10+ people across multiple projects:

Monday: three one-on-ones. Someone mentions a blocker with an external team. Someone else wants to discuss a career move. A third person flags a risk on their project timeline.

Tuesday: two more meetings. Different projects, different concerns.

Wednesday: a project review where you need to aggregate what everyone told you.

By Wednesday, the details are fuzzy. You remember the shape of conversations but not the specifics. Did Maciej say the deadline was the 15th or the 22nd? Was it Omar or Mateusz who flagged the testing bottleneck? Who committed to writing that documentation?

I tried taking notes by hand. I tried keeping a running document. Both worked for about two weeks before the overhead killed the habit. What I needed was something that listened, extracted the important bits, and organized them without me lifting a finger.

How the system works

Three layers, simpler than it sounds:

graph TD
    A[One-on-One Meeting] --> B[Speech-to-Text Recording]
    B --> C[Raw Transcript]
    C --> D[AI Processing Agent]
    D --> E[Person Profile Update]
    D --> F[Project Status Update]
    D --> G[Development Progress Update]
    D --> H[Knowledge Harvesting]

    style A fill:#2d3748,stroke:#4a5568,color:#e2e8f0
    style B fill:#2d3748,stroke:#4a5568,color:#e2e8f0
    style C fill:#2d3748,stroke:#4a5568,color:#e2e8f0
    style D fill:#4a1d96,stroke:#6b3fa0,color:#e2e8f0
    style E fill:#1a4731,stroke:#276749,color:#e2e8f0
    style F fill:#1a4731,stroke:#276749,color:#e2e8f0
    style G fill:#1a4731,stroke:#276749,color:#e2e8f0
    style H fill:#1a4731,stroke:#276749,color:#e2e8f0

Capture: I use SwiftSpeak to record meetings (I wrote about building it here). Depending on the context, different AI models handle the transcription. For work meetings, I use a model approved by my organization. The output is a raw markdown transcript saved with the date as filename.

Processing: An AI agent reads the transcript and cross-references it with existing data. It knows who the person is, what project they’re on, what their career goals are, and what action items were open from the last meeting.

Storage: Everything lives in an Obsidian vault. Structured markdown files organized by person, project, and knowledge area. No database, no custom app. Just files I can read, search, and edit myself.

The information flow

A single one-on-one conversation touches four different knowledge areas at once:

flowchart LR
    subgraph Meeting["One-on-One Meeting"]
        T[Transcript]
    end

    subgraph PersonFiles["Person Profile"]
        PA[Action Items]
        PD[Active Discussions]
        PH[Meeting History]
    end

    subgraph ProjectFiles["Project Tracking"]
        PS[Project Status]
        PR[Risks & Blockers]
        PM[Milestones]
    end

    subgraph DevFiles["Development Tracking"]
        DD[Skill Evidence]
        DC[Career Progress]
        DG[Growth Areas]
    end

    subgraph Knowledge["Knowledge Base"]
        KA[Architecture Decisions]
        KT[Technical Challenges]
        KI[Reusable Patterns]
    end

    T --> PA
    T --> PD
    T --> PH
    T --> PS
    T --> PR
    T --> PM
    T --> DD
    T --> DC
    T --> DG
    T --> KA
    T --> KT
    T --> KI

    style Meeting fill:#2d3748,stroke:#4a5568,color:#e2e8f0
    style PersonFiles fill:#1a4731,stroke:#276749,color:#e2e8f0
    style ProjectFiles fill:#1e3a5f,stroke:#2c5282,color:#e2e8f0
    style DevFiles fill:#4a1d96,stroke:#6b3fa0,color:#e2e8f0
    style Knowledge fill:#744210,stroke:#975a16,color:#e2e8f0

That’s the part I could never keep up with by hand. When someone mentions a technical challenge during a casual chat about their week, I’m not going to pause and think “I should log this in the project knowledge file too.” The AI does that every time without being asked.

What gets extracted from each meeting

The AI agent pulls four categories of information from each transcript:

Person updates are about what’s on their mind, what they committed to doing, what discussions are still open. Previous action items get preserved, new ones added. It’s basically a living document of my working relationship with each person.

Project status covers how the project is doing overall (green, yellow, red), what risks exist, upcoming milestones. This gets aggregated across everyone on the same project, so I can see the full picture without asking the same question five times.

Development evidence surprised me the most. The system maps things people say to career progression criteria. Someone mentions they helped a colleague debug a tricky issue? That’s evidence of mentoring. Someone took initiative cleaning up a testing environment? Ownership and delivery. Come review time, I don’t have to reconstruct six months from memory. The evidence is already there, tagged and dated.

Technical knowledge captures architecture decisions, interesting solutions, challenges solved. Over time this becomes an organizational knowledge base. When a new project faces a similar problem, I can point the team to how another project handled it.

The knowledge cloud

After a few months, the vault starts looking like an interconnected graph. Simplified view:

graph TB
    subgraph People["People"]
        P1[Engineer A]
        P2[Engineer B]
        P3[Engineer C]
    end

    subgraph Projects["Projects"]
        PR1[Project Alpha]
        PR2[Project Beta]
    end

    subgraph Skills["Skill Tracking"]
        S1[Technical Leadership]
        S2[Delivery & Quality]
        S3[Communication]
        S4[Innovation]
    end

    subgraph KB["Knowledge Base"]
        K1[Architecture Patterns]
        K2[Lessons Learned]
        K3[Reusable Solutions]
    end

    P1 -->|works on| PR1
    P2 -->|works on| PR1
    P3 -->|works on| PR2

    P1 -->|demonstrates| S1
    P1 -->|demonstrates| S2
    P2 -->|demonstrates| S3
    P3 -->|demonstrates| S4

    PR1 -->|generates| K1
    PR1 -->|generates| K2
    PR2 -->|generates| K3

    K1 -.->|informs| PR2
    K2 -.->|informs| PR2

    style People fill:#1a4731,stroke:#276749,color:#e2e8f0
    style Projects fill:#1e3a5f,stroke:#2c5282,color:#e2e8f0
    style Skills fill:#4a1d96,stroke:#6b3fa0,color:#e2e8f0
    style KB fill:#744210,stroke:#975a16,color:#e2e8f0

Knowledge moves between projects through people. Lessons from one project inform decisions on another. The system makes those connections visible instead of relying on me to remember that a solution from Project Alpha might help Project Beta.

Daily briefing: walking into meetings prepared

The system also generates a daily briefing before my meetings. It checks my calendar, finds which one-on-ones I have that day, and for each person:

  1. Pulls their open action items and active discussions
  2. Checks their project status and recent updates
  3. Reviews their career development progress
  4. Generates prep questions organized by theme
flowchart TD
    CAL[Calendar Check] --> ID[Identify Today's 1:1s]
    ID --> PREP[For Each Meeting]

    PREP --> R1[Read Person Profile]
    PREP --> R2[Read Project Status]
    PREP --> R3[Read Dev Progress]

    R1 --> Q1[Status Questions\nWhat happened since last time?\nAny blockers cleared?]
    R2 --> Q2[Project Questions\nTimeline on track?\nRisks to discuss?]
    R3 --> Q3[Growth Questions\nSkill development?\nCareer goals progress?]

    Q1 --> BRIEF[Daily Briefing Document]
    Q2 --> BRIEF
    Q3 --> BRIEF

    style CAL fill:#2d3748,stroke:#4a5568,color:#e2e8f0
    style ID fill:#2d3748,stroke:#4a5568,color:#e2e8f0
    style PREP fill:#4a1d96,stroke:#6b3fa0,color:#e2e8f0
    style R1 fill:#1a4731,stroke:#276749,color:#e2e8f0
    style R2 fill:#1e3a5f,stroke:#2c5282,color:#e2e8f0
    style R3 fill:#4a1d96,stroke:#6b3fa0,color:#e2e8f0
    style Q1 fill:#1a4731,stroke:#276749,color:#e2e8f0
    style Q2 fill:#1e3a5f,stroke:#2c5282,color:#e2e8f0
    style Q3 fill:#4a1d96,stroke:#6b3fa0,color:#e2e8f0
    style BRIEF fill:#744210,stroke:#975a16,color:#e2e8f0

I open one file in the morning and I’m ready for every conversation that day. No scrambling through notes. No “remind me where we left off.” I walk in knowing what we discussed last time, what they committed to, and what I want to ask about.

People pick up on this. When you remember their concerns without being reminded, they trust you more. I didn’t expect that side effect, but it’s probably the biggest one.

The AI coach that calls me out

I added one more thing later: an AI that evaluates my own performance after each one-on-one. It scores me on seven dimensions, stuff like how much space I gave the other person to talk, whether my questions had any depth, and whether the meeting produced actual next steps or just aimless chatting.

The coach is configured to be blunt. If I dominated the conversation, it says so. If the meeting produced nothing actionable, it calls that a failure. No diplomacy.

The target ratio is 65-75% employee talking, 25-35% manager talking. When I started tracking this, I was way off. Seeing the actual numbers made me shut up and listen more. Honestly, that one change did more for my one-on-ones than the entire rest of the system.

How to build something like this yourself

You don’t need my exact setup. The pieces are pretty interchangeable.

For recording, any speech-to-text tool works. I use SwiftSpeak because I built it, but Otter.ai, Whisper, or just your phone’s recorder plus a transcription service are all fine.

For storage, I went with Obsidian because it’s just markdown files on disk. Notion would work too. Honestly, a folder of plain text files is enough if you keep the structure consistent.

The part that matters most is the AI processing. You need a prompt that takes a transcript and pulls structured information out of it. Mine is more complex, but a stripped-down version looks like this:

Given this meeting transcript between [Manager] and [Employee]:
- Extract all action items (who committed to what, by when)
- Summarize active discussions and their current status
- Note any project risks or blockers mentioned
- Identify any career development topics discussed
- Flag anything that seems important but wasn't resolved

Cross-reference with their existing profile [paste previous notes]
and update accordingly. Preserve all existing open action items.

You also want templates, so the AI puts information in the same place every time. I have one for each person, one for each project, one for development tracking. They don’t need to be fancy. They just need to be consistent.

And a daily briefing routine. Before my meetings I have the AI compile a prep doc. Even something basic that pulls open action items and recent notes for each person you’re seeing that day changes how you walk into the room.

My advice: don’t try to build the whole thing at once. Start with recording and transcribing. Add AI extraction after a week when you have a feel for what information you care about. Add the daily briefing after a month. You’ll figure out what’s useful as you go.

Starter kit: a CLAUDE.md you can copy

I promised a stripped version of my system config that you can drop into your own Obsidian vault and start using with Claude, Gemini, or any AI agent that reads project files. This is a simplified, safe version of what I actually run. No company names, no real people, no proprietary data. Just the structure and the logic.

Drop this as a CLAUDE.md (or GEMINI.md, depending on your agent) in the root of your vault:

# Management One-on-One System

## Vault structure

- 00_Inbox/ — Unprocessed items
- 10_Planner/ — Daily plans
- 20_People/Active/ — One folder per person
- 30_Projects/Active/ — One folder per project
- 40_Reference/ — Org rules, role definitions
- 50_Templates/ — File templates

## Person folder (20_People/Active/[Name]/)

- actual.md — Action items, discussions, history
- career_path.md — Role, goals, next level
- development_progress.md — Promotion evidence
- one-on-one-transcriptions/ — YYYY-MM-DD.md files

## Project folder (30_Projects/Active/[Code]/)

- Project_Actuals.md — Status, risks, milestones
- Knowledge_Harvesting.md — Tech decisions, patterns

## Processing a one-on-one transcript

When I say "process this transcript":

1. Identify the person and project
2. Read the person's actual.md,
   career_path.md, development_progress.md
3. Read the project's Project_Actuals.md
   and Knowledge_Harvesting.md
4. Extract from the transcript:
   - Action items (who, what, by when)
   - Active discussions and status
   - Project risks or blockers
   - Career development topics
   - Technical insights worth keeping
5. BEFORE making changes, show me a
   summary and wait for confirmation
6. Update files:
   - actual.md: append new items,
     PRESERVE all existing [ ] items
   - Project_Actuals.md: status, risks
   - Knowledge_Harvesting.md: tech insights
   - development_progress.md: log evidence
     e.g. "[2026-01-15]: Mentored on tests"

## Daily briefing

When I say "prep my day":

1. Check my calendar for today's one-on-ones
2. For each person I'm meeting:
   - Read their actual.md (open items, recent discussions)
   - Read their project status
   - Read their development progress
3. Generate 3 prep questions per meeting:
   - One about project status (progress, blockers)
   - One about development (growth, career goals)
   - One about knowledge (technical challenges, lessons learned)
4. Write the briefing to 10_Planner/My Day.md

## Templates

### Person actual.md

Use this structure for every person file:

    ## Active discussions
    - [topic and current status]

    ## Action items
    - [ ] [item] (due: YYYY-MM-DD)

    ## History
    ### YYYY-MM-DD
    - Summary of meeting
    - What was discussed
    - What was decided

### Project_Actuals.md

    ## Current status: 🟢 Green / 🟡 Yellow / 🔴 Red
    [One sentence description]

    ## Risks and blockers
    - [risk or blocker]

    ## Milestones
    - [upcoming milestone and date]

    ## Weekly updates
    ### YYYY-MM-DD
    - [aggregated team update]

### development_progress.md

    ## Category 1: Delivery
    - Reliability and quality
    - Ownership and initiative
    - Architecture decisions

    ## Category 2: Teamwork
    - Communication
    - Technical leadership
    - Supporting others

    ## Category 3: Growth
    - Innovation
    - Self-development
    - Knowledge sharing

    Each category has a progress log:
    - [YYYY-MM-DD]: [Evidence description]

## Rules

- Never delete history entries
- Never remove incomplete action items ([ ])
- Always add dates to new entries
- Always show me what you plan to change before changing it
- Person files = about the person
- Project files = about the project

Adjust the categories in development_progress.md to match whatever promotion criteria your organization uses. The ones above are generic, but the structure works the same way regardless of what you track.

If you want the AI coach piece too, add this to the bottom of the same file:

## After-meeting coaching

After processing a transcript, evaluate
my performance as a manager.

Score each dimension 0-5:
1. Structure: Clear purpose?
2. Listening: They talk 65-75%?
3. Questions: Open-ended, specific?
4. Feedback: Concrete, with examples?
5. Impact: Real next steps or just talk?
6. Adaptation: Tailored to this person?
7. Self-awareness: Did I interrupt/rush?

Be blunt. If I talked too much, say so.
If the meeting was pointless, say that.

What changed after three months

I have one-on-ones with my team every week or two. Before this system, I’d guess I retained maybe 40% of the specific details between meetings. Now it’s close to 100%, because the system remembers everything I don’t.

But the real change is how people respond. My team started opening up more because they could tell I was tracking what they told me. When someone mentioned a concern three meetings ago and I follow up without being prompted, that lands differently. It says: I was listening, I didn’t forget.

Career development conversations got sharper. Instead of “how’s your growth going,” I can point to specific things they’ve done and connect those to their next level. “You mentored two people on testing frameworks last quarter, that’s exactly the kind of evidence we need.” Try having that conversation when you’re reconstructing six months from memory.

The knowledge harvesting turned out to be useful in ways I didn’t plan for. When a new project hit a problem with API versioning, I could say “another team dealt with something similar three months ago, here’s what they learned.” That cross-pollination used to happen by accident. Now I can actually make it happen.

The system isn’t perfect. It still needs me to review what the AI extracts. Sometimes it misreads context, or flags a hypothetical as an action item. But the baseline moved from “I remember almost nothing between meetings” to “I have a searchable record of every conversation with every person on my team.”

A few evenings of setup, and my one-on-ones went from “let me check my notes… actually I don’t have notes” to something I’m genuinely proud of.

Know someone exploring AI translation or automation? Share it with them. Say hello →

Continue reading

More posts from my AI build log.

Personal

Hi, my name is Paweł

Twenty years across QA, product, and engineering leadership took me from Warsaw to Cairo. Here's why I started writing about it.