Skip to content

Instantly share code, notes, and snippets.

@ben-doyle
Last active September 25, 2025 00:32
Show Gist options
  • Select an option

  • Save ben-doyle/50d5124644f48d9c58017edef84df74b to your computer and use it in GitHub Desktop.

Select an option

Save ben-doyle/50d5124644f48d9c58017edef84df74b to your computer and use it in GitHub Desktop.
Building a Second Brain - Ben's Obsidian

What it is based on


Building a Second Brain - A proven method to organise your Digital Life and unlock your creative potential - Book

What it is

  • A system for personal knowledge management (PKM): capturing, organising, and retrieving information so you don't rely only on memory.
  • Designed for the digital age: dealing with overload of content, ideas, and inputs.
  • Combines traditional note-taking with modern tools to build a “Second Brain”—a trusted place outside your head for ideas, insights, and references.

Key methods

Method Description
PARA method Organize files and notes by Projects, Areas, Resources, Archives. Helps you quickly find what you need.
Progressive summarization Capture notes in layers, highlighting and summarizing so the most useful ideas rise to the top.
Review cycles Weekly, monthly, yearly reviews to prune, reorganize, and keep the system aligned with your goals.

Why it’s Useful

  • Spend less time searching for information you already collected.
  • Free up mental space: reduce the cognitive load of remembering details and focus on creating, analysing, doing.
  • Make consistent progress on projects and goals by turning knowledge into action.
  • Support sustainable creativity by reusing prior ideas and combining insights.

The PARA Method - Simplify, Organise, and master your Digital Life - Book

What it is

  • A simple system to organize all of your digital information using 4 categories.
  • Designed so you can find what you need, exactly when you need it.
  • Platform-agnostic: works with files, cloud storage, note apps, etc.

The 4 PARA Categories

Letter What it means How you use it
Projects Things you’re actively working on right now. Only current, actionable work goes here.
Areas Roles and responsibilities you maintain over time. Things you always want to stay on top of (e.g. health, finances, job responsibilities).
Resources Topics or interests that could be useful in the future. Stored stuff: research, articles, ideas—not tied to a specific project.
Archives Finished or inactive items from the other three categories. Clean up and store away so it’s not cluttering current work.

Why it’s Useful

  • You stop wasting time looking for things you thought you’d saved.
  • Brings clarity: you can see what needs your attention and what doesn’t.
  • Lets you use what you’ve learned and collected before—more reuse, fewer lost ideas.
  • Works with minimal maintenance; forgiving system so perfect structure isn’t required.

PARA Example Obsidian Template

Obsidian Forum: Para Starter Kit Small starter kit for use with Obsidian. It’s a full vault to explore around and some of the methodology for P.A.R.A. and how to get started for yourself.


The note-taking app we are using Obsidian

What is Obsidian

Obsidian stores notes privately on your device in MarkDown, so you can access them quickly, even offline. You can use iCloud to sync between your devices (Computer, Phone, Tablet etc).

How to install & Setup

  1. Install obsidian
  2. To create a new empty vault:
    • To the right of Create new vault, click Create.
    • In Vault name, enter the name of your vault.
    • Click Browse to select where your new vault will be created.
    • Click Create.

How to sync using iCloud

  1. Enable iCloud Drive:
    • On macOS: Go to System Preferences → Apple ID → iCloud → iCloud Drive.
    • On iOS: Go to Settings → [Your Name] → iCloud → iCloud Drive.
  2. Create a new vault in iCloud, or move your obsidian vault to your iCloud drive.

Obsidian Web Clipper Browser Extension (Optional)

Highlight and capture web pages in your favourite browser. Save anything and everything with just one click.

Obsidian Web Clipper

Setting up my chosen theme

AnuPpuccin

  1. Go to your theme folder (.obsidian/themes) and run: git clone https://github.com/AnubisNekhet/AnuPpuccin.git
  2. Open obsidian settings → Appearance, change theme to AnuPpuccin

Style AnuPpuccin with Style Settings Plugins

  1. Open obsidian settings → Style settings → Import → Paste the below
{
  "anuppuccin-theme-settings@@anp-header-color-toggle": true,
  "anuppuccin-theme-settings@@anp-header-margin-toggle": true,
  "anuppuccin-theme-settings@@anp-header-divider-color-toggle": true,
  "anuppuccin-theme-settings@@anp-decoration-toggle": true,
  "anuppuccin-theme-settings@@anp-autohide-titlebar": false,
  "anuppuccin-theme-settings@@anp-hide-status-bar": false,
  "anuppuccin-theme-settings@@anp-tooltip-toggle": false,
  "anuppuccin-theme-settings@@anp-color-transition-toggle": true,
  "anuppuccin-theme-settings@@anp-button-metadata-toggle": false,
  "anuppuccin-theme-settings@@anp-kanban-lanes": true,
  "anuppuccin-theme-settings@@anuppuccin-theme-light": "ctp-latte",
  "anuppuccin-theme-settings@@anuppuccin-theme-dark": "ctp-macchiato",
  "anuppuccin-theme-settings@@anuppuccin-theme-accents": "ctp-accent-sapphire",
  "anuppuccin-theme-settings@@anp-active-line": "anp-current-line",
  "anuppuccin-theme-settings@@anp-custom-checkboxes": true,
  "anuppuccin-theme-settings@@anp-speech-bubble": true,
  "anuppuccin-theme-settings@@anp-callout-color-toggle": true,
  "anuppuccin-theme-settings@@anp-codeblock-numbers": true,
  "anuppuccin-theme-settings@@anp-codeblock-wrap-edit": "anp-codeblock-edit-nowrap",
  "anuppuccin-theme-settings@@anp-codeblock-wrap-preview": "anp-codeblock-preview-nowrap",
  "anuppuccin-theme-settings@@anp-codeblock-wrap-hl-preview": "anp-codeblock-preview-hl-nowrap",
  "anuppuccin-theme-settings@@anp-list-toggle": true,
  "anuppuccin-theme-settings@@anp-table-toggle": true,
  "anuppuccin-theme-settings@@anp-table-width": true,
  "anuppuccin-theme-settings@@anp-canvas-dark-bg": true,
  "anuppuccin-theme-settings@@anp-colorful-frame": true,
  "anuppuccin-theme-settings@@anp-colorful-frame-icon-toggle-light": false,
  "anuppuccin-theme-settings@@anp-colorful-frame-icon-toggle-dark": false,
  "anuppuccin-theme-settings@@anp-custom-vault-toggle": true,
  "anuppuccin-theme-settings@@anp-file-icons": true,
  "anuppuccin-theme-settings@@anp-floating-header": false,
  "anuppuccin-theme-settings@@anp-collapse-folders": true,
  "anuppuccin-theme-settings@@anp-file-label-align": "0",
  "anuppuccin-theme-settings@@anp-alt-rainbow-style": "anp-full-rainbow-color-toggle",
  "anuppuccin-theme-settings@@anp-rainbow-file-toggle": false,
  "anuppuccin-theme-settings@@anp-full-rainbow-text-color-toggle-light": false,
  "anuppuccin-theme-settings@@anp-full-rainbow-text-color-toggle-dark": false,
  "anuppuccin-theme-settings@@anp-rainbow-folder-bg-opacity": 0.5,
  "anuppuccin-theme-settings@@anp-simple-rainbow-title-toggle": false,
  "anuppuccin-theme-settings@@anp-layout-select": "anp-card-layout",
  "anuppuccin-theme-settings@@anp-bg-fix": false,
  "anuppuccin-theme-settings@@anp-hide-borders": false,
  "anuppuccin-theme-settings@@anp-card-shadows": true,
  "anuppuccin-theme-settings@@anp-card-layout-actions": true,
  "anuppuccin-theme-settings@@anp-card-layout-filebrowser": true,
  "anuppuccin-theme-settings@@anp-callout-select": "anp-callout-block",
  "anuppuccin-theme-settings@@callout-title-padding": "6px",
  "anuppuccin-theme-settings@@callout-radius": 12,
  "anuppuccin-theme-settings@@callout-title-opacity": 0.25,
  "anuppuccin-theme-settings@@anp-h1-color-custom": "anp-h1-pink",
  "anuppuccin-theme-settings@@anp-bold-custom": "anp-bold-sapphire",
  "anuppuccin-theme-settings@@anp-italic-custom": "anp-italic-yellow",
  "anuppuccin-theme-settings@@anp-highlight-custom": "anp-highlight-green",
  "anuppuccin-theme-settings@@anp-h2-color-custom": "anp-h2-mauve",
  "anuppuccin-theme-settings@@anp-h3-color-custom": "anp-h3-lavender",
  "anuppuccin-theme-settings@@anp-h4-color-custom": "anp-h4-blue",
  "anuppuccin-theme-settings@@anp-h5-color-custom": "anp-h5-sky",
  "anuppuccin-theme-settings@@anp-h6-color-custom": "anp-h6-green"
}

My plugins

Must have

  • templater
    • Create and use templates.
  • periodic-notes
    • Create/manage your daily, weekly, and monthly notes.
  • style-settings
    • Adjust theme, plugin, and snippet CSS variables.
  • dataview
    • Advanced queries over your vault for the data-obsessed.

Good for my workflow

Nice extras

  • obsidian-excalidraw-plugin
    • Edit and view Excalidraw drawings.
  • OA-file-hider
    • Hide files and folders from the file explorer.
  • homepage
    • Open a specified note, canvas, or workspace on startup, or set it for quick access later.
  • badges
    • Add inline badges/callouts to notes.

If you want to get really fancy

  • Copilot for Obsidian
    • The Ultimate AI Assistant for Your Second Brain.
    • Use with local LLMs on your machine, to stay secure.

Templates

Books

<%*
let bookTitle = tp.file.title;
let bookAuthor = await tp.system.prompt("Author");
let bookDateRead = tp.date.now("YYYY-MM-DD");
let bookRating = await tp.system.prompt("Rating (out of 5)");
%>---
title: "<%* tR += bookTitle %>"
author: "<%* tR += bookAuthor %>"
date_read: "<%* tR += bookDateRead %>"
rating: "<%* tR += bookRating %>"
tags: book
---

# <%* tR += bookTitle %>

- **Author**: <%* tR += bookAuthor %>
- **Date Read**: <%* tR += bookDateRead %>
- **Rating**: <%* tR += bookRating %>/5

## Summary

Write a brief summary or notes about the book here.

Request

<%*
let requester = await tp.system.prompt("Requester");

/* Define Main Stakeholder Options */
let mainStakeholderOptions = ["Organisation1", "Organisation2", "Other"];

/* Present Suggester for Main Stakeholder */
let mainStakeholder = await tp.system.suggester(mainStakeholderOptions, mainStakeholderOptions);
if (mainStakeholder === "Other") {
    mainStakeholder = await tp.system.prompt("Please specify the Main Stakeholder");
}

/* Prompt before Patient-First Suggester */
await tp.system.prompt("Is this Patient-First? Select 'Yes' or 'No' in the next dialog.");
let patientFirstOptions = ["Yes", "No"];
let patientFirst = await tp.system.suggester(patientFirstOptions, patientFirstOptions);

/* Prompt before Value Suggester */
await tp.system.prompt("Select the Value in the next dialog.");
let valueOptions = [
"High",
"Medium",
"Low"
];
let value = await tp.system.suggester(valueOptions, valueOptions);

let outline = await tp.system.prompt("Outline of what was requested");

/* Generate the Content */
let yamlFrontMatter = `---
requester: "${requester}"
main_stakeholder: "${mainStakeholder}"
patient_first: "${patientFirst}"
value: "${value}"
tags: request
---`;

let bodyContent = `
# Feature/Change Request

- **Requester**: ${requester}
- **Main Stakeholder**: ${mainStakeholder}
- **Patient-First**: ${patientFirst}
- **Value**: ${value}

## Outline of Request

${outline}

## Additional Notes

Write any additional notes or comments here.
`;

/* Combine Front Matter and Body */
tR = yamlFrontMatter + bodyContent;
%>

Meeting

---
title: Meeting - {{title}}
date: {{date:YYYY-MM-DD HH:mm}}
attendees: 
tags: meeting
---

# Meeting: {{title}}

## Attendees
- 
- 
- 

## Agenda
1. 
2. 
3. 

## Discussion Points
### 1. [Topic]
- 
- 

### 2. [Topic]
- 
- 

### 3. [Topic]
- 
- 

## Action Items
- [ ] Task 1 - Assigned to: @
- [ ] Task 2 - Assigned to: @
- [ ] Task 3 - Assigned to: @

## Decisions Made
- 
- 

## Next Steps
- 
- 

## Additional Notes
- 
- 

## Follow-up
- Next meeting date: 
- Items to address in the next meeting:
  1. 
  2. 

---
Created: {{date:YYYY-MM-DD HH:mm}}

Daily Notes

---
title: {{date:YYYY-MM-DD}}
date: {{date:YYYY-MM-DD HH:mm:ss}}
lastmod: {{date:YYYY-MM-DD HH:mm:ss}}
tags: daily-notes
---
# {{date:dddd, MMMM Do YYYY}}

[[{{date:YYYY}}]] > [[{{date:YYYY}}-Q{{date:Q}}|Q{{date:Q}}]] > [[{{date:YYYY-MM}}|{{date:MMMM}}]] > [[{{date:YYYY}}-W{{date:ww}}|Week {{date:ww}}]]
[[{{date-1d:YYYY-MM-DD}}|{{date-1d:dddd Do}}]] < **Today** > [[Notes/Daily/{{date+1d:YYYY-MM-DD}}|{{date+1d:dddd Do}}]]

<% tp.web.daily_quote() %>


> [!info]+
> 
> ### Handy links
> 

---

## Daily Focus 🎯
- 

---
## Standup update
- **Yesterday**
	- 
- **Today**
	- 
- **Blocked**
	- 

---

## Notes 📝
- 


---

## Tasks from today 📅

- [x] #task

> [!DANGER]+ Overdue 📆
> 
> ```tasks
> not done
> is not recurring
> description does not include ]]
> group by happens
> short
> ```

> [!info]+ Home Tasks 🏡
> 
> ```tasks
> not done
> tags includes home
> short
> ```
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment