<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="/atom.xsl" type="text/xsl"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:fh="http://purl.org/syndication/history/1.0">
  <title>Posts tagged: projects Archive</title>
  <id>https://pype.dev/tags/projects/archive/atom.xml</id>
  <updated>2026-02-25T05:53:01Z</updated>
  <subtitle>All posts with the tag &#34;projects&#34;</subtitle>
  <link href="https://pype.dev/tags/projects/" rel="alternate" type="text/html"></link>
  <link href="https://pype.dev/tags/projects/archive/atom.xml" rel="self" type="application/atom+xml"></link>
  <link href="https://pype.dev/tags/projects/atom.xml" rel="current" type="application/atom+xml"></link>
  <author>
    <name>Nic Payne</name>
  </author>
  <generator uri="https://github.com/WaylonWalker/markata-go">markata-go</generator>
  <fh:complete></fh:complete>
  <entry>
    <title>clocks</title>
    <id>https://pype.dev/clocks/</id>
    <updated>2026-02-25T05:53:01Z</updated>
    <published>2026-02-25T05:53:01Z</published>
    <link href="https://pype.dev/clocks/" rel="alternate" type="text/html"></link>
    <summary type="text">One of the best things I&#39;ve vibe-coded</summary>
    <content type="html">&lt;p&gt;One of the best things I&amp;rsquo;ve vibe-coded&lt;/p&gt;&#xA;&lt;figure&gt;&#xA;&lt;img src=&#34;https://cdn.statically.io/gh/pypeaday/images.pype.dev/main/blog-media/20260225115333_35a70833.png&#34; alt=&#34;20260225115333_35a70833.png&#34;&gt;&#xA;&lt;/figure&gt;&#xA;</content>
    <author>
      <name>Nic Payne</name>
      <uri>https://pype.dev</uri>
    </author>
  </entry>
  <entry>
    <title>Nexus</title>
    <id>https://pype.dev/nexus/</id>
    <updated>2026-02-05T05:31:53Z</updated>
    <published>2026-02-05T05:31:53Z</published>
    <link href="https://pype.dev/nexus/" rel="alternate" type="text/html"></link>
    <summary type="text">Nexus is a task tracker and second-brain for collaborating with AI agents on software development. It keeps project boards, task details, subtasks, daily...</summary>
    <content type="html">&lt;p&gt;Nexus is a task tracker and second-brain for collaborating with AI agents on software development. It keeps project boards, task details, subtasks, daily notes, and Git worktree context together in one system.&lt;/p&gt;&#xA;&lt;h2 id=&#34;why-nexus&#34;&gt;&lt;span class=&#34;heading-wear-glyph&#34;&gt;Why Nexus&lt;/span&gt; &lt;a href=&#34;#why-nexus&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;I built Nexus because I work with AI agents across multiple parallel work streams and need a way to:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Track what agents are working on and have them check-in regularly&lt;/li&gt;&#xA;&lt;li&gt;Capture lightweight memories without forcing everything to become executable work immediately&lt;/li&gt;&#xA;&lt;li&gt;Keep task-to-branch context when starting work&lt;/li&gt;&#xA;&lt;li&gt;Use daily notes inside the same system&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;architecture&#34;&gt;&lt;span class=&#34;heading-wear-glyph&#34;&gt;Architecture&lt;/span&gt; &lt;a href=&#34;#architecture&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;pre&gt;&lt;code&gt;Human&#xA;  |&#xA;  +-- Agent Harness (GitHub Copilot CLI)&#xA;  |     +-- Agents (orchestrator + specialists)&#xA;  |     +-- Platform hooks / commands&#xA;  |&#xA;  +-- nexus CLI (PEP 723 single-file script)&#xA;  |     |&#xA;  |     +-- Nexus API (FastAPI, port 8090)&#xA;  |           +-- Nexus DB (Postgres 16 + pgvector)&#xA;  |&#xA;  +-- Go TUI (primary interface)&#xA;  +-- Git (worktrees, branches)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h2 id=&#34;components&#34;&gt;&lt;span class=&#34;heading-wear-glyph&#34;&gt;Components&lt;/span&gt; &lt;a href=&#34;#components&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;h3 id=&#34;core-stack&#34;&gt;&lt;span class=&#34;heading-wear-glyph&#34;&gt;Core Stack&lt;/span&gt; &lt;a href=&#34;#core-stack&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Nexus API&lt;/strong&gt; — FastAPI REST backend. Projects, tasks, tags, dependencies, comments, and global discoveries. Tasks flow through &lt;code&gt;backlog&lt;/code&gt; → &lt;code&gt;wip&lt;/code&gt; → &lt;code&gt;done&lt;/code&gt; with first-class readiness (&lt;code&gt;is_ready&lt;/code&gt;) and blocking (&lt;code&gt;is_blocked&lt;/code&gt;) markers.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Nexus DB&lt;/strong&gt; — Postgres 16 with pgvector for vector storage (future AI memory features).&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;nexus CLI&lt;/strong&gt; — PEP 723 single-file Python script. All agent-to-Nexus communication goes through this. JSON output for agents, human-readable for humans.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Go TUI&lt;/strong&gt; — Terminal UI, the primary interface for dayFalse-to-day task management.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;agent-integration&#34;&gt;&lt;span class=&#34;heading-wear-glyph&#34;&gt;Agent Integration&lt;/span&gt; &lt;a href=&#34;#agent-integration&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Copilot CLI plugin&lt;/strong&gt; (&lt;code&gt;copilot/&lt;/code&gt;) — GitHub Copilot integration with custom skills:&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;nexus&lt;/code&gt; — Core task and lifecycle commands&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;nexus-specialist&lt;/code&gt; — Task-specific expertise&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;nexus-delegation&lt;/code&gt; — Delegation patterns&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;daily-summary&lt;/code&gt; — Daily progress summaries&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Hooks&lt;/strong&gt; — Session lifecycle hooks that sync state between Nexus and agent sessions:&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;session-start.sh&lt;/code&gt; — Initialize worktree metadata&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;session-end.sh&lt;/code&gt; — Archive session state&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;session-sync.sh&lt;/code&gt; — Periodic checkpoint&lt;/li&gt;&#xA;&lt;li&gt;Liveness probes for agent monitoring&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;task-lifecycle&#34;&gt;&lt;span class=&#34;heading-wear-glyph&#34;&gt;Task Lifecycle&lt;/span&gt; &lt;a href=&#34;#task-lifecycle&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;pre&gt;&lt;code&gt;start → implement → review → merge → done → finish&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;nexus start &amp;lt;id&amp;gt;&lt;/code&gt; — Creates &lt;code&gt;nx-&amp;lt;id&amp;gt;&lt;/code&gt; worktree from base branch&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;nexus review &amp;lt;id&amp;gt; --verdict PASS&lt;/code&gt; — Authoritative merge gate&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;nexus merge &amp;lt;id&amp;gt;&lt;/code&gt; — Rebases and merges &lt;code&gt;--no-ff&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;nexus done &amp;lt;id&amp;gt;&lt;/code&gt; — Marks task complete&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;nexus finish &amp;lt;id&amp;gt;&lt;/code&gt; — Removes worktree and deletes branch&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;discoveries-second-brain&#34;&gt;&lt;span class=&#34;heading-wear-glyph&#34;&gt;Discoveries (Second Brain)&lt;/span&gt; &lt;a href=&#34;#discoveries-second-brain&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;p&gt;Discoveries are durable memory captures that may be global, project-linked, or task-linked. They&amp;rsquo;re &lt;strong&gt;not&lt;/strong&gt; executable work — they don&amp;rsquo;t get branches, worktrees, or the full task lifecycle. When ready, they can be promoted into tasks.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;nexus discovery inbox&lt;/code&gt; — Triage view for new/promotable/stale discoveries&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;nexus discovery list&lt;/code&gt; — Browse all discoveries&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;nexus remember &amp;quot;...&amp;quot;&lt;/code&gt; — Lightweight capture&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;nexus discovery promote &amp;lt;id&amp;gt;&lt;/code&gt; — Convert to executable task&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;key-features&#34;&gt;&lt;span class=&#34;heading-wear-glyph&#34;&gt;Key Features&lt;/span&gt; &lt;a href=&#34;#key-features&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Task tracking&lt;/strong&gt; — Projects, tasks, subtasks, tags, dependencies, comments&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Readiness tracking&lt;/strong&gt; — Explicit &lt;code&gt;is_ready&lt;/code&gt; marker for backlog refinement&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;First-class blocking&lt;/strong&gt; — &lt;code&gt;is_blocked&lt;/code&gt; + &lt;code&gt;blocked_reason&lt;/code&gt; with DB-enforced invariants&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Discoveries&lt;/strong&gt; — Lightweight memory that doesn&amp;rsquo;t force work creation&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Typed memory links&lt;/strong&gt; — Graph-style relationships between discoveries, tasks, projects, and Copilot sessions&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Worktree management&lt;/strong&gt; — Automatic branch/worktree creation and cleanup&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Session persistence&lt;/strong&gt; — Agents can persist state to DB for cross-session continuity&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Archive + restore&lt;/strong&gt; — Hygiene mechanism for discoveries (archived items stay durable but hidden from active views)&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Multi-timezone&lt;/strong&gt; — Daily notes default to &lt;code&gt;America/Chicago&lt;/code&gt;, configurable via &lt;code&gt;NEXUS_TIMEZONE&lt;/code&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;scope&#34;&gt;&lt;span class=&#34;heading-wear-glyph&#34;&gt;Scope&lt;/span&gt; &lt;a href=&#34;#scope&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Nexus is scoped to &lt;strong&gt;one machine&lt;/strong&gt; per deployment. No remote centralization planned. The client runs per-machine against a local Postgres instance.&lt;/p&gt;&#xA;&lt;p&gt;Rationale: If you need cross-team collaboration and centralized tracking, existing solutions (GitHub Issues, Jira, Azure DevOps + MCP servers) already solve this well. Nexus focuses on the individual developer working with AI agents on a single workstation.&lt;/p&gt;&#xA;&lt;h2 id=&#34;future-wants&#34;&gt;&lt;span class=&#34;heading-wear-glyph&#34;&gt;Future Wants&lt;/span&gt; &lt;a href=&#34;#future-wants&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Daemon agent&lt;/strong&gt; — Watch task tracker for new issues, spawn agent sessions in appropriate worktrees&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Daily reporting&lt;/strong&gt; — Ask an agent what all the other agents did today using Nexus as source of truth&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;EOY goal tracking&lt;/strong&gt; — Agent summarization by Quarter or smart goal category&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;EKS deployment&lt;/strong&gt; — Deploy API + Postgres to EKS to run more parallel agent stacks (work use case)&lt;/li&gt;&#xA;&lt;li&gt;A canvas-style front-end that allows me to better visualize and plan out task-dependencies&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;</content>
    <author>
      <name>Nic Payne</name>
      <uri>https://pype.dev</uri>
    </author>
  </entry>
  <entry>
    <title>Cannalyze</title>
    <id>https://pype.dev/cannalyze/</id>
    <updated>2025-12-27T06:44:31Z</updated>
    <published>2025-12-27T06:44:31Z</published>
    <link href="https://pype.dev/cannalyze/" rel="alternate" type="text/html"></link>
    <summary type="text">A self-hostable habit tracker with special attention given to gardening habits</summary>
    <content type="html">&lt;p&gt;A self-hostable habit tracker with special attention given to gardening habits&lt;/p&gt;&#xA;</content>
    <author>
      <name>Nic Payne</name>
      <uri>https://pype.dev</uri>
    </author>
  </entry>
  <entry>
    <title>QR Harbor</title>
    <id>https://pype.dev/qr-harbor/</id>
    <updated>2025-12-26T05:13:22Z</updated>
    <published>2025-12-26T05:13:22Z</published>
    <link href="https://pype.dev/qr-harbor/" rel="alternate" type="text/html"></link>
    <summary type="text">The QR side of Digital Harbor</summary>
    <content type="html">&lt;p&gt;The QR side of &lt;a href=&#34;https://mydigitalharbor.com&#34;&gt;Digital Harbor&lt;/a&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;features&#34;&gt;&lt;span class=&#34;heading-wear-glyph&#34;&gt;Features&lt;/span&gt; &lt;a href=&#34;#features&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;self-service QR code generator&#xA;&lt;ul&gt;&#xA;&lt;li&gt;frames&lt;/li&gt;&#xA;&lt;li&gt;colors&lt;/li&gt;&#xA;&lt;li&gt;brandingicons&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;dynamic link resolution&lt;/li&gt;&#xA;&lt;li&gt;analytics&lt;/li&gt;&#xA;&lt;li&gt;simple API&#xA;&lt;ul&gt;&#xA;&lt;li&gt;see &lt;a href=&#34;https://hovercode.com/api/&#34;&gt;hovercode&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.qrcode-monkey.com/qr-code-api-with-logo/?utm_source=google_c&amp;amp;utm_medium=cpc&amp;amp;utm_campaign=&amp;amp;utm_content=&amp;amp;utm_term=qr%20monkey_e&amp;amp;gad_source=1&amp;amp;gad_campaignid=12510385649&amp;amp;gclid=Cj0KCQiAgbnKBhDgARIsAGCDdldVoC-8vXDpWy1MZ_u0M--AtiCfEF7-ZCGS6KeCGoQ2nWzK_RmaOmkaAru0EALw_wcB&#34;&gt;QR Code Monkey&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;infra&#34;&gt;&lt;span class=&#34;heading-wear-glyph&#34;&gt;Infra&lt;/span&gt; &lt;a href=&#34;#infra&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;dynamic qr codes&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;tunnel&lt;/li&gt;&#xA;&lt;li&gt;UI for 302s&lt;/li&gt;&#xA;&lt;li&gt;UI for QRs&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;</content>
    <author>
      <name>Nic Payne</name>
      <uri>https://pype.dev</uri>
    </author>
  </entry>
  <entry>
    <title>Mindful</title>
    <id>https://pype.dev/mindful/</id>
    <updated>2025-12-26T05:10:27Z</updated>
    <published>2025-12-26T05:10:27Z</published>
    <link href="https://pype.dev/mindful/" rel="alternate" type="text/html"></link>
    <summary type="text">Reminder and alarm app</summary>
    <content type="html">&lt;p&gt;Reminder and alarm app&lt;/p&gt;&#xA;&lt;h2 id=&#34;features&#34;&gt;&lt;span class=&#34;heading-wear-glyph&#34;&gt;Features&lt;/span&gt; &lt;a href=&#34;#features&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;quick templates&lt;/li&gt;&#xA;&lt;li&gt;works everywhere (mobile, desktop)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;todos&#34;&gt;&lt;span class=&#34;heading-wear-glyph&#34;&gt;TODOs&lt;/span&gt; &lt;a href=&#34;#todos&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;premium sign-up&lt;/li&gt;&#xA;&lt;li&gt;test password reset&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;</content>
    <author>
      <name>Nic Payne</name>
      <uri>https://pype.dev</uri>
    </author>
  </entry>
  <entry>
    <title>Notifiq</title>
    <id>https://pype.dev/notifiq/</id>
    <updated>2025-12-26T05:08:54Z</updated>
    <published>2025-12-26T05:08:54Z</published>
    <link href="https://pype.dev/notifiq/" rel="alternate" type="text/html"></link>
    <summary type="text">Note: this began in event-details-updates-via-notifications-as-a-service and is the first iteration of this idea</summary>
    <content type="html">&lt;blockquote&gt;&#xA;&lt;p&gt;Note: this began in &lt;a href=&#34;/event-details-updates-via-notifications-as-a-service/&#34; class=&#34;wikilink&#34; data-title=&#34;Event Details Updates via Notifications as a Service&#34; data-description=&#34;I&amp;#39;ve moved these notes to soonish&#34; data-date=&#34;2025-09-02&#34; data-preview=&#34;I&amp;#39;ve moved these notes to soonish&#34;&gt;Event Details Updates via Notifications as a Service&lt;/a&gt; and is the first iteration of this idea&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;h2 id=&#34;projects&#34;&gt;&lt;span class=&#34;heading-wear-glyph&#34;&gt;Projects&lt;/span&gt; &lt;a href=&#34;#projects&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/soonish/&#34; class=&#34;wikilink&#34; data-title=&#34;Soonish&#34; data-description=&#34;Personal events tracker dashboard&#34; data-date=&#34;2025-09-13&#34; data-preview=&#34;Personal events tracker dashboard&#34;&gt;Soonish&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/mindful/&#34; class=&#34;wikilink&#34; data-title=&#34;Mindful&#34; data-description=&#34;Reminder and alarm app&#34; data-date=&#34;2025-12-26&#34; data-preview=&#34;Reminder and alarm app&#34;&gt;Mindful&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;docs&#34;&gt;&lt;span class=&#34;heading-wear-glyph&#34;&gt;Docs&lt;/span&gt; &lt;a href=&#34;#docs&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Consider the &lt;a href=&#34;https://support.pushover.net/i8-how-much-does-pushover-cost-is-there-a-subscription&#34;&gt;Pushover Docs&lt;/a&gt; for inspiration on notifiq docs as well&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;notes&#34;&gt;&lt;span class=&#34;heading-wear-glyph&#34;&gt;Notes&lt;/span&gt; &lt;a href=&#34;#notes&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;h2 id=&#34;use-cases&#34;&gt;&lt;span class=&#34;heading-wear-glyph&#34;&gt;Use Cases&lt;/span&gt; &lt;a href=&#34;#use-cases&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Event Details and updates&lt;/li&gt;&#xA;&lt;li&gt;IT ticketing system&lt;/li&gt;&#xA;&lt;li&gt;Volunteer reminder system&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;requirements&#34;&gt;&lt;span class=&#34;heading-wear-glyph&#34;&gt;Requirements&lt;/span&gt; &lt;a href=&#34;#requirements&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/apprise/&#34; class=&#34;glossary-term&#34; title=&#34;Apprise - github project that&amp;#39;s awesome about notifications&#34; data-hover-title=&#34;apprise&#34;&gt;apprise&lt;/a&gt; server/library&lt;/li&gt;&#xA;&lt;li&gt;CMS with users and roles + a database&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;updates need to POST to apprise&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;ol start=&#34;3&#34;&gt;&#xA;&lt;li&gt;notification backbone&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;SMS&lt;/li&gt;&#xA;&lt;li&gt;email (requires domain to offer a real service)&#xA;&lt;ul&gt;&#xA;&lt;li&gt;maybe managers could bring their own email server?&lt;/li&gt;&#xA;&lt;li&gt;no, just make it configurable - people setup the whole thing or they pay me&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;ol start=&#34;4&#34;&gt;&#xA;&lt;li&gt;infra&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Temporal instead of webserver patterns may lead to easier scaling&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;drafting&#34;&gt;&lt;span class=&#34;heading-wear-glyph&#34;&gt;Drafting&lt;/span&gt; &lt;a href=&#34;#drafting&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Been working in Windsurf with gpt-5 mostly on outlining the requirements for soonish&lt;/li&gt;&#xA;&lt;li&gt;My immediate goal is to have very detailed specs for the project to best utilize AI while building it without allowing the AI to drive any meaningful aspect of the development&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;ideas&#34;&gt;&lt;span class=&#34;heading-wear-glyph&#34;&gt;Ideas&lt;/span&gt; &lt;a href=&#34;#ideas&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;WorkOS for auth for B2B for soonish&lt;/li&gt;&#xA;&lt;li&gt;remind.notifiq.net/&lt;url&gt; as a usecase for soonish&#xA;&lt;ul&gt;&#xA;&lt;li&gt;configured reading times, so just get reminded at the next one&lt;/li&gt;&#xA;&lt;li&gt;phase 2 of this idea might be grabbing the content of the url and sending the notification with some of that content&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;message-priority&#34;&gt;&lt;span class=&#34;heading-wear-glyph&#34;&gt;Message Priority&lt;/span&gt; &lt;a href=&#34;#message-priority&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Events should have a priority of some &lt;a href=&#34;/kind/&#34; class=&#34;glossary-term&#34; title=&#34;kind - kubernetes in docker&#34; data-hover-title=&#34;kind&#34;&gt;kind&lt;/a&gt; so that business hours can be considered easily&lt;/li&gt;&#xA;&lt;li&gt;Should channels have similar types of preferences? I suppose I need to think about the different user flows&#xA;&lt;ul&gt;&#xA;&lt;li&gt;automated event makes critical ticket outside business hours - force update subscribers based on&amp;hellip;. whatever they&amp;rsquo;re subscribed with/desired channels&lt;/li&gt;&#xA;&lt;li&gt;event update is critical - all subscribers need to know on their desired channels&lt;/li&gt;&#xA;&lt;li&gt;those above 2 are the same&lt;/li&gt;&#xA;&lt;li&gt;event update is not critical - do the signal to everyone but channels take into consideration that it&amp;rsquo;s info only, so respect a business hours/quiet hours and notify during appropriate time.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;frontends&#34;&gt;&lt;span class=&#34;heading-wear-glyph&#34;&gt;Frontends&lt;/span&gt; &lt;a href=&#34;#frontends&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Use NiceGUI for a default events front end as a toy example to demonstrate notifiq use cases&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Use react for something like pager duty maybe - just to see what kind of things windsurf can do with it&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;competitors&#34;&gt;&lt;span class=&#34;heading-wear-glyph&#34;&gt;Competitors&lt;/span&gt; &lt;a href=&#34;#competitors&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://zenduty.com/pricing/&#34;&gt;zenduty&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;progress&#34;&gt;&lt;span class=&#34;heading-wear-glyph&#34;&gt;Progress&lt;/span&gt; &lt;a href=&#34;#progress&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;h3 id=&#34;november-22-2025&#34;&gt;&lt;span class=&#34;heading-wear-glyph&#34;&gt;November 22 2025&lt;/span&gt; &lt;a href=&#34;#november-22-2025&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;added auto-sub of creator to event (visibility)&#xA;&lt;ul&gt;&#xA;&lt;li&gt;auto subscription_selector made for autosub:default&lt;/li&gt;&#xA;&lt;li&gt;subscription_selector for event.tag == channel.tag as well&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;</content>
    <author>
      <name>Nic Payne</name>
      <uri>https://pype.dev</uri>
    </author>
  </entry>
  <entry>
    <title>Soonish</title>
    <id>https://pype.dev/soonish/</id>
    <updated>2025-09-13T06:01:24Z</updated>
    <published>2025-09-13T06:01:24Z</published>
    <link href="https://pype.dev/soonish/" rel="alternate" type="text/html"></link>
    <summary type="text">Personal events tracker dashboard</summary>
    <content type="html">&lt;p&gt;Personal events tracker dashboard&lt;/p&gt;&#xA;&lt;h2 id=&#34;features&#34;&gt;&lt;span class=&#34;heading-wear-glyph&#34;&gt;Features&lt;/span&gt; &lt;a href=&#34;#features&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;share events with other users&lt;/li&gt;&#xA;&lt;li&gt;grid/calendar view&lt;/li&gt;&#xA;&lt;li&gt;create/edit events&lt;/li&gt;&#xA;&lt;li&gt;notified about any updated to events you&amp;rsquo;re invited to&#xA;send updates to anyone you&amp;rsquo;ve invited to an event&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;todos&#34;&gt;&lt;span class=&#34;heading-wear-glyph&#34;&gt;TODOs&lt;/span&gt; &lt;a href=&#34;#todos&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;premium sign-up&lt;/li&gt;&#xA;&lt;li&gt;test password reset&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;</content>
    <author>
      <name>Nic Payne</name>
      <uri>https://pype.dev</uri>
    </author>
  </entry>
  <entry>
    <title>Compose Stack Example Repo x Package Manager</title>
    <id>https://pype.dev/compose-stack-example-repo-x-package-manager/</id>
    <updated>2025-09-02T17:10:34Z</updated>
    <published>2025-09-02T17:10:34Z</published>
    <link href="https://pype.dev/compose-stack-example-repo-x-package-manager/" rel="alternate" type="text/html"></link>
    <summary type="text">The idea is something like the AUR, which is ultimately a pointer to a repo with a script that does some setup...</summary>
    <content type="html">&lt;p&gt;The idea is something like the AUR, which is ultimately a pointer to a repo with a script that does some setup&amp;hellip;&lt;/p&gt;&#xA;&lt;p&gt;Perhaps my &lt;a href=&#34;/homelab-as-a-service/&#34; class=&#34;wikilink&#34; data-title=&#34;Homelab As A Service&#34; data-description=&#34;I don&amp;#39;t know what to call my opinionated homelab distribution yet but I will try to have some goals for today or tomorrow for simple steps - drawing up all...&#34; data-date=&#34;2025-09-01&#34; data-preview=&#34;I don&amp;#39;t know what to call my opinionated homelab distribution yet but I will try to have some goals for today or tomorrow for simple steps - drawing up all...&#34;&gt;Homelab As A Service&lt;/a&gt; idea could have its own package manager or&#xA;repository of one-click type of applications. This could end up being basically&#xA;any amount of compose files or something with a simple front-end, which is &lt;a href=&#34;/kind/&#34; class=&#34;glossary-term&#34; title=&#34;kind - kubernetes in docker&#34; data-hover-title=&#34;kind&#34;&gt;kind&lt;/a&gt;&#xA;of what portainer does though I&amp;rsquo;m not fluent in its capabilities.&lt;/p&gt;&#xA;</content>
    <author>
      <name>Nic Payne</name>
      <uri>https://pype.dev</uri>
    </author>
  </entry>
  <entry>
    <title>Event Details Updates via Notifications as a Service</title>
    <id>https://pype.dev/event-details-updates-via-notifications-as-a-service/</id>
    <updated>2025-09-02T17:09:34Z</updated>
    <published>2025-09-02T17:09:34Z</published>
    <link href="https://pype.dev/event-details-updates-via-notifications-as-a-service/" rel="alternate" type="text/html"></link>
    <summary type="text">I&#39;ve moved these notes to soonish</summary>
    <content type="html">&lt;p&gt;I&amp;rsquo;ve moved these notes to &lt;a href=&#34;/soonish/&#34; class=&#34;wikilink&#34; data-title=&#34;Soonish&#34; data-description=&#34;Personal events tracker dashboard&#34; data-date=&#34;2025-09-13&#34; data-preview=&#34;Personal events tracker dashboard&#34;&gt;Soonish&lt;/a&gt;&lt;/p&gt;&#xA;</content>
    <author>
      <name>Nic Payne</name>
      <uri>https://pype.dev</uri>
    </author>
  </entry>
  <entry>
    <title>Homelab As A Service</title>
    <id>https://pype.dev/homelab-as-a-service/</id>
    <updated>2025-09-01T07:09:49Z</updated>
    <published>2025-09-01T07:09:49Z</published>
    <link href="https://pype.dev/homelab-as-a-service/" rel="alternate" type="text/html"></link>
    <summary type="text">I don&#39;t know what to call my opinionated homelab distribution yet but I will try to have some goals for today or tomorrow for simple steps - drawing up all...</summary>
    <content type="html">&lt;h2 id=&#34;home&#34;&gt;&lt;span class=&#34;heading-wear-glyph&#34;&gt;$HOME&lt;/span&gt; &lt;a href=&#34;#home&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;I don&amp;rsquo;t know what to call my opinionated homelab distribution yet but I will try to have some goals for today or tomorrow for simple steps&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;drawing up all the pieces will take a while but is necessary&lt;/li&gt;&#xA;&lt;li&gt;ansible playbook to make zfs datasets for vms or containers is easy first utility to bank somewhere&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;homelab&#34;&gt;&lt;span class=&#34;heading-wear-glyph&#34;&gt;Homelab&lt;/span&gt; &lt;a href=&#34;#homelab&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;started chatting with jipity about some automation&amp;hellip; I have so many ideas that circle my head and I have a hard time implementing anything for fear of committing halfway to something&amp;hellip;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;I think I can take baby steps to mitigate that issue and one way is to automate the first thing that annoys me - zfs dataset creation for new apps. I assume that I want a new zfs dataset if I&amp;rsquo;m going to provision something into my homelab so that means&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;dataset creation on the appropriate node&lt;/li&gt;&#xA;&lt;li&gt;permissions&lt;/li&gt;&#xA;&lt;li&gt;updates to &lt;code&gt;zfs-ops&lt;/code&gt; (eventually dataops in homelab-mono) for the backup to be added explicitly (or removed if I&amp;rsquo;m removing one - for example some old VM datasets I no longer need)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;I also mind-dumped after starting the convo with jipity, using speakr to get a short summary of a brain dump is pretty awesome especially considering the purely local self-hosted nature. Here&amp;rsquo;s the summary of a pretty concentrated 6 minute monologue on things I&amp;rsquo;m thinking about:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Summary is imperfect - but again, for self-hosted hardware and getting purely private LLM-assisted brainstorming is really cool. However, I do plan on sinking some thought into the big boys (claude or jippity) as I very slowly begin construction&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;admonition note&#34;&gt;&#xA;&lt;p class=&#34;admonition-title&#34;&gt;speakr self-hosted summary&lt;/p&gt;&#xA;&lt;p&gt;Key Issues Discussed&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;Platform and service idea for consulting&#xA;Product as an opinionated home lab targeting small teams or on-prem setups with Docker Swarm + ZFS&#xA;Focus on privacy, data ownership, compute ownership while providing cloud options (AWS)&#xA;Hardware recommendations part of services&#xA;Use AWS resources when possible but self-hosting is also viable option&#xA;Tail scale for business networking and network ACLs provided by the vendor&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;Key Decisions Made&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;Deploy servers using Docker Swarm + ZFS with an opinionated approach to data management, backups, application deployment monitoring.&#xA;Cloud options include Terraform set up in AWS (and possibly Azure later)&#xA;Use U-Corps as a base for containers on top of Ubuntu distro box; consider KeyCloak or Aphalia for authentication&#xA;DNS and public services will be handled with NameCheap and Cloudflare using Terraform, not picking each other’s features.&#xA;CERT management is Let’s Encrypt&#xA;Observability through Harbor telemetry data gathering&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;/div&gt;&#xA;&lt;p&gt;I brainstormed a little more witih jipity this morning and got this set of pillars&lt;/p&gt;&#xA;&lt;div class=&#34;admonition note&#34;&gt;&#xA;&lt;p class=&#34;admonition-title&#34;&gt;pillars&lt;/p&gt;&#xA;&lt;p&gt;Infrastructure (hardware, OS, baseline networking)&lt;/p&gt;&#xA;&lt;p&gt;DataOps (storage, backup, placement)&lt;/p&gt;&#xA;&lt;p&gt;Orchestration (containers, jobs, IaC)&lt;/p&gt;&#xA;&lt;p&gt;Networking &amp;amp; Connectivity (service-to-service, ingress/egress)&lt;/p&gt;&#xA;&lt;p&gt;Security &amp;amp; Identity (auth, secrets, policies, hardening)&lt;/p&gt;&#xA;&lt;p&gt;Observability (metrics, logging, tracing, health)&lt;/p&gt;&#xA;&lt;p&gt;Automation &amp;amp; CI/CD (playbooks, pipelines, GitOps)&lt;/p&gt;&#xA;&lt;p&gt;Resilience &amp;amp; Recovery (HA, redundancy, DR, self-healing)&lt;/p&gt;&#xA;&lt;p&gt;Experience (DX, onboarding, docs, templates)&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;h2 id=&#34;features&#34;&gt;&lt;span class=&#34;heading-wear-glyph&#34;&gt;Features&lt;/span&gt; &lt;a href=&#34;#features&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;I&amp;rsquo;m taking notes in &lt;a href=&#34;/affine/&#34; class=&#34;glossary-term&#34; title=&#34;Mind-mapping webapp at home with native desktop App. Like Notion but with diagram support&#34; data-hover-title=&#34;Affine&#34;&gt;affine&lt;/a&gt;&#xA;&lt;a href=&#34;https://affine.paynepride.com/workspace/068b2d03-00ee-4b4b-9a8d-d7b98e85f1f2/pufV8iRo_XoCpVuPgQ6vA&#34;&gt;here&lt;/a&gt;&#xA;to capture requirements grouped by feature or relevant level of the stack (ie.&#xA;OS package installs vs repository setup vs pipeline recommendations etc.)&lt;/p&gt;&#xA;&lt;h2 id=&#34;tools&#34;&gt;&lt;span class=&#34;heading-wear-glyph&#34;&gt;Tools&lt;/span&gt; &lt;a href=&#34;#tools&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/pypeaday/komodo&#34;&gt;komodo&lt;/a&gt; for server deployment etc&amp;hellip; it actaully has a ton of things in it for managing compose stacks on multiple nodes right now, with &lt;a href=&#34;https://github.com/moghtech/komodo/issues/37&#34;&gt;swarm support coming&lt;/a&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;in the mean time &lt;a href=&#34;https://github.com/moghtech/komodo/issues/37#issuecomment-3106074124&#34;&gt;this comment&lt;/a&gt; gives a short example on using swarm&amp;rsquo;s overlay network and managing the stack from within komodo (&lt;a href=&#34;/kind/&#34; class=&#34;glossary-term&#34; title=&#34;kind - kubernetes in docker&#34; data-hover-title=&#34;kind&#34;&gt;kind&lt;/a&gt; of)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;</content>
    <author>
      <name>Nic Payne</name>
      <uri>https://pype.dev</uri>
    </author>
  </entry>
  <entry>
    <title>Shotput</title>
    <id>https://pype.dev/shotput/</id>
    <updated>2025-07-16T06:18:00Z</updated>
    <published>2025-07-16T06:18:00Z</published>
    <link href="https://pype.dev/shotput/" rel="alternate" type="text/html"></link>
    <summary type="text">This is from i-built-a-simple-app-for-adding-images-to-my-blog</summary>
    <content type="html">&lt;p&gt;This is from &lt;a href=&#34;/i-built-a-simple-app-for-adding-images-to-my-blog/&#34; class=&#34;wikilink&#34; data-title=&#34;I built a simple app for adding images to my blog&#34; data-description=&#34;I built a simple fastAPI app called &amp;#34;shotput&amp;#34; that I run locally inside a git repo where I save images for my blog. The app is simple:&#34; data-date=&#34;2025-06-07&#34; data-preview=&#34;I built a simple fastAPI app called &amp;#34;shotput&amp;#34; that I run locally inside a git repo where I save images for my blog. The app is simple:&#34;&gt;I built a simple app for adding images to my blog&lt;/a&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;overview&#34;&gt;&lt;span class=&#34;heading-wear-glyph&#34;&gt;Overview&lt;/span&gt; &lt;a href=&#34;#overview&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Shotput is a simple webapp backed by a git repo that allows you to paste a screenshot from your clipboard, it gets put into the repo and pushed, and you get a link back to using that image via statically&amp;rsquo;s CDN in your website.&lt;/p&gt;&#xA;&lt;h2 id=&#34;example&#34;&gt;&lt;span class=&#34;heading-wear-glyph&#34;&gt;Example&lt;/span&gt; &lt;a href=&#34;#example&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;figure&gt;&#xA;&lt;img src=&#34;https://cdn.statically.io/gh/pypeaday/images.pype.dev/main/blog-media/20250607130609_dadd33eb.png&#34; alt=&#34;20250607130609_dadd33eb.png&#34;&gt;&#xA;&lt;/figure&gt;&#xA;&lt;p&gt;pasting an image let&amp;rsquo;s you copy the markdown link for easy pasting&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;![&lt;span class=&#34;nt&#34;&gt;20250607130609_dadd33eb.png&lt;/span&gt;](&lt;span class=&#34;na&#34;&gt;https://cdn.statically.io/gh/pypeaday/images.pype.dev/main/blog-media/20250607130609_dadd33eb.png&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;concerns&#34;&gt;&lt;span class=&#34;heading-wear-glyph&#34;&gt;Concerns&lt;/span&gt; &lt;a href=&#34;#concerns&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Currently this is deployed with an ssh key mounted into the container that I&#xA;put into a zfs dataset manually. Per &lt;a href=&#34;/2025-07-16-notes/#Wants&#34; class=&#34;wikilink&#34; data-title=&#34;2025-07-16 Notes&#34; data-description=&#34;yesterday - 2025-07-15-notes&#34; data-date=&#34;2025-07-16&#34;&gt;2025-07-16 Notes&lt;/a&gt; I&amp;rsquo;m struggling&#xA;with the key sharing model&amp;hellip;&lt;/p&gt;&#xA;</content>
    <author>
      <name>Nic Payne</name>
      <uri>https://pype.dev</uri>
    </author>
  </entry>
  <entry>
    <title>Pilgrims Creek</title>
    <id>https://pype.dev/pilgrims-creek/</id>
    <updated>2025-07-09T08:00:25Z</updated>
    <published>2025-07-09T08:00:25Z</published>
    <link href="https://pype.dev/pilgrims-creek/" rel="alternate" type="text/html"></link>
    <summary type="text">Podcast with Cameron for weary theologians. We spend time discussing interesting topics, approaches to theology, etc. all from the perspective of travelers...</summary>
    <content type="html">&lt;h1 id=&#34;what&#34;&gt;&lt;span class=&#34;heading-wear-glyph&#34;&gt;What&lt;/span&gt;&lt;/h1&gt;&#xA;&lt;p&gt;Podcast with Cameron for weary theologians. We spend time discussing interesting topics, approaches to theology, etc. all from the perspective of travelers who are tired and need a place to just have good conversation. We&amp;rsquo;re not here to fight theological points or debate, but rather to explore the patterns in the Bible, equip ourselves and others with theological tools, and overall enjoy a good time with believers interacting with fun and challenging ideas about our faith&lt;/p&gt;&#xA;&lt;iframe src=&#34;https://shows.element.fm/player?x=https://cdn.element.fm/2e873e93-be22-4bc0-a68f-2fed2810e169/8c1d9ebb-9e1b-4f81-80e7-9921a42d9ca8/rss.xml&amp;e=b4574c89-f521-43f8-80c1-9d8ad6c89fea&#34; width=&#34;100%&#34; height=&#34;90px&#34; style=&#34;border: none;&#34;&gt;&lt;/iframe&gt;&#xA;</content>
    <author>
      <name>Nic Payne</name>
      <uri>https://pype.dev</uri>
    </author>
  </entry>
  <entry>
    <title>Thoughts To Nostr</title>
    <id>https://pype.dev/thoughts-to-nostr/</id>
    <updated>2025-07-08T08:30:35Z</updated>
    <published>2025-07-08T08:30:35Z</published>
    <link href="https://pype.dev/thoughts-to-nostr/" rel="alternate" type="text/html"></link>
    <summary type="text">I am trying to use temporal at home for running automated pipelines. It&#39;s definitely overkill for my use case but this is America...</summary>
    <content type="html">&lt;p&gt;I am trying to use &lt;a href=&#34;/temporal/&#34; class=&#34;wikilink&#34; data-title=&#34;temporal&#34; data-description=&#34;Temporal is a workflow orchestrator that I&amp;#39;m interested in&#34; data-date=&#34;2025-06-24&#34; data-preview=&#34;Temporal is a workflow orchestrator that I&amp;#39;m interested in&#34;&gt;temporal&lt;/a&gt; at home for running automated pipelines. It&amp;rsquo;s&#xA;definitely overkill for my use case but this is America&amp;hellip;&lt;/p&gt;&#xA;&lt;p&gt;So my first project is a system that takes my &lt;a href=&#34;/thoughts/&#34; class=&#34;wikilink&#34; data-title=&#34;Thoughts&#34; data-description=&#34;My thoughts are found at my thoughts feed&#34; data-date=&#34;2025-06-09&#34; data-preview=&#34;My thoughts are found at my thoughts feed&#34;&gt;Thoughts&lt;/a&gt; and posts them to&#xA;&lt;a href=&#34;/nostr/&#34; class=&#34;wikilink&#34; data-title=&#34;Nostr&#34; data-description=&#34;???+ note &amp;#34;How to start...&amp;#34;&#34; data-date=&#34;2025-07-02&#34; data-preview=&#34;???+ note &amp;#34;How to start...&amp;#34;&#34;&gt;Nostr&lt;/a&gt; as I briefly discussed in &lt;a href=&#34;/testing-a-postiz-change-locally/&#34; class=&#34;wikilink&#34; data-title=&#34;Testing a Postiz Change Locally (IT WORKS!)&#34; data-description=&#34;I am working on a pipeline at home to integrate my blog with social media a little more. One of the things I want to do is automatically post my-thoughts to...&#34; data-date=&#34;2025-07-06&#34; data-preview=&#34;I am working on a pipeline at home to integrate my blog with social media a little more. One of the things I want to do is automatically post my-thoughts to...&#34;&gt;Testing a Postiz Change Locally (IT WORKS!)&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;I have temporal infrastructure setup in homelab-compose and then&#xA;homelab-temporal should probably be homelab-temporal-pipelines or something,&#xA;but it&amp;rsquo;s the app code. I also have a repo homelab-social-media-pipelines -&#xA;which has been consolidated down into homelab-temporal. once that all works I&#xA;can destroy the homelab-social-media-pipelines repo&lt;/p&gt;&#xA;&lt;p&gt;NOTE: everything is moving to homelab-mono&lt;/p&gt;&#xA;&lt;h2 id=&#34;issue-01&#34;&gt;&lt;span class=&#34;heading-wear-glyph&#34;&gt;Issue 01&lt;/span&gt; &lt;a href=&#34;#issue-01&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;I am currently hitting a stupid python issue:&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;nic in homelab-temporal   main    ×2  ×4  ×7 via   v3.12.8(homelab-temporal)   (dev) 󰒄&#xA;⬢ [devbox] ❯ python -c &amp;quot;from homelab_temporal.postiz.postiz_client import PostizClient&amp;quot;&#xA;(homelab-temporal)&#xA;nic in homelab-temporal   main    ×2  ×4  ×7 via   v3.12.8(homelab-temporal)   (dev) 󰒄&#xA;⬢ [devbox] ❯ python scripts/postiz/simple_post.py&#xA;Traceback (most recent call last):&#xA;  File &amp;quot;/home/nic/projects/personal/homelab-temporal/scripts/postiz/simple_post.py&amp;quot;, line 3, in &amp;lt;module&amp;gt;&#xA;    from homelab_temporal.postiz.postiz_client import PostizClient, process_for_nostr, process_for_x&#xA;ModuleNotFoundError: No module named &#39;homelab_temporal&#39;&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;very dumb venv problem&amp;hellip;&lt;/p&gt;&#xA;&lt;h2 id=&#34;resolution&#34;&gt;&lt;span class=&#34;heading-wear-glyph&#34;&gt;Resolution&lt;/span&gt; &lt;a href=&#34;#resolution&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;need to use &lt;code&gt;python -m&lt;/code&gt; because the script is outside the project root? see &lt;a href=&#34;/2025-07-08-notes/&#34; class=&#34;wikilink&#34; data-title=&#34;2025-07-08 Notes&#34; data-description=&#34;Today I consolidated homelab-social-media-pipelines into homelab-temporal, which is the app repo.&#34; data-date=&#34;2025-07-08&#34; data-preview=&#34;Today I consolidated homelab-social-media-pipelines into homelab-temporal, which is the app repo.&#34;&gt;2025-07-08 Notes&lt;/a&gt; and the chatgpt notes for more on this but it works now&lt;/p&gt;&#xA;&lt;h2 id=&#34;thoughts-order&#34;&gt;&lt;span class=&#34;heading-wear-glyph&#34;&gt;Thoughts Order&lt;/span&gt; &lt;a href=&#34;#thoughts-order&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;as of &lt;a href=&#34;/2025-07-11-notes/&#34; class=&#34;wikilink&#34; data-title=&#34;2025-07-11 Notes&#34; data-description=&#34;yesterday 2025-07-10-notes&#34; data-date=&#34;2025-07-11&#34; data-preview=&#34;yesterday 2025-07-10-notes&#34;&gt;2025-07-11 Notes&lt;/a&gt; I have the thoughts ordering correct - we post the oldest thoughts up to the newest ones. Now I want more intros for the notes so they don&amp;rsquo;t get too repetitive&lt;/p&gt;&#xA;&lt;h2 id=&#34;todos&#34;&gt;&lt;span class=&#34;heading-wear-glyph&#34;&gt;TODOs&lt;/span&gt; &lt;a href=&#34;#todos&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;[x] - destroy the homelab-social-media-pipelines repo&lt;/p&gt;&#xA;&lt;p&gt;[] - think about how to structure things more&amp;hellip; monorepo in homelab-temporal might be hard to manage with AI tools due to context management&amp;hellip; unsure though&lt;/p&gt;&#xA;&lt;p&gt;[] - create workflow and activities for thoughts to nostr&amp;hellip; revisit diagram to see what you need to build out in the temporal repo&lt;/p&gt;&#xA;&lt;p&gt;[] - do something like this for github stars and then blog posts&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;p&gt;I need to update my templates for nostr og images using this as fodder&lt;/p&gt;&#xA;&lt;pre class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c&#34;&gt;&amp;lt;!-- HTML Meta Tags --&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;title&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;Nostr Design&lt;span class=&#34;p&#34;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;title&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;meta&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;na&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;description&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;na&#34;&gt;content&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;A comprehensive resource for designers and developers to build successful nostr products&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;/&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c&#34;&gt;&amp;lt;!-- Facebook Meta Tags --&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;meta&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;property&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;og:url&amp;#34;&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;content&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;https://nostrdesign.org&amp;#34;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;/&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;meta&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;property&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;og:type&amp;#34;&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;content&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;website&amp;#34;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;/&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;meta&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;property&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;og:title&amp;#34;&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;content&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;Nostr Design&amp;#34;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;/&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;meta&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;na&#34;&gt;property&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;og:description&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;na&#34;&gt;content&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;A comprehensive resource for designers and developers to build successful nostr products&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;/&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;meta&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;na&#34;&gt;property&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;og:image&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;na&#34;&gt;content&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;https://nostrdesign.org/img/nostr-cover.jpg&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;/&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c&#34;&gt;&amp;lt;!-- Twitter Meta Tags --&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;meta&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;twitter:card&amp;#34;&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;content&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;summary_large_image&amp;#34;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;/&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;meta&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;property&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;twitter:domain&amp;#34;&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;content&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;nostrdesign.org&amp;#34;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;/&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;meta&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;property&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;twitter:url&amp;#34;&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;content&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;https://nostrdesign.org&amp;#34;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;/&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;meta&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;twitter:title&amp;#34;&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;content&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;Nostr Design&amp;#34;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;/&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;meta&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;na&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;twitter:description&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;na&#34;&gt;content&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;A comprehensive resource for designers and developers to build successful nostr products&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;/&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;meta&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;na&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;twitter:image&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;na&#34;&gt;content&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;https://nostrdesign.org/img/nostr-cover.jpg&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;/&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;dockerizing&#34;&gt;&lt;span class=&#34;heading-wear-glyph&#34;&gt;Dockerizing&lt;/span&gt; &lt;a href=&#34;#dockerizing&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;I think I wnt to dockerize my workers and workflows&amp;hellip; build them out of the &lt;code&gt;homelab-temporal&lt;/code&gt; repo but then run them in compose stacks&amp;hellip; that can get stitched together better but for now that&amp;rsquo;ll probably be a good target.&#xA;I have things to think about though&amp;hellip; for example the blog builder needs my ssh keys, or an ssh key for a user&amp;hellip; also git is a little mess up anyways&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;temporal &lt;a href=&#34;https://temporal-ui.paynepride.com/namespaces/default/workflows/blog-build-ee488b69-6cdf-4819-bccd-df183cf8ec13/01981101-e48b-712a-96db-328ce720c13c/history&#34;&gt;link&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;temporal&#34;&gt;&lt;span class=&#34;heading-wear-glyph&#34;&gt;Temporal&lt;/span&gt; &lt;a href=&#34;#temporal&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;I haev temporal workflows and stuff that all seem to work&lt;/p&gt;&#xA;&lt;p&gt;on &lt;a href=&#34;/2025-08-08-notes/&#34; class=&#34;wikilink&#34; data-title=&#34;2025-08-08 Notes&#34; data-description=&#34;yesterday: 2025-08-07-notes&#34; data-date=&#34;2025-08-08&#34; data-preview=&#34;yesterday: 2025-08-07-notes&#34;&gt;2025-08-08 Notes&lt;/a&gt; I had issues with my nostr relay being too public, so I shut it down, reconfigured postiz and stuff and got it workign again, more restricted and in-memory database&lt;/p&gt;&#xA;</content>
    <author>
      <name>Nic Payne</name>
      <uri>https://pype.dev</uri>
    </author>
  </entry>
  <entry>
    <title>gwl-margarita-tracker</title>
    <id>https://pype.dev/gwl-margarita-tracker/</id>
    <updated>2025-06-30T21:33:28Z</updated>
    <published>2025-06-30T21:33:28Z</published>
    <link href="https://pype.dev/gwl-margarita-tracker/" rel="alternate" type="text/html"></link>
    <summary type="text">Track discount on margarita refills over the lifetime of this mug</summary>
    <content type="html">&lt;p&gt;Track discount on margarita refills over the lifetime of this mug&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://github.com/pypeaday/gwl-margarita-tracker&#34;&gt;github repo&lt;/a&gt;&lt;/p&gt;&#xA;&lt;figure&gt;&#xA;&lt;img src=&#34;https://cdn.statically.io/gh/pypeaday/images.pype.dev/main/blog-media/20250701131846_9a61924b.png&#34; alt=&#34;20250701131846_9a61924b.png&#34;&gt;&#xA;&lt;/figure&gt;&#xA;</content>
    <author>
      <name>Nic Payne</name>
      <uri>https://pype.dev</uri>
    </author>
  </entry>
  <entry>
    <title>QuadTask</title>
    <id>https://pype.dev/quadtask/</id>
    <updated>2025-06-13T20:58:00Z</updated>
    <published>2025-06-13T20:58:00Z</published>
    <link href="https://pype.dev/quadtask/" rel="alternate" type="text/html"></link>
    <summary type="text">Eisenhower Matrix based task manager</summary>
    <content type="html">&lt;p&gt;QuadTask is a simple productivity app that I&amp;rsquo;m sure will bring in $0 towards my retirement but a few friends use it and it&amp;rsquo;s a fun project to use as fodder for learning how to pair program with AI.&lt;/p&gt;&#xA;&lt;p&gt;&lt;del&gt;The app is live here - &lt;a href=&#34;https://quadtask.app&#34;&gt;quadtask.app&lt;/a&gt;&lt;/del&gt;&lt;/p&gt;&#xA;&lt;p&gt;The app is live here - &lt;a href=&#34;https://quadtask.fly.dev&#34;&gt;quadtask.fly.dev&lt;/a&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;updates&#34;&gt;&lt;span class=&#34;heading-wear-glyph&#34;&gt;Updates&lt;/span&gt; &lt;a href=&#34;#updates&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;I can add SMS notifications with the SMTP trick&lt;/li&gt;&#xA;&lt;li&gt;retire quadtask.app and just have it live on fly&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h2 id=&#34;new-updatess&#34;&gt;&lt;span class=&#34;heading-wear-glyph&#34;&gt;New Updatess&lt;/span&gt; &lt;a href=&#34;#new-updatess&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Rebuild as a notifiq app&#xA;&lt;ul&gt;&#xA;&lt;li&gt;includes translating quadtask&amp;rsquo;s schema into event.content or adding tables to notifiq&lt;/li&gt;&#xA;&lt;li&gt;db clean up to get rid of my DDOS artifacts&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;</content>
    <author>
      <name>Nic Payne</name>
      <uri>https://pype.dev</uri>
    </author>
  </entry>
  <entry>
    <title>Dad, Can I Wear This?</title>
    <id>https://pype.dev/dad-can-i-wear-this/</id>
    <updated>2025-06-13T20:58:00Z</updated>
    <published>2025-06-13T20:58:00Z</published>
    <link href="https://pype.dev/dad-can-i-wear-this/" rel="alternate" type="text/html"></link>
    <summary type="text">Repo</summary>
    <content type="html">&lt;p&gt;&lt;a href=&#34;https://github.com/pypeaday/dad-can-i-wear-this&#34;&gt;Repo&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;This is a simple FastAPI web app you can &lt;code&gt;docker compose up&lt;/code&gt; alongside ollama and get some cute AI driven weather suggestions for the day.&lt;/p&gt;&#xA;&lt;figure&gt;&#xA;&lt;img src=&#34;https://cdn.statically.io/gh/pypeaday/images.pype.dev/main/blog-media/20250614121103_997fe18d.png&#34; alt=&#34;20250614121103_997fe18d.png&#34;&gt;&#xA;&lt;/figure&gt;&#xA;&lt;figure&gt;&#xA;&lt;img src=&#34;https://cdn.statically.io/gh/pypeaday/images.pype.dev/main/blog-media/20250614121122_39376fa1.png&#34; alt=&#34;20250614121122_39376fa1.png&#34;&gt;&#xA;&lt;/figure&gt;&#xA;&lt;h2 id=&#34;version-2&#34;&gt;&lt;span class=&#34;heading-wear-glyph&#34;&gt;Version 2&lt;/span&gt; &lt;a href=&#34;#version-2&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;figure&gt;&#xA;&lt;img src=&#34;https://cdn.statically.io/gh/pypeaday/images.pype.dev/main/blog-media/20250919212136_319c1006.png&#34; alt=&#34;20250919212136_319c1006.png&#34;&gt;&#xA;&lt;/figure&gt;&#xA;</content>
    <author>
      <name>Nic Payne</name>
      <uri>https://pype.dev</uri>
    </author>
  </entry>
  <entry>
    <title>Cronicle</title>
    <id>https://pype.dev/cronicle/</id>
    <updated>2025-06-13T20:58:00Z</updated>
    <published>2025-06-13T20:58:00Z</published>
    <link href="https://pype.dev/cronicle/" rel="alternate" type="text/html"></link>
    <summary type="text">I use hcio to monitor a few of my backup scripts and when LLMs hit the scene I got interested to try to build my own. I have a pretty good understanding of...</summary>
    <content type="html">&lt;p&gt;I use &lt;a href=&#34;https://healthchecks.io&#34;&gt;hcio&lt;/a&gt; to monitor a few of my backup scripts and when LLMs hit the scene I got interested to try to build my own. I have a pretty good understanding of systems, and I enjoy thinking through them, but I&amp;rsquo;m not a great front-end designer - AI has helped a bit in that regard.&lt;/p&gt;&#xA;&lt;p&gt;Cronicle isn&amp;rsquo;t live anywhere yet, and it&amp;rsquo;s undergone a few revisions already. I&amp;rsquo;m not sure if I&amp;rsquo;ll continue with it, but I&amp;rsquo;m having fun thinking through it.&lt;/p&gt;&#xA;</content>
    <author>
      <name>Nic Payne</name>
      <uri>https://pype.dev</uri>
    </author>
  </entry>
  <entry>
    <title>Someday</title>
    <id>https://pype.dev/someday/</id>
    <updated>2025-02-17T00:00:00Z</updated>
    <published>2025-02-17T00:00:00Z</published>
    <link href="https://pype.dev/someday/" rel="alternate" type="text/html"></link>
    <summary type="text">Projects, tools, and technologies I want to explore someday. This is my queue of things to check out, organized by category. Each item has a checkbox for...</summary>
    <content type="html">&lt;h2 id=&#34;purpose-of-the-page&#34;&gt;&lt;span class=&#34;heading-wear-glyph&#34;&gt;Purpose of the Page&lt;/span&gt; &lt;a href=&#34;#purpose-of-the-page&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Projects, tools, and technologies I want to explore someday. This is my queue&#xA;of things to check out, organized by category. Each item has a checkbox for&#xA;tracking progress - once explored, I&amp;rsquo;ll add a summary or link to a longer post.&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;self-hosted-services&#34;&gt;&lt;span class=&#34;heading-wear-glyph&#34;&gt;Self-Hosted Services&lt;/span&gt; &lt;a href=&#34;#self-hosted-services&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;strong&gt;&lt;a href=&#34;https://docs.karakeep.app/&#34;&gt;Karakeep&lt;/a&gt;&lt;/strong&gt; (2025-07-19) Read-later and&#xA;bookmarking service to replace texting links to myself. Want to explore the app&#xA;and extension, set up RSS feeds for lists.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;I am running Karakeep, would like to hook it into my blog like &lt;code&gt;thoughts&lt;/code&gt; but just haven&amp;rsquo;t taken the time to do it&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;strong&gt;&lt;a href=&#34;https://github.com/pypeaday/rybbit&#34;&gt;Rybbit&lt;/a&gt;&lt;/strong&gt; (2025-08-23)&#xA;Self-hosted Google Analytics alternative. Forked the repo, want to try on&#xA;quadtask.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;strong&gt;&lt;a href=&#34;https://github.com/lissy93/domain-locker&#34;&gt;Domain Locker&lt;/a&gt;&lt;/strong&gt;&#xA;(2025-12-09) Domain monitoring service. Stood it up and want to see how it&#xA;fits into the lab over the next year.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;platform-devops&#34;&gt;&lt;span class=&#34;heading-wear-glyph&#34;&gt;Platform &amp;amp; DevOps&lt;/span&gt; &lt;a href=&#34;#platform-devops&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;strong&gt;&lt;a href=&#34;https://github.com/pypeaday/komodo&#34;&gt;Komodo&lt;/a&gt;&lt;/strong&gt; (2025-08-23)&#xA;Platform-as-a-product tool that aligns with my vision for &amp;ldquo;platform as a&#xA;product&amp;rdquo;. Discovered it matches much of what I envisioned.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;strong&gt;&lt;a href=&#34;https://github.com/ironcalc/IronCalc&#34;&gt;IronCalc&lt;/a&gt;&lt;/strong&gt; (2025-11-07)&#xA;Self-hosted spreadsheet solution. Need to manage the build, starting to think&#xA;about a reusable &lt;a href=&#34;/forgejo/&#34; class=&#34;glossary-term&#34; title=&#34;self-hosted code forge - codeberg - fork of gittea&#34; data-hover-title=&#34;forgejo&#34;&gt;Forgejo&lt;/a&gt; action for &lt;a href=&#34;/docker/&#34; class=&#34;glossary-term&#34; title=&#34;docker - container runtime&#34; data-hover-title=&#34;docker&#34;&gt;Docker&lt;/a&gt; builds.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Unfortunately there&amp;rsquo;s not much to write about - neat project but I don&amp;rsquo;t need it&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;strong&gt;&lt;a href=&#34;https://github.com/lldap/lldap/blob/main/docs/install.md#with-docker&#34;&gt;LLDAP&lt;/a&gt;&lt;/strong&gt;&#xA;(2025-11-10) Lightweight LDAP for homelab SSO. Want to get SSO setup at home&#xA;for repoflow, considering LLDAP and Authelia for authentication.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;strong&gt;Repoflow&lt;/strong&gt; (2025-08-09) Artifactory replacement for artifact storage.&#xA;Requested a free license and experimenting with it for homelab platform&#xA;storage.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;em&gt;Note: Have blog posts but no dedicated project/glossary page yet&lt;/em&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;storage-solutions&#34;&gt;&lt;span class=&#34;heading-wear-glyph&#34;&gt;Storage Solutions&lt;/span&gt; &lt;a href=&#34;#storage-solutions&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;strong&gt;&lt;a href=&#34;https://git.deuxfleurs.fr/Deuxfleurs/garage&#34;&gt;Garage&lt;/a&gt;&lt;/strong&gt; (2026-02-15)&#xA;Distributed object storage. MinIO is archived, so looking at Garage as a&#xA;replacement for object storage.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;strong&gt;&lt;a href=&#34;https://github.com/rustfs/rustfs&#34;&gt;RustFS&lt;/a&gt;&lt;/strong&gt; (2026-02-15) MinIO&#xA;alternative in Rust. Alternative to MinIO being considered alongside Garage.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;mobile-apps&#34;&gt;&lt;span class=&#34;heading-wear-glyph&#34;&gt;Mobile &amp;amp; Apps&lt;/span&gt; &lt;a href=&#34;#mobile-apps&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;strong&gt;&lt;a href=&#34;https://github.com/cogwheel0/conduit&#34;&gt;Conduit&lt;/a&gt;&lt;/strong&gt; (2025-08-23)&#xA;Open-WebUI Android app. Found it but needs to build and sideload the APK.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;desktop-window-management&#34;&gt;&lt;span class=&#34;heading-wear-glyph&#34;&gt;Desktop &amp;amp; Window Management&lt;/span&gt; &lt;a href=&#34;#desktop-window-management&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;strong&gt;&lt;a href=&#34;https://github.com/nikitabobko/AeroSpace&#34;&gt;AeroSpace&lt;/a&gt;&lt;/strong&gt; (2025-11-26)&#xA;Tiling window manager for Mac. Want to try it out for window management.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;I am using AeroSpace on my Mac - it&amp;rsquo;s beautiful&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;strong&gt;&lt;a href=&#34;https://codeberg.org/Serroda/fluid-tile&#34;&gt;Fluid Tile&lt;/a&gt;&lt;/strong&gt; (2025-11-26)&#xA;Tiling window manager option. Saw it as a tiling window manager option to try&#xA;after getting tiling working on Mac with AeroSpace.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;productivity-utilities&#34;&gt;&lt;span class=&#34;heading-wear-glyph&#34;&gt;Productivity &amp;amp; Utilities&lt;/span&gt; &lt;a href=&#34;#productivity-utilities&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;strong&gt;&lt;a href=&#34;https://github.com/matda59/ChoresRewards&#34;&gt;ChoresRewards&lt;/a&gt;&lt;/strong&gt;&#xA;(2025-08-10) Chore tracking with rewards for kids. Looking for a way to track&#xA;and reward chores for both myself and the kids; considering rewriting it in&#xA;FastAPI if the auth mechanisms don&amp;rsquo;t work out.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;strong&gt;&lt;a href=&#34;https://github.com/Lifailon/lazyjournal&#34;&gt;Lazyjournal&lt;/a&gt;&lt;/strong&gt; (2025-11-15)&#xA;TUI for host logs. Lazydocker/git-inspired tool for viewing host logs that I&#xA;learned about.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;strong&gt;&lt;a href=&#34;https://github.com/code-yeongyu/oh-my-opencode&#34;&gt;Oh My Opencode&lt;/a&gt;&lt;/strong&gt;&#xA;(2025-12-31) Compare with OpenAgents. Need to compare OpenAgents with&#xA;oh-my-opencode.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;strong&gt;&lt;a href=&#34;https://github.com/cjpais/Handy&#34;&gt;Handy&lt;/a&gt;&lt;/strong&gt; (2026-02-03) STT tool for&#xA;voice control. Started using for speech-to-text on work Mac to talk to neovim&#xA;and opencode; excited to explore vocally conversing with agents.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;already-explored-have-pages&#34;&gt;&lt;span class=&#34;heading-wear-glyph&#34;&gt;Already Explored (Have Pages)&lt;/span&gt; &lt;a href=&#34;#already-explored-have-pages&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;These projects already have glossary entries or blog posts:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;strong&gt;&lt;a href=&#34;https://docs.affine.pro/&#34;&gt;Affine&lt;/a&gt;&lt;/strong&gt; - Self-hosted Notion-like platform&#xA;(see &lt;a href=&#34;/affine/&#34; class=&#34;wikilink&#34; data-title=&#34;Affine&#34; data-description=&#34;Mind-mapping webapp at home with native desktop App. Like Notion but with diagram support&#34; data-date=&#34;2025-10-13&#34; data-preview=&#34;Mind-mapping webapp at home with native desktop App. Like Notion but with diagram support&#34;&gt;Affine&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;strong&gt;&lt;a href=&#34;https://github.com/caronc/apprise&#34;&gt;Apprise&lt;/a&gt;&lt;/strong&gt; - Centralized&#xA;notification service (see &lt;a href=&#34;/apprise/&#34; class=&#34;wikilink&#34; data-title=&#34;apprise&#34; data-description=&#34;Apprise - github project that&amp;#39;s awesome about notifications&#34; data-date=&#34;2025-09-02&#34; data-preview=&#34;Apprise - github project that&amp;#39;s awesome about notifications&#34;&gt;apprise&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;strong&gt;&lt;a href=&#34;https://forgejo.org/&#34;&gt;Forgejo&lt;/a&gt;&lt;/strong&gt; - Self-hosted Git forge (see&#xA;&lt;a href=&#34;/forgejo/&#34; class=&#34;wikilink&#34; data-title=&#34;forgejo&#34; data-description=&#34;self-hosted code forge - codeberg - fork of gittea&#34; data-date=&#34;2025-08-20&#34; data-preview=&#34;self-hosted code forge - codeberg - fork of gittea&#34;&gt;forgejo&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;</content>
    <author>
      <name>Nic Payne</name>
      <uri>https://pype.dev</uri>
    </author>
  </entry>
</feed>