Welcome to my site! This blog is dedicated to chronicling my adventures with various nerdy projects and topics. --- ### Featured Posts %% DATAVIEW_PUBLISH_CONVERT start ```dataview TABLE WITHOUT ID embed(link(cover, "200")) as Cover, file.link + "</br>" + description as Article FROM "07 - Publish - Obsidian/Articles" WHERE publish = true AND featured = true SORT cover DESC, updated DESC LIMIT 3 ``` %% | Cover | Article | | --------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | ![[99 - Meta/attachments/IMG-cover-series-Automate-Your-Gains.png\|200]] | [[07 - Publish - Obsidian/Articles/A Deep Dive into the 'Automate Your Gains' Workout App UI & Features.md\|A Deep Dive into the 'Automate Your Gains' Workout App UI & Features]]</br>Take a tour of a custom workout logger built with Google Apps Script. See its mobile-friendly UI, dynamic workout planning, "last workout recall," and automated progression features in action. | | ![[99 - Meta/attachments/IMG-Add Social Links to the Sidebar of an Obsidian Publish Site-20250624215017919.png\|200]] | [[07 - Publish - Obsidian/Articles/Add Social Links to the Sidebar of an Obsidian Publish Site.md\|Add Social Links to the Sidebar of an Obsidian Publish Site]]</br>Customize your Obsidian Publish site by adding social media icons to the sidebar. This step-by-step guide uses simple CSS and JavaScript to create a "Connect" box that appears on every page, enhancing your site's professional look. | | ![[99 - Meta/attachments/d448b4b337fbbf4e65bd08e3da1598b0_MD5.jpeg\|200]] | [[07 - Publish - Obsidian/Articles/Building a Web App with SQLPage - A Database-First Approach to Workout Tracking.md\|Building a Web App with SQLPage - A Database-First Approach to Workout Tracking]]</br>Explore the journey of rebuilding a workout logger from a serverless Google Apps Script and Google Sheets model to a robust, containerized (Docker) SQLPage application. Discover the advantages of a database-first architecture, enhanced data integrity, and automated DevOps tooling in this deep dive. | %% DATAVIEW_PUBLISH_CONVERT end %% --- ### Recent Posts %% DATAVIEW_PUBLISH_CONVERT start ```dataview TABLE WITHOUT ID published as Date, file.link as Title FROM "07 - Publish - Obsidian/Articles" WHERE publish = true AND !contains(file.folder, "Series") AND !contains(file.folder, "Categories") SORT published DESC, title ASC LIMIT 12 ``` %% | Date | Title | | ------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | July 13, 2025 | [[07 - Publish - Obsidian/Articles/Building a Web App with SQLPage - A Database-First Approach to Workout Tracking.md\|Building a Web App with SQLPage - A Database-First Approach to Workout Tracking]] | | June 28, 2025 | [[07 - Publish - Obsidian/Articles/Obsidian Publish Workflow - Automating Publication Prep.md\|Obsidian Publish Workflow - Automating Publication Prep]] | | June 24, 2025 | [[07 - Publish - Obsidian/Articles/A Deep Dive into the 'Automate Your Gains' Workout App UI & Features.md\|A Deep Dive into the 'Automate Your Gains' Workout App UI & Features]] | | June 23, 2025 | [[07 - Publish - Obsidian/Articles/Add Social Links to the Sidebar of an Obsidian Publish Site.md\|Add Social Links to the Sidebar of an Obsidian Publish Site]] | | June 21, 2025 | [[07 - Publish - Obsidian/Articles/Automate Your Gains, Part 6 - When to Scale Your Google Apps Script Project.md\|Automate Your Gains, Part 6 - When to Scale Your Google Apps Script Project]] | | June 20, 2025 | [[07 - Publish - Obsidian/Articles/Add Social Links to the Footer of an Obsidian Publish Site.md\|Add Social Links to the Footer of an Obsidian Publish Site]] | | June 18, 2025 | [[07 - Publish - Obsidian/Articles/Automate Your Gains, Part 5 - Code Smart Automation for Your Fitness App.md\|Automate Your Gains, Part 5 - Code Smart Automation for Your Fitness App]] | | June 14, 2025 | [[07 - Publish - Obsidian/Articles/SQLPage Authentication on a Homelab - A Cookie Conundrum.md\|SQLPage Authentication on a Homelab - A Cookie Conundrum]] | | June 12, 2025 | [[07 - Publish - Obsidian/Articles/Automate Your Gains, Part 4 - Read & Display Data from Google Sheets in Your App.md\|Automate Your Gains, Part 4 - Read & Display Data from Google Sheets in Your App]] | | June 08, 2025 | [[07 - Publish - Obsidian/Articles/Automate Your Gains, Part 3 - Save Form Data to Google Sheets with Apps Script.md\|Automate Your Gains, Part 3 - Save Form Data to Google Sheets with Apps Script]] | | June 05, 2025 | [[07 - Publish - Obsidian/Articles/Automate Your Gains, Part 2 - Build a Workout App UI with Apps Script.md\|Automate Your Gains, Part 2 - Build a Workout App UI with Apps Script]] | | June 01, 2025 | [[07 - Publish - Obsidian/Articles/Automate Your Gains, Part 1 - Plan a Custom Workout App with Google Sheets.md\|Automate Your Gains, Part 1 - Plan a Custom Workout App with Google Sheets]] | %% DATAVIEW_PUBLISH_CONVERT end %%