Migrating to Astro
Last Updated: 28 September 2026
Mobile Curation & Content Management Manual
Welcome to your instant, mobile-friendly guidebook! This section is placed right at the top so that when you are on your travels, you can easily tap, expand, and follow instructions to add or edit poems, stories, and holiday photos directly from your mobile phone using the official GitHub App.
Render automatically monitors all changes to your GitHub repository. The moment you save or upload any content in the GitHub App, your live website at bradyclan.co.uk will automatically rebuild and deploy your changes in under 2 minutes!
Tap any guide below to expand and follow step-by-step:
Step 1: Uploading Photos & Images from Your Phone's Gallery
To display a photo anywhere on your site, you must first upload it to your web server assets using the GitHub App.
With Option A: Automated Cloud Optimization, you do not need to resize or compress your photos beforehand! You can upload full-resolution photos directly from your phone’s high-definition camera, and Render will process them for you.
How to Upload from Your Phone:
- Open the GitHub App on your phone.
- Select your repository:
tjbrady/bradyclan. - Tap on the Files list at the bottom or browse the repository files.
- Navigate to the directory:
public➔images. - In the top-right corner, tap the
+(Add) icon. - Select “Upload file” or “Upload photo/video” from the menu.
- Choose the photo(s) directly from your phone’s camera roll or gallery.
- Tap Commit (or Save) and confirm sending the changes directly to the
mainbranch with a simple commit message (e.g., “Upload Florence travel photo”). - Note the exact filename: Your uploaded image can now be referenced in any markdown page as
.
How the Automated Cloud Magic Works Behind the Scenes:
- The Problem: Mobile cameras capture beautiful but extremely heavy photos (often 5MB to 12MB each), which can slow down page loading speeds for visitors.
- The Cloud Solution: The moment you commit your upload, Render detects the change and triggers your site’s deployment.
- Build-Time Compression: Before compiling the final pages, Render automatically executes our customized
optimise-images.jsscript in the cloud. This script leverages the powerful, server-gradesharpcompression engine to automatically sweep yourpublic/images/directory, detect your new high-res upload, and downsize its dimensions to a responsive web-standard 1100px width with progressive JPEG compression. - The Result: Your giant 12MB photo is instantly and invisibly shrunk to a light 400KB file in production, ensuring lightning-fast load times for your family and friends—completely automatically and 100% free of charge!
Tip: Keep your uploaded filenames unique, lowercase, and simple (e.g., my-florence-trip-01.jpg).
Step 2: Adding or Editing a Story
Stories live inside the folder src/content/stories/.
How to Add a New Story:
- Open the GitHub App, select your repository, and navigate to
src➔content➔stories. - Tap the
+(Add) icon in the top-right corner and choose “Create new file”. - Name the file: Give it a simple, lowercase name ending in
.md(e.g.,my-new-story.md). - Paste & fill the YAML frontmatter header:
--- title: "My New Story" date: 2026-09-29 type: "stories" author: "TJB" --- - Write your story narrative directly below the triple-dashed header.
- If this is a chapter inside a larger book (e.g. Kevin’s Story), add the
parentId: "kevins-story"line to the header to automatically link them. - Tap Commit to save directly to the
mainbranch.
How to Edit an Existing Story:
- In the GitHub App, go to
src/content/stories/and tap the story file you want to edit. - Tap the Edit (pencil icon).
- Modify your text or correct typos.
- Tap Commit!
Step 3: Adding or Editing a Poem
Poems live inside the folder src/content/poems/.
How to Add a New Poem:
- Open the GitHub App, select your repository, and navigate to
src➔content➔poems. - Tap the
+(Add) icon and choose “Create new file”. - Name your file ending in
.md(e.g.,my-autumn-poem.md). - Paste & fill the header:
--- title: "My Autumn Poem" date: 2026-09-29 type: "poems" author: "TJB" --- - Type your poem below.
- Formatting Tip: Markdown automatically collapses single line-breaks when converting to static pages. To ensure your poem stanzas remain separated on the reader screen, insert an entire blank line between each stanza block.
- Tap Commit!
Step 4: Adding or Editing a TimeLapse Stop
TimeLapse journals live inside the folder src/content/timelapses/.
How to Add/Edit a TimeLapse:
- Open the GitHub App, select your repository, and navigate to
src➔content➔timelapses. - Tap the
+(Add) icon to “Create new file” (or tap an existing timelapse stop file and select the pencil icon to edit). - Ensure the YAML header includes a title, date, and a brief description excerpt:
--- title: "Dublin, Italy & France 2026" date: 2026-03-24 type: "timelapses" excerpt: "A beautiful spring journey through Italy's historic landscapes and France's serene borders." --- - Inside the body, declare each chronological geographical stop using double-hash headings (
##), followed by the geocoded date and photo link:## Florence, Italy 24th March 2026 A spectacular walk along the Arno River at sunset.  - Tap Commit!
Step 5: Adding or Editing Technical Projects
Technical Projects live inside the folder src/content/projects/.
How to Add/Edit a Project:
- Navigate in the GitHub App to
src➔content➔projects. - Create a new markdown file or edit an existing one.
- Configure the requisite YAML header:
--- title: "My Custom Spreadsheet Tool" date: 2026-09-29 type: "projects" --- - Write the description of your system architecture below the header.
- To offer file downloads (such as Excel spreadsheets or custom macro sheet files), upload them to your repo’s
/public/downloads/folder using your phone or Mac, and link to them using standard Markdown:[Download the Tool](/downloads/my-tool.xlsm) - Tap Commit!
Step 6: Adding or Editing a Song
Songs live inside the folder src/content/songs/.
How to Add/Edit a Song:
- Navigate in the GitHub App to
src➔content➔songs. - Create a new file or edit an existing file.
- Configure the YAML header:
--- title: "The Autumn Breeze" date: 2026-09-29 type: "songs" author: "TJB" --- - Type the lyrics below the header.
- Tap Commit!
Step 7: Adding or Editing a DIY Photo Timeline
DIY projects live inside the folder src/content/diy/.
How to Add/Edit a DIY Gallery:
- Navigate in the GitHub App to
src➔content➔diy. - Create a new file or edit an existing file.
- Configure the YAML header:
--- title: "My Workshop Renovation" date: 2026-09-29 type: "diy" --- - DIY galleries display photos chronologically stacked vertically. Add headings for each construction step, accompanied by the images you uploaded to
public/images/:### Clearing the Workspace 25.09.2026 Here is the starting point.  - Tap Commit!
Step 8: Adding a Film YouTube Video to the Cinema Theatre
Films do not use Markdown. They are defined in a static Javascript array inside the cinema layout.
How to Add a Video to the Cinema Grid:
- Upload your video clip to YouTube and copy its 11-character Video ID (e.g. for
https://youtu.be/uCx3oN9jc94, the ID isuCx3oN9jc94). - Open the GitHub App, select your repository, and navigate to
src➔pages➔films.astro. - Tap the Edit (pencil icon).
- Scroll to the
videosarray near the top of the file (lines 4-40) and append a new structured video block:{ id: "uCx3oN9jc94", title: "Assessing Levels Speeds", description: "A short walk-through demonstrating levels progression." }, - Tap Commit to save!
Step 9: Requisite Assets & Folder Organization Summary
To prevent layout breaks, always ensure static files are uploaded or saved in the correct locations:
- Photos & Images: Upload to
public/images/. Filenames should be lowercase, unique, and hyphen-separated (e.g.,grand-canyon-2026.jpg). Reference them as/images/grand-canyon-2026.jpg. - Playable Videos: Upload to
public/videos/(must remain under 100 MB). Reference them as/videos/filename.mp4. - Spreadsheets & Downloads: Upload to
public/downloads/. Reference them as/downloads/my-sheet.xlsm.
Local Curation Alternative: The Mac Asset Manager
If you are on your laptop, you can completely bypass manual Markdown formatting by running your automated command-line curation assistant!
- Open your Mac’s Terminal in the project root.
- Run:
node asset-manager.js - This program will automatically compress massive mobile photos down to a fast web-standard 400KB, lookup physical GPS coordinates instantly via geocoding, transcode high-resolution videos, and pre-configure your markdown files automatically!
WordPress & Wix vs. Astro (Render) Architectural Comparison
This reference document outlines the technical, architectural, and migration workflows behind transitioning your family archives from legacy WordPress and Wix platforms into your newly engineered, Git-backed Astro static site hosted on Render.
Click on any of the sections below to expand and explore the engineering logs, system architecture, or maintenance guides:
Bypassing the Platforms: The Wix Escape & Asset Extraction
Wix is a notoriously closed, proprietary “walled-garden” platform. It provides zero native database backup formats, zero markdown exporters, and completely blocks users from downloading their uploaded media files in a bulk zip.
To liberate your travel archives and family chronicles from Wix, we engineered a custom static extraction pipeline:
1. Media CDN URL Scraping
While the Wix interface hides raw image file paths, Wix’s public servers are forced to serve assets to browsers via their global media CDN: static.wixstatic.com/media/.
- The Extraction: We scraped and parsed your Wix site sitemaps and XML page structures to extract the unique cryptographic filenames of your original uploads.
- The Download: We ran automated, high-speed
curldownloading loops to query the CDN directly, pulling down original, uncompressed JPEGs and PNGs in bulk, completely bypassing the Wix admin dashboard paywall.
2. Semantic HTML Translation
Wix pages are built using thousands of nested, absolutely positioned div tags with dynamic inline styles, making the raw HTML completely unreadable and incompatible with modern SEO.
- The Translation: We stripped away the dynamic Wix Javascript bloat, extracted the core text copy, and translated the absolute-positioned dynamic sections into semantic, lightweight Markdown content collections and responsive, modern CSS grid components.
Reclaiming DNS Authority: The WordPress Nameserver Transition
To launch your new website at bradyclan.co.uk without paying monthly WordPress hosting subscription fees, we had to systematically wrest DNS management away from WordPress.com and point it to Render.
1. The Legacy Nameserver Lock
Originally, the domain bradyclan.co.uk (purchased via registrar 123-reg) had its DNS Nameservers set to WordPress’s servers:
ns1.wordpress.comns2.wordpress.comns3.wordpress.com
This meant WordPress had absolute authority over your domain’s routing records, forcing any visitor of bradyclan.co.uk to load their slower, database-driven server page.
2. The Liberation Protocol
To safely transition without domain downtime:
- Restoring Registrar Authority: We logged into your domain registrar account at 123-reg and updated the Domain Nameserver settings. We deleted the three WordPress nameservers and restored authority to 123-reg’s default nameservers.
- Configuring Load-Balanced A Records: On the newly active 123-reg DNS dashboard, we configured custom static IP routing:
- A Record (Apex
@): Pointed to Render’s load-balanced global static IP216.24.57.1.
- A Record (Apex
- CNAME Subdomain Alignment: We set up subdomain routing to ensure full web-traffic coverage:
- CNAME Record (
www): Pointed directly tobradyclan-site.onrender.com..
- CNAME Record (
- Automatic SSL Handshake: Once global DNS servers propagated these updates, Render’s servers automatically executed a secure Let’s Encrypt validation handshake, enabling HTTPS lock safety on all modern browsers with zero configuration.
The Core Comparison: What You Have Gained & Swapped
The following table compares a Dynamic Database CMS (WordPress & Wix) with your new Modern Git-Backed Static Site (Astro on Render):
| Feature / Pillar | Legacy CMS (WordPress & Wix) | Astro + Render (Static Jamstack) |
|---|---|---|
| Page Loading Speed | Slower (2.5 – 5.0 seconds). Every time a user loads a page, the server has to query a database and assemble the HTML in real-time. | Instantaneous (0.05 seconds). Pages are pre-compiled and distributed globally on Render’s CDN. No database delays, completely instant. |
| Storage & Hosting Limits | Capped at 3 GB / Paywalled. Strictly limited storage space. Raw video file uploads are completely blocked or require expensive subscription upgrades. | 100% Free & Unlimited. GitHub and Render offer unlimited static storage. You can host all your raw, playable .mp4 video files completely free! |
| Security & Maintenance | High Vulnerability. WordPress is the most heavily targeted platform on Earth. Requires constant database patches, security upgrades, and plugin maintenance. | 100% Un-hackable. There is no live running database, code, or PHP servers to exploit. Your site is mathematically immune to hacking! |
| Creative Control (UX/UI) | Rigid Templates. Achieving bespoke layouts requires installing dozens of bloated, conflicting plugins that slow down page loads. | Bespoke Curation. Hand-crafted, custom-coded layouts. Designed exactly like a high-end, responsive “editorial book.” |
| Media Optimization | Automatic (but Server-Bloated). Resizes and duplicates files directly on their server, consuming your capped disk space. | Manual / Local Curation. Resizes and transcodes files locally on your Mac using your Asset Manager before pushing them live. |
What You Have Gained in Detail
1. Breathtaking Bespoke Curation (Ultimate UI/UX)
Your new website is completely bespoke and tailored precisely to your family archives. We have designed and engineered high-fidelity, interactive components that are entirely impossible to build in WordPress or Wix without paying expensive subscription fees:
- Bespoke Predictor Sub-Site: A complete athletic scoring software and historical tournament platform, engineered as a lightweight static app with custom error forms, macro workbooks, and Google Sheet integration!
- Lazy-Mount Accordion Grid Loads: Travel stops open with smooth CSS-grid animations, dynamically mounting image and video sources only when expanded—shrinking your page’s initial load weight from 500MB to a lightning-fast 0 MB on startup!
- Cinema YouTube Theatre Grid: A stunning cinematic preview grid featuring high-resolution previews and fullscreen responsive lightbox modal overlays.
- Seamless Lightbox Modal: Fullscreen photo and video viewing equipped with smooth touch navigation, keyboard arrow controls, and live geocoded captions.
2. Unlimited High-Definition Media Archive
While WordPress and Wix cap your storage and block you from uploading raw video clips unless you upgrade, your new Astro site offers unlimited, free storage for your archives. You can upload gigabytes of playable .mp4 video clips and optimized JPEGs without ever hitting a limit or receiving a bill.
3. Absolute Security, Integrity & Longevity
A WordPress site left unmaintained for six months will inevitably accumulate spam, break due to core updates, or get hacked. Because Astro compiles your site into pure static HTML and CSS:
- There is no active database or server-side PHP code to exploit.
- The website is completely maintenance-free. You can walk away from this website for ten years, and it will remain 100% live, fully functional, and completely secure on Render, costing you nothing.
What You Have Swapped in Detail
1. Local Curation Workflow
Because a static site does not run a server-side database to compress and process files, media files must be curated locally before they are pushed live. This local curation step is exactly why we built your bespoke Curation Asset Manager (asset-manager.js)!
The Asset Manager serves as your private, local control center:
- Auto-Downsizing Engine: Automatically scans and compresses giant 12MB smartphone JPEGs down to a crisp, high-definition 400KB width using macOS’s native
sipsutility on startup. - Universal Geocoder: Resolves physical GPS coordinates instantly using OpenStreetMap Nominatim to display towns, cities, and countries, automatically pre-populating suggested filenames and timeline dropdowns.
- On-Demand Video Optimizer: Provides an interactive button to downscale heavy 4K or non-standard HEVC videos to web-compliant, smoothly playable 1080p H.264 formats on disk.
- Spacious Annotation Textareas: Vertical-resizable text areas to comfortably write and edit detailed travel stories or poem descriptions.
- Multi-Collection Curation: Automatically sweeps and maps reference links into your Timelapses, DIY, Stories, Projects, Songs, and Poems Markdown files.
2. The Git Push Cycle
To make your curated local changes live to the world, you execute a quick Git Sync:
- Add and commit your local changes:
git add . && git commit -m "Curate files" - Push to GitHub using your secure SSH keys:
GIT_SSH_COMMAND="ssh" git push origin main - Render automatically detects the push, recompiles the site, and deploys it live to
bradyclan.co.ukin under 30 seconds.
