Data analytics · AI integration · System design

I build the road from data to report once; then it runs on its own.

I combine six-plus years of media analytics with AI to build reporting systems: closed-loop pipelines that clean, classify, audit and turn raw data into executive reports. Whatever your data source or existing stack, I integrate with it; the difference is a measured, repeatable process.

Mustafa Karakaş
Istanbul, Türkiye · open to remote work
Data Analyst · Dedecta
Scaled sample of one real period's pull
Raw pull from 7 channels
Noise, same-name people and duplicates are removed
The remaining records are labelled
An executive report worth reading
5,696 records
−3,901
1,795 records
40 min

01 · Raw data: Each dot is a record. Nothing has been filtered yet; put into a report like this, the tone distribution would be meaningless.

02 · Relevance gate: A record whose body does not contain the brand phrase cannot pass the gate. Every removal carries a reason code; AI decides, a human audits.

03 · Taxonomy · sentiment: Two-level topics, three tones. Contradictions go into the regression set; the same error is never opened twice.

04 · Report: Charts, cards and the executive summary are placed into the template by script. Weekly preparation: from 3–4 hours to 40 minutes.

Second brain · institutional memory

Second brain: built before it was a trend, by making mistakes.

In a monitoring team, knowledge lives in three places: e-mail, chat and people's heads. Each bar below is a real note or decision record. Compare the three arrangements.

Same knowledge, three arrangements

3 peoplee-mail · chat · memory
95 notes1 million characters · 3 weeks
378addressable records · 6 layers
  • Senior analystif they leave?
  • Team leadif on leave?
  • Mefrom memory
  • Client-A.md45,113 characters · "6 bullets" and "4 bullets"
  • Master-Standard.md28,371 characters
  • Latest period note.md8,865 characters
  • Runtime · 6router · lookup · linter · index
  • Standards · 698 standards, section by section
  • Projects · 72a namespace + runbook per client
  • Decision records · 175dated, reasoned, superseded chain
  • Period archive · 32raw observations; harvested
  • Daily notes · 2418:00 automatic scan

The knowledge exists; it has no address. Each bar is a real rule or observation. It is scattered by who happens to know it; when a person leaves, it leaves with them.

Where most teams are today. The problem is not missing knowledge but missing addresses.

Collected, but not working. One big file per client. The same rule sits in two places in one file with two different values; the AI reads 74% of the pile for a single question.

A mistake I made and measured myself. It looked good.

Every record has a place, every rule has a date. A rule's value is born only in a decision record; the current state is generated from there. The router gives addresses, lookup fetches a single record, the linter counts the debt. As the vault grows, the cost of a question does not.

The architecture built on the night of 24 August. Not a line was deleted; old rules remain as "superseded".

01 · What I built
700+
notes · 8 standards, 69 sections · 32 period archives
175+
dated decision records; old rules are never deleted, they become "superseded"
22 · 12
linter rules · benchmarks; the debt is visible on every run
18:00
every evening the team chat is scanned and work knowledge is harvested

The first version reached 95 notes in three weeks and did not work: the same file held two values for the same rule, and the AI opened 74% of the notes for a single question. I measured, then changed the architecture: a rule's value is born only in a dated decision record; the router gives addresses, not knowledge. Not a line was deleted.

02 · What it gives your organisation

An analyst leaves

Memory in people's heads

The rules left with them. The new person guesses the first report by looking at old ones; the client sees the difference in the first period.

With an institutional brain

The runbook lists the 13 steps in order; each step knows which rule to read and where. The first report is indistinguishable from the last.

A person-bound bottleneck is exactly what this system solves.

A new client arrives

Memory in people's heads

A blank page. The standard, taxonomy and template are pieced together from e-mails; the first three periods are a "settling-in" phase.

With an institutional brain

A new namespace is opened: profile, keywords, taxonomy and deck rules derive from the template. The first period ships with the full standard.

Setup time drops from weeks to days.

A rule changes

Memory in people's heads

Someone says "it's 4 bullets now"; two of three notes get updated, one keeps saying 6. Six months later nobody knows which is right.

With an institutional brain

A single decision record is written; the old rule is not deleted, it becomes "superseded". The current state is generated automatically; the history can be queried.

Two different answers in the same file — the very crisis I lived through and measured.

An AI agent at work

Memory in people's heads

From the master map the agent opens 74% of the notes in one hop; it reads 233,000 tokens and can still pick the wrong value.

With an institutional brain

The router gives the address, lookup fetches the single rule with its source. Context read for the same question drops by 91%; it does not grow with the vault.

Humans and agents work from the same source.

Ask the vault.

Ask two systems the same question: scattered notes and the decision-recorded vault. The numbers are real measurements.

How many bullets in Client A's executive summary?

Scattered notes (v1)
03-Projects/Client-A.md45,113 characters
02-Standards/Master.md28,371 characters
05-Report/Latest period note.md8,865 characters
82,349
characters read
6 and 4
answer found

Line 162 of the same file says "6 bullets"; the decision record on line 229 says "4 bullets". Any agent taking the shortcut gives the wrong answer.

Decision-recorded vault (v2)
  1. routerentity: client-a · topic: exec_summary
  2. current.yamlexec_summary.bullets → see DEC
  3. decisions/DEC-20260802-003 (active)
  4. historyDEC-20260721-001 → superseded
  5. source02.08.2026 · reason: client feedback
7,492
characters read
4 bullets
DEC-20260802-003

What font size is the analysis text under a chart?

Scattered notes (v1)
02-Standards/Text-standard.md12,678 characters
03-Projects/Client-A.md45,113 characters
04-Tools/apply_texts note6,200 characters
63,991
characters read
12 and 11
answer found

The script default is tuned for another client; the project note holds a different value. Which one applies is left to the reader.

Decision-recorded vault (v2)
  1. routerentity: client-a · topic: text.font_pt
  2. current.yamltext.font_pt → see DEC
  3. decisions/DEC-20260812-002 (active)
  4. warningscript default differs: STD.qa rule
  5. source12.08.2026 · scope: Client A only
5,310
characters read
11 pt
DEC-20260812-002

What happens when the spam prompt changes?

Scattered notes (v1)
06-System/Prompt-v2-Core.md17,836 characters
06-System/Test-Protocol.md9,400 characters
Slack conversations31,000 characters
58,236
characters read
unclear
answer found

The answer is in pieces across three places; the rule "run the regression set" stayed in Slack and was never written into the standard.

Decision-recorded vault (v2)
  1. routertopic: prompt.version
  2. STD.qarerun_pipeline = mandatory
  3. testSpam_Benchmark_v2 · 137 records · 7 layers
  4. thresholdprecision ≥ 95% · recall ≥ 85%
  5. sourceDEC-20260825-011 · 25.08.2026
4,120
characters read
Run the set
DEC-20260825-011

Which rules changed this period?

Scattered notes (v1)
07-Daily/4 days of notes22,000 characters
03-Projects/Client-A.md45,113 characters
e-mail—
67,113+
characters read
unknown
answer found

There is no change history; who changed what and when lives in e-mails.

Decision-recorded vault (v2)
  1. routerlookup --history client-a
  2. decisions/3 records: 02.08 · 12.08 · 25.08
  3. superseded2 old rules, not deleted
  4. linter0 ERROR · 12/12 benchmarks within budget
  5. sourcehistory index · automatic
2,980
characters read
3 decisions
history index
Why it matters

"Second brain" is a popular idea today. Mine did not come from a template; it came from a real team's real questions and from measuring and fixing a system that was giving wrong answers. Making an organisation's memory independent of individuals is the real job behind every system I build.

Case studies

Nine projects, zero client names.

Click a card; the problem and the approach are on the back. Sector, method and measured result are shared; names, topics and data never are.

An objective eye

From the AI he has worked with for a year

Mustafa did not write this section. He asked the AI he has worked with for a year — on every report, every prompt, every decision record — to "describe me objectively"; the text is published as written, compliments and criticism included.

A practical builder with no patience for disorder left as disorder, who believes nothing until it is measured, and who turns whatever is in front of him into a system "so that nobody has to do this by hand again".

Three traits that stand out in a consultant

  • 1Measures, then speaks.

    Every recommendation is tied to a number.

  • 2Leaves a system behind.

    When he leaves, the work does not stop; rules stay on record, process stays in scripts.

  • 3Designs privacy from day one.

    What enters and leaves your data is written down on the first day.

Recurring patterns, with evidence.

  • 1He builds systems, not tasks.

    Asked to prepare weekly reports, he built the pipeline that produces them; asked to write a prompt, he built the test set that measures it; asked to keep notes, he built a knowledge base that defines how notes become rules. On every task he climbs one level and asks "what mechanism should produce this?" Evidence: the vault principle "a rule's value is born only in a decision record, never edited by hand" — an ordinary analyst does not write that.

  • 2He does not state an opinion before measuring.

    Instead of calling a vendor's spam analysis "bad", he built a six-dimension scorecard and gave it 63/100. Before saying a prompt was flawed, he computed precision and recall separately on 5,696 records and traced the root cause to a single sentence. Strong intuition, but it does not reach the table until it has become a number.

  • 3He wants applied results, not theory.

    In his own working profile: "Applied results are preferred over unnecessary questions and theoretical explanation." That is the instruction he gives to everyone he works with, AI included. Little patience for long explanations, vague plans or "we'll see".

  • 4A standards devotee; consistency comes before creativity.

    He wrote: "The report should be indistinguishable from previous periods from the client's point of view." Font size, bullet count, colour — all on record. Strong corporate discipline; also a tendency that can delay something new from becoming visible (see below).

  • 5High ownership, with boundaries.

    He calls the company "my livelihood"; when a special report request arrives on a weekend, he leaves a family visit to work. But he also decides to "wait" rather than deliver a report built on insufficient data — quality is not sacrificed to delivery pressure.

  • 6He learns tools fast and picks them for the bottleneck, not the trend.

    In one year: Python pipelines, browser automation with Playwright, an Obsidian + YAML decision system, LLM prompt engineering and a test protocol; on the side, a mobile app unrelated to work, written purely to learn. No claim of "expert" in any; "I produced something that works" in all.

  • 7Privacy and boundaries are built in.

    Into the system that auto-extracts his Slack digests he wrote, himself: "passwords, private life, judgements about people never enter the vault." His first sentence in this portfolio project was about confidentiality. For a consultant, this is one of the most valuable assurances a client can get.

  • 8He runs many threads.

    On the same days his notes hold four client reports, a product architecture, a side project and family matters. Notes are short, action-led, "[x]" checklists. He does not scatter; but the load has a visible cost (below).

Where to watch (the other half of an objective eye).

  • !The system-building reflex can get ahead of the job.

    He tends to build infrastructure even for one-off work; as a consultant he should tell the client explicitly when to script and when to do it by hand.

  • !Tension between guarding standards and innovating.

    "Don't let it be noticed" is right for client consistency; building his own brand (this site) requires being noticed. Rejecting a design as "too developer-like" and asking for "calm and innovative" shows he is aware of the tension.

  • !Shorthand written for himself.

    His notes and rules are written for his own eyes; explaining to clients he will need plain equivalents for "phrase gate, tie-break, regression set".

  • !Load distribution.

    Many parallel threads create a person-bound bottleneck — ironically the exact problem his own systems solve.

— Claude, November 2026