<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Second Brain | Geovane Fedrecheski</title>
    <link>https://fedrecheski.com/tags/second-brain/</link>
      <atom:link href="https://fedrecheski.com/tags/second-brain/index.xml" rel="self" type="application/rss+xml" />
    <description>Second Brain</description>
    <generator>Hugo Blox Builder (https://hugoblox.com)</generator><language>en-us</language><lastBuildDate>Sat, 25 Apr 2026 00:00:00 +0000</lastBuildDate>
    <image>
      <url>https://fedrecheski.com/media/icon_hu_645fa481986063ef.png</url>
      <title>Second Brain</title>
      <link>https://fedrecheski.com/tags/second-brain/</link>
    </image>
    
    <item>
      <title>My AI second brain</title>
      <link>https://fedrecheski.com/project/ai-second-brain/</link>
      <pubDate>Sat, 25 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://fedrecheski.com/project/ai-second-brain/</guid>
      <description>&lt;h2 id=&#34;what-it-is&#34;&gt;What it is&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Geovane&amp;rsquo;s Second Brain&lt;/strong&gt; is a self-hosted Claude Code instance, tied directly to my Obsidian vault of plain-markdown notes, reachable from any device via a Telegram bot — including voice messages auto-transcribed by Whisper.&lt;/p&gt;
&lt;p&gt;The agent reads its own behavior rules from markdown files in the vault, so adding new skills is just writing another markdown file. Everything is plain text, owned by me, and would still work if any single cloud component disappeared.&lt;/p&gt;
&lt;h2 id=&#34;what-i-built&#34;&gt;What I built&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;A self-hosted AI agent on a &lt;strong&gt;Hetzner VPS (~€5/month)&lt;/strong&gt;, running Claude Code CLI + a Telegram bot inside &lt;code&gt;systemd&lt;/code&gt; + &lt;code&gt;tmux&lt;/code&gt; — survives reboots and SSH disconnects&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Bidirectional Obsidian Sync&lt;/strong&gt; between Mac, iPhone, and the VPS via &lt;code&gt;obsidian-headless&lt;/code&gt; running as a user service&lt;/li&gt;
&lt;li&gt;A &lt;strong&gt;Telegram MCP server&lt;/strong&gt; (Bun-based) that bridges the bot to the agent — text and voice&lt;/li&gt;
&lt;li&gt;A &lt;strong&gt;Python pipeline&lt;/strong&gt; that downloads voice messages, ships them to OpenAI Whisper, and feeds the transcription back to the agent&lt;/li&gt;
&lt;li&gt;A growing library of &lt;strong&gt;agent skills&lt;/strong&gt; (&lt;code&gt;/todo&lt;/code&gt;, &lt;code&gt;/note&lt;/code&gt;, &lt;code&gt;/voice&lt;/code&gt;, &lt;code&gt;/new-day&lt;/code&gt;, …) defined as markdown files in the vault — new behavior = new file&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;why-its-interesting&#34;&gt;Why it&amp;rsquo;s interesting&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Most &amp;ldquo;personal AI&amp;rdquo; setups today are walled gardens (ChatGPT memory, proprietary apps). Building one with &lt;strong&gt;data sovereignty&lt;/strong&gt; in plain markdown is a different problem.&lt;/li&gt;
&lt;li&gt;The agent &lt;strong&gt;writes back into the vault&lt;/strong&gt; — todos, daily notes, journal entries — without breaking Obsidian Sync or losing edits&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Skills-as-files&lt;/strong&gt;: the agent&amp;rsquo;s behavior is hot-swappable, version-controlled, and inspectable. New skill = new markdown file with frontmatter.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Multilingual&lt;/strong&gt; by design — Portuguese, English, French — auto-detected on voice messages&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Portable&lt;/strong&gt;: vault moves with me, VPS is replaceable, the agent&amp;rsquo;s memory of who I am lives in the files themselves&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;numbers&#34;&gt;Numbers&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;~€111/month total&lt;/strong&gt; (Claude Max $100 + Obsidian Sync $5 + VPS €5 + IPv4 €0.5 + Whisper ~€1)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;~50 markdown files&lt;/strong&gt; in the vault, all with structured frontmatter (&lt;code&gt;status&lt;/code&gt;, &lt;code&gt;type&lt;/code&gt;, &lt;code&gt;tags&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Built in &lt;strong&gt;~4 days&lt;/strong&gt; (April 2026)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;3 devices&lt;/strong&gt; in sync — Mac, iPhone, VPS&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;3 languages&lt;/strong&gt; auto-detected — Portuguese, English, French&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;architecture&#34;&gt;Architecture&lt;/h2&gt;
&lt;div class=&#34;mermaid&#34;&gt;flowchart LR
    iPhone[iPhone&lt;br/&gt;Obsidian + Telegram]
    Mac[macOS&lt;br/&gt;Obsidian]
    TG[Telegram Bot API]
    OS[Obsidian Sync&lt;br/&gt;E2E encrypted]
    Whisper[OpenAI Whisper API]

    subgraph VPS[Hetzner VPS - 2 vCPU / 4GB RAM]
        direction TB
        OH[obsidian-headless&lt;br/&gt;systemd + tmux]
        CC[Claude Code CLI&lt;br/&gt;systemd + tmux]
        MCP[Telegram Plugin&lt;br/&gt;MCP server - Bun]
        PY[transcribe-voice.py]
        VAULT[(Vault files&lt;br/&gt;~50 .md + frontmatter)]

        CC --- MCP
        CC --- PY
        CC --&gt;|reads/writes| VAULT
        OH &lt;--&gt;|bidirectional sync| VAULT
    end

    iPhone &lt;--&gt;|messages + voice| TG
    TG &lt;--&gt; MCP
    PY &lt;--&gt;|OGG upload / text| Whisper

    iPhone &lt;--&gt; OS
    Mac &lt;--&gt; OS
    OS &lt;--&gt; OH
&lt;/div&gt;
</description>
    </item>
    
  </channel>
</rss>
