Intrepidus PRD (Product Requirements Document)

Project Overview

Name: Intrepidus

Tagline: A fearless exploration at the intersection of health, mind, and technology

Author: Toni Incog

Live Site: https://www.intrepidus.me

Repository: https://github.com/nocona71/quarto

Purpose

Intrepidus is a personal blog and knowledge platform exploring topics at the convergence of meditation, philosophy, personal knowledge management, AI, and technical experiments. It serves as both a publishing platform and a showcase for technical writing and interactive visualizations.


Current Features

Content Management

  • Articles: Long-form, in-depth pieces (currently 4 published)
  • Blog Posts: Shorter-form content with code examples
  • Post Types: Markdown, R (knitr/ggplot2), Python (Jupyter), LaTeX/TikZ visualizations
  • Draft System: Content can be hidden from feeds/listings while remaining accessible
  • RSS Feed: Full Atom feed with customizable items (60 items configured)
  • Archive: Date-based organization (YYYY/MM/DD structure)

Frontend

  • Theme: Bootstrap (Flatly) with light/dark mode support
  • Navigation: Searchable navbar with links to Posts, Articles, About, RSS, GitHub
  • Comments: Giscus-powered (GitHub Discussions)
  • Features:
    • Table of contents on articles
    • Margin references/footnotes
    • Code highlighting
    • Lightbox for images
    • Responsive design

Technical Features

  • Analytics: Google Tag Manager integration
  • Cookie Consent: Implied consent (simple banner)
  • SEO: robots.txt, meta tags, Google indexing support
  • Code Examples: Snippets directory for reusable code
  • Build System: Quarto with R/Python support
  • Deployment: GitHub Pages with automated publish script

Styling

  • Custom SCSS variables (styles.scss)
  • Dark theme customizations (theme-dark.scss)
  • Custom CSS overrides (custom.css)
  • Bootstrap Flatly theme as base

Technical Architecture

Stack

Layer Technology
Site Generator Quarto v1.8+
Styling Bootstrap + custom SCSS/CSS
Content Format QMD (Quarto Markdown)
Code Execution R (knitr), Python (Jupyter)
Comments Giscus (GitHub Discussions)
Analytics Google Tag Manager
Hosting GitHub Pages
Version Control Git

Directory Structure

.
├── _quarto.yml              # Main configuration
├── _brand.yml               # [TODO: Add if needed]
├── index.qmd                # Homepage with listings
├── about.qmd                # About page
├── atom.qmd                 # RSS feed definition
├── posts/                   # Blog posts (YYYY/MM/DD/title)
├── articles/                # Long-form articles (YYYY/MM/DD/title)
├── snippets/                # Code snippets and examples
├── html/                    # Custom HTML includes (GTM, meta)
├── img/                     # Images and logo assets
├── styles/                  # SCSS and CSS
├── scripts/                 # Utility scripts
└── _site/                   # Generated output (git-ignored)

Build & Deployment

  • Preview: quarto preview (localhost:5555)
  • Build: quarto render_site/
  • Deploy: ./publish.sh → GitHub Pages

Content Strategy

Published Content (Q1 2025)

  1. “AI Club and the End of Control” (2025-07-09)
    • Status: Published
    • Format: Long-form article with PDF export
    • Topics: AI, automation, work, control
  2. “CO2 Meter” (2025-03-25)
    • Status: Published
    • Topics: Environmental monitoring, IoT, personal projects
  3. “English Tenses” (2024-01-07)
    • Status: Published
    • Topics: Language learning, grammar
  4. Andrew (Older)
    • Status: Published
    • Format: Data visualization/economics example

Draft Content (Ready to Publish)

Currently, all draft posts have been removed due to rendering pipeline issues where code execution succeeded but HTML output generation failed.

Planned Content


Metrics & Goals

Current State

  • Published Articles: 4
  • Draft Posts Ready: 0
  • RSS Feed Items: 60 max
  • Homepage Display: 3 most recent posts
  • Comments System: GitHub Discussions enabled
  • Analytics: Google Tag Manager tracking

Success Indicators


Known Issues & Improvements

Recent Fixes (April 1, 2025)

✅ Cookie consent simplified from “express/interstitial” to “implied/simple”
✅ TikZ code blocks syntax corrected (# → % comments)
✅ Draft posts properly excluded from listings
✅ GTM scripts formatted and cleaned
✅ Gitignore updated for Quarto artifacts

Potential Improvements


Dependencies & Prerequisites

Required

  • Quarto v1.8+
  • Git

Optional (for specific post types)

  • R: For knitr/ggplot2 posts
    • Requires R installation + packages (knitr, rmarkdown, ggplot2)
    • Configured via ~/.Renviron
  • Python: For Jupyter posts
    • jupyter, nbformat, ipykernel

Development

  • VSCode with Quarto extension (recommended)
  • Node.js (package.json exists, version specified in .nvmrc)

Deployment & Publishing

Process

  1. Write/edit content (posts or articles)
  2. Preview locally: quarto preview
  3. Render: quarto render
  4. Commit: git add . && git commit -m "message"
  5. Publish: ./publish.sh

GitHub Pages

  • Hosted at: https://www.intrepidus.me
  • Branch: gh-pages (auto-generated by publish.sh)
  • Custom domain: intrepidus.me

Environment Variables

  • GTM Tag ID: GTM-NJ5X9XDC
  • Giscus Repo: nocona71/quarto-comments

Future Vision

Phase 1: Polish Current Content

Phase 2: Community & Engagement

Phase 3: Advanced Features

Phase 4: Monetization/Sustainability (Optional)


Success Criteria

Goal Metric Target Current
Publishing Frequency Articles/month 1+ 0.3
Engagement Comments per article 2+ TBD
Reach Monthly unique visitors 500+ TBD
Content Variety Post types 3+ 2 (Markdown, TikZ)
Technical Quality Build success 100%
SEO Google indexing Full

Notes & Decisions

Design Choices

  • Static Site: Simplicity, speed, no backend maintenance
  • Quarto: Native support for Markdown, R, Python, LaTeX
  • Bootstrap: Proven, accessible, highly customizable
  • GitHub Pages: Free hosting, integrated with repo
  • Giscus: Leverage GitHub Discussions, no separate comment backend

Trade-offs

  • ✅ Fast, simple deployment
  • ✅ Full control over content and design
  • ✅ Supports multiple content formats
  • ⚠️ No dynamic features (no user accounts, auth, etc.)
  • ⚠️ Rebuild required for new posts
  • ⚠️ No analytics beyond Google Tag Manager

Last Updated: April 1, 2025 Status: DRAFT (Ready for Review & Customization)