# INSANE AI Agent + Note Taking App Built for EVERYONE (Stephen G. Pope)

Stephen G. Pope demos Shockwave: a local notes app with a coding agent in the same window, GitHub-backed workspaces, and a companion server for Telegram/cron. This page is a source summary only (video-claimed vs repo-confirmed).

Tags: youtube-inbox, source, shockwave, notes, local-agent, hermes, telegram

## Who / what

| Field | Value |
|---|---|
| Speaker | Stephen G. Pope (YouTube oEmbed `author_name`) |
| Channel | [Stephen G. Pope](https://www.youtube.com/@StephenGPope) |
| Title | INSANE AI Agent + Note Taking App Built for EVERYONE |
| Form | Product demo + install walkthrough |
| Watch | https://www.youtube.com/watch?v=x5JgbtIlxTE |
| Product repo | https://github.com/stephengpope/shockwave |
| Duration / upload / views | Not confirmed on ingest (omitted) |

## Video-claimed

Attributed to Stephen in this video (YouTube watch-page captions). ASR garbles “Claude Code” as Cloud Code and “fingerprint” as footprint. Wording below uses the intended product names. Not confirmed on the GitHub README / `docs/server.md` unless also listed under **Repo-confirmed**.

### Why he built it

- Liked Hermes and OpenClaw, “but I didn't really like the user experience.”
- Was using Obsidian + Claude Code as an agent + second brain and “wanted everything integrated.”
- Says he still uses Hermes; it was not what he wanted for day-to-day.
- Hermes-like bits he named as included: self-improving skills, cron, memory, prompt caching, `soul.md`.
- “I've copied from Obsidian, and I've copied from Hermes.”

### Notes app

- PARA folder system is optional, “this app does not force that.”
- Graph of linked pages; daily notes / journal; pages can link to each other.
- Backlinks example: ideas dropped in daily notes show up on a Content page.
- Journal can hold cron-job reports.
- Daily notes are a built-in feature; workspace-specific settings live in a Shockwave folder inside the workspace; other settings live on the companion.
- Recent-files / how-many-daily-notes UI controls.
- Agent has tools to access and optimize the graph “in memory,” not only grep / CLI.

### Agent in the same window

- Agent is “not a separate window”; same files as the notes.
- Select text: ask the agent to clean bullets below the selection, or “Make me an Excalidraw drawing of this section.”
- Chat list on the right includes chats that ran on the server (he points at a Telegram memory chat).
- Desktop can watch a Telegram chat run live; review (self-improvement) and cron chats are visible and can be continued on desktop.
- Agent can run on the PC or on the server.
- Future feature he says he will add: auto-download meetings into the vault.

### Sync demo

- Every workspace has a GitHub repo. Desktop + laptop + Telegram/server cron/review all work on the same files; he says sync has to be fast or the UX falls apart.
- GitHub also gives commit history of file changes.
- Phone dictation: create `test-12345.md` in the workspace root; desktop sees it; a desktop edit then shows up when he asks Telegram to re-read the file.
- Creating a workspace: pick a folder; app creates the GitHub repo and seeds “memory, agent, soul” files.
- He says he mostly uses one workspace.

### Telegram

- BotFather token + [@userinfobot](https://t.me/userinfobot) numeric user id; pick a workspace.
- Slash-command menu; install demo uses `/chats` to list chats from desktop and Telegram.
- Reply to a bot/cron message resumes that chat (context from the run).
- Voice notes; he says he optimized transcription (example: he does not want a 3-minute voice note to take 4 minutes to transcribe).
- Voice / voice+text reply modes; a one-off voice reply via emoji.
- Chunked TTS so playback can start before the full audio is built.
- Three transcription services in settings; he considered Whisper and says he skipped it because it was slower.

### Companion server / install

- Companion holds Telegram + cron + settings/API keys (theme, provider, model, reasoning) so they follow you across desktops.
- Cron jobs are a file he can open plus a visual list he can trigger or disable (example name in the demo: “Inspector General”).
- Desktop download from the GitHub repo: Mac, Windows, or Linux. He calls the project “open source and free.”
- Demo host: DigitalOcean droplet he prices at “32 bucks a month,” password login (not SSH keys). He says size depends on workload; “when you're using Playwright and browser automations, you know, having two to four gigs is kind of the min,” and you can do less, or run that work on the PC.
- One install script: installs Docker if missing; optional firewall (defaults if you press enter); self-signed or real cert if you have a domain (`shockwave.mydomain.com` in the demo).
- Connect desktop with server URL + API key; compare certificate fingerprint (caption: “footprint”) before approve.
- GitHub PAT: he creates a token with **repo** scope.
- Agent settings: Anthropic / Opus / reasoning; “regular API key” or “max token” / OAuth token.
- Auto-update for desktop and server after install.
- Security: “I took care of all the obvious things”; SSH keys are more secure than the password droplet he showed. “that doesn't mean I I'm showing you the most secure.”

### Pitch at the end

- AI Architects community/course: weekly round table, live builds, end-to-end course. He says he has been “coding for over 30 years.” Link “in the description” (description text was not recovered on this ingest).

### Lines from the captions (ASR-corrected spelling)

- “I liked Hermes, I liked OpenClaw, but I didn't really like the user experience.”
- “And ultimately, I wanted everything integrated.”
- “it does include the main things that I thought were cool about Hermes, which was like the self-improving skills, the cron, the memory, the prompt caching … And then just having the soul.md”
- “the AI agent is here with you, right? It's not a separate window.”
- “there's a repo behind every workspace.”
- “when you're using Playwright and browser automations, you know, having two to four gigs is kind of the min.”
- “I took care of all the obvious things.”

## Repo-confirmed

Checked read-only on ingest against the pages below. Quotes are from those pages. Star/fork counts are a GitHub API snapshot, not live. Features not on these pages are not stated here as confirmed.

### https://github.com/stephengpope/shockwave (about blurb + API)

- Description: “A local, file-based notes app where your work stays as plain .md files in a folder you own. It ships with a real coding agent baked right in (no separate Claude Code), and syncs through your own GitHub repo for free.”
- License: MIT (`license.key` = mit). LICENSE file: “Copyright (c) 2026 Stephen G. Pope”.
- GitHub API at ingest (2026-08-20T20:21:47Z): `stargazers_count` 120, `forks_count` 34, `language` TypeScript, `created_at` 2026-05-21T03:32:54Z, `homepage` https://www.skool.com/ai-architects, `pushed_at` 2026-08-09T15:22:07Z.
- Latest release tag **v1.0.88** (`published_at` 2026-08-09T15:03:43Z). Assets named: `Shockwave-mac.dmg`, `Shockwave-mac.zip`, `Shockwave-windows.exe`, `Shockwave-linux.AppImage`.

### README.md (main)

- One-line: “A simple notes app with an AI agent that organizes everything and works for you (works across all your devices with a free sync).”
- Audience line: “For non-technical note-takers who want AI agents with smart features — like memory, self-improvement — but without the setup hassle.”
- Why: knowledge base the agent keeps in order; memory and self-improvement; “Close the laptop. It keeps working.”; GitHub sync “with history” that “handles file sync conflicts automatically.”
- Downloads: **macOS (Apple Silicon)** `.dmg`, Windows `.exe`, Linux AppImage. “Not signed yet” (macOS right-click Open; Windows More info → Run anyway; Linux `chmod +x`).
- Server: `curl -fsSL https://raw.githubusercontent.com/stephengpope/shockwave/main/api/install.sh | sh` on “any cheap Linux VPS.” Prints **Server URL**, **API key**, and **fingerprint**.
- Three settings pages: Companion (server URL + API key); GitHub Sync (GitHub token); Agent Chat (model provider + that provider’s API key). Gear-dot until all three are done; then add a workspace.
- Day-to-day: “the app updates the server for itself, and the containers restart themselves.” Link to `docs/server.md`. One-time upgrade-stuck note for servers set up before v1.0.88.
- Telegram: BotFather token + userinfobot numeric user id in **Settings → Telegram** + workspace. “Only your user id can talk to the bot.” Voice note, photo, or document; ask for a file and it sends it back; reply to any of its messages to pick that conversation back up. “While a long job runs, `/btw` asks what it's doing without interrupting it.” “`/help` lists the rest — including `/voice`, which makes it answer out loud.”
- Scheduled work: ask the agent to schedule; one-offs delete themselves; runs on the server. Clock icon: next/last run and **Run now**. Stored in workspace-root `cron.json` (`name`, `schedule` cron or ISO datetime, `prompt`, `enabled`, `once`). Timezone from **Settings → General**. New schedule “takes a minute or so to register.”
- AI Architects: README links https://skool.com/ai-architects (“Want to learn to build apps like this?”).

README as fetched does **not** name Hermes, OpenClaw, Obsidian, PARA, graph, backlinks, Excalidraw, `soul.md`, prompt caching, Playwright RAM, DigitalOcean, Anthropic Max/OAuth, or PAT scope.

### docs/server.md

- Companion “holds your settings, keys, chats and workspace list, and it runs the agent for Telegram messages and scheduled jobs — which is what lets those keep working when your laptop is shut.”
- Lives in `/opt/shockwave-companion`, “runs under Docker.”
- CLI: `shockwave status|logs|check|fingerprint|rotate-cert|version`. “`shockwave check` is the one to reach for when the app can't connect.”
- Backup: Postgres dump + `/opt/shockwave-companion/.env` (`MASTER_KEY` encrypts stored secrets; losing it means credentials cannot be decrypted).
- Update: one-click from the app, or re-run the install one-liner; “your data stays on its Docker volumes and your `.env` is never overwritten.”
- Certificates: default **self-signed**; desktop shows fingerprint to approve (`shockwave fingerprint`). Domain + `--domain` / `--cert-email` → Let’s Encrypt, “no fingerprint to approve.” `rotate-cert` forces every desktop to re-approve.
- `.env` fields named: `POSTGRES_PASSWORD`, `MASTER_KEY`, `API_KEY`, `COMPANION_HOST`, `COMPANION_DOMAIN`, `COMPANION_CERT_EMAIL`; optional `CRON_ENABLED`, `CRON_REFRESH_SCHEDULE`, `REVIEW_ENABLED`, `REVIEW_SCHEDULE` (defaults: cron on / every minute; review on / every 5 minutes). Other agent limits are **Settings → Agent Chat**.
- Containers listed in the table: postgres, api (`127.0.0.1:8080` only), traefik (80/443), updater, autoheal. Heading says “Six containers”; five rows are listed.
- Requirements: “Any Linux box with root or sudo, and 1 GB of RAM. Docker is installed for you if it isn't already. Ports 80 and 443 need to be reachable from the internet.”
- Missed cron: “a missed moment is missed, deliberately; nothing is caught up later.”

## Overlap / gaps (source vs repo, not advice)

- Local `.md` folder you own + baked-in agent (no separate Claude Code) + free GitHub sync: video and repo about-blurb match.
- Companion = settings/keys/chats + Telegram + cron when the laptop is shut: video and `docs/server.md` match.
- BotFather + userinfobot + reply-to-resume + voice notes: video and README match. README also names photo/document in/out, `/btw`, `/help`, `/voice`. Video install demo uses `/chats`; that string is not in the README as fetched.
- Fingerprint on first connect: video and README/server.md match.
- Desktop platforms Mac/Windows/Linux: both. README narrows Mac to **Apple Silicon** and says builds are **not signed yet**.
- RAM: video Playwright/browser “two to four gigs is kind of the min.” server.md requirement is **1 GB** for the companion box. Different claims; both cited.
- `$32/mo` DigitalOcean password droplet, PAT **repo** scope, Anthropic Max/OAuth token, SSH-vs-password: video only.
- Hermes / OpenClaw / Obsidian / PARA / graph / backlinks / Excalidraw / `soul.md` / prompt caching / `test-12345.md` demo / chunked TTS / three transcription vendors / Whisper aside / meeting auto-download (future): video only.
- `cron.json` schema, conflict auto-handling, Let’s Encrypt flags, `MASTER_KEY` backup warning, pre-v1.0.88 upgrade fix, MIT license, v1.0.88: repo only.
- “Open source and free” is his video phrasing. Repo license file is MIT (2026 Stephen G. Pope).
- AI Architects: video pitch + README/skool link. “30 years” and weekly/course details are video-only.

## Sources

1. YouTube: https://www.youtube.com/watch?v=x5JgbtIlxTE
2. Raw ingest: `raw/youtube-inbox/x5JgbtIlxTE/` (metadata.json, transcript.txt, notes.md, source.url)
3. Channel: Stephen G. Pope https://www.youtube.com/@StephenGPope (oEmbed `author_url`)
4. Transcript: YouTube watch-page caption text (WebFetch), 29875 chars. Supadata v1 was attempted and blocked; ASR spellings are not authoritative.
5. https://github.com/stephengpope/shockwave
6. https://raw.githubusercontent.com/stephengpope/shockwave/main/README.md
7. https://raw.githubusercontent.com/stephengpope/shockwave/main/LICENSE
8. https://raw.githubusercontent.com/stephengpope/shockwave/main/docs/server.md
9. GitHub API: `https://api.github.com/repos/stephengpope/shockwave` and `.../releases/latest` (v1.0.88)

## Related pages

- [[hermes-agent]] (product he says he liked / copied features from; UX is his reason for building Shockwave)
- [[youtube-hermes-desktop-plugins]]
- [[youtube-hermes-kanban-multi-agent]]
- [[grok-bot-vs-hermes-agent]]
- [[grok-bot]]
- [[youtube-skillsmaxxing-remy]] (team skills-as-plugin vs this app’s in-app agent + `soul`/memory files)
