<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Notes by Nathan Nicholas</title>
    <link>https://nbnstack.com/notes/</link>
    <description>Short notes from Nathan Nicholas on what he's thinking about, working on, and learning.</description>
    <language>en-us</language>
    <lastBuildDate>Wed, 15 Apr 2026 12:00:00 +0000</lastBuildDate>
    <atom:link href="https://nbnstack.com/notes/feed.xml" rel="self" type="application/rss+xml"/>
    <item>
      <title>Heavy Trellis day. Finished the PDF directory export feature: photo grid, customizable col...</title>
      <description><![CDATA[Heavy Trellis day. Finished the PDF directory export feature: photo grid, customizable columns, paper sizes, landscape mode, privacy controls, household grouping, initials placeholder circles, cover page, confidential footer. Needs some visual tweaking but it's functional and looks genuinely good. Also wrapped up member page cleanup, merged and deployed. Color coding is still being ornery but the core export flow works.<br><br>The bigger news: fully migrated Trellis off TrueNAS. Local NAS running local Postgres behind a Cloudflare tunnel is gone. The app now lives on DigitalOcean with Supabase Postgres, Nginx, and certbot. Completed the white-label color refactor and the URL-based logo migration in the same push. Proved the full branding pipeline end-to-end. Tenant registry table created, The architecture I designed from the start held up. That's a good feeling.<br><br>Sent out the first real project scope and status update to the Oak Street team tonight. First time doing that. Weird and exciting in equal measure. Sometimes the imposter syndrome hits hard. Never owned a business, never been a startup CTO, never been a software engineer by title. Other times it feels like exactly where I'm supposed to be. Today was one of the good ones.<br><br>Also knocked out QR code UTM tracking design for church outreach referrals and wrote a comprehensive infrastructure context doc covering the full stack, cost model, multi-tenancy architecture, and pricing tiers. It's starting to feel real.<br><br>On the Aspen side, spent more time than I'd like to admit debugging a Power Query UNION type mismatch. Lat/lon coming in as numeric vs text, date columns causing chaos. Classic case of paying for old sins. The original "database" was a connected Excel table that got migrated to PostgreSQL, but Power BI inherited all the TEXT formatting from the Excel era. Got it sorted.<br><br>Got a massage this morning. Client sent pizza, another sent cookies. Rain hammered Denton tonight and I loved it. Megan had book club so locked myself in the office and actually got real work done. Built the stand 3D printer and filament storage when I got home.<br><br>Finishing the night listening to the new Half-Blood Prince audiobook and eating some chips while I unwind and reflect on the day.]]></description>
      <pubDate>Wed, 15 Apr 2026 12:00:00 +0000</pubDate>
      <guid isPermaLink="false">https://nbnstack.com/notes/#note-2026-04-15-9fb625da</guid>
      <link>https://nbnstack.com/notes/</link>
    </item>
    <item>
      <title>Big infrastructure day for SourPatchNAS. Fixed the Trellis database backup that was silent...</title>
      <description><![CDATA[Big infrastructure day for SourPatchNAS. Fixed the Trellis database backup that was silently writing 44 bytes. Locked down all .env permissions. Migrated <a href="billions.nbnstack.com">office-bets</a> data into proper backup coverage. Nuked Wizarr since I wasn't using it. Started listening to the newest Harry Potter full-cast edition.<br><br>Lots of irons in the fire at work. Finally updated our Azure PostgreSQL tier and decided to ditch the On-premises Data Gateway entirely. Worked through type-aware cleaning for the ETL bridge. Fixed some Power BI date column issues. Debugged SharePoint air permit file links for facility mapping (simple VBA macro to grab URLs so I can XLOOKUP off IDs to bring in the unique links).<br><br>Built the "<a href="https://nbnstack.com/uses/">uses</a>" page for my website. Need to circle back and fill in more on it. Trying to determine how to write it where it's not a spec sheet, but not so surface level that the page is pointless to have.]]></description>
      <pubDate>Tue, 14 Apr 2026 12:00:00 +0000</pubDate>
      <guid isPermaLink="false">https://nbnstack.com/notes/#note-2026-04-14-f1b1c1f6</guid>
      <link>https://nbnstack.com/notes/</link>
    </item>
    <item>
      <title>Very productive day at work. Cleaned up the websites for both Oak Street Solutions and Tre...</title>
      <description><![CDATA[Very productive day at work. Cleaned up the websites for both <a href="https://oakstreetsolutions.com" target="_blank" rel="noopener noreferrer">Oak Street Solutions</a> and <a href="https://trellis.directory" target="_blank" rel="noopener noreferrer">Trellis Directory</a>. Made some great progress in the web app I'm working on for COGC and cleaning up the Django record forms and frontend usage for them. Moved our Excel inputs for office bets and the Power BI dashboard for showing them into a silly web app displayed at <a href="https://billions.nbnstack.com/" target="_blank" rel="noopener noreferrer">billions.nbnstack.com</a>. 3D-printed a mini computer chair for a friend, went to Rusty's for our Monday margaritas with friends, and had a great time. Megan was pitching out <a href="https://slurp.fyi" target="_blank" rel="noopener noreferrer">slurp.fyi</a> stickers. Went to bed "early."]]></description>
      <pubDate>Mon, 13 Apr 2026 12:00:00 +0000</pubDate>
      <guid isPermaLink="false">https://nbnstack.com/notes/#note-2026-04-13-0cc41f06</guid>
      <link>https://nbnstack.com/notes/</link>
    </item>
  </channel>
</rss>
