Codex

Who I Am

If you haven’t perused the About page, I grew up in the heart of Middle America and believe in the American Dream, baseball is the national pastime, and that telling stories matters. I write fiction and essays here, mostly at night, and, by day, help folks reimagine my own technology dreams.

The Great Alfred Bigelow and Floppy Disks

I wrote this incredible piece about Alfred Bigelow and the voyage of the Golden Rule. This was for an English assignment at the University of Missouri Columbia (one of my first honor’s classes). In the splinter of my own mind, the story I tell myself, this remains a work of dramatic proportions. It might be the best college essay devised—Pulitzer-worthy work.

Yet, I lost it on a floppy disk. Sigh.

I explained this to my kid, but he didn't follow the concept of college computer labs. Do you remember? Go to the building, take a number, wait for a spot to free up, and write for an hour. Because they limit time, this became my Pomodoro Technique to crank out a draft. About every third week, a cute virus would show up on disk, threatening my work. I’d cross my fingers, sometimes the computer gods shined down upon me.

These were the glory days of writing.

But I also lost more than enough work, which is why I chose WordPress for articles. Give the platform credit, I wrote my first post nearly fifteen ago, and it’s never left me. That being said there have been issues. If I publish on WordPress, where is the canonical version? The version on my laptop? A text file hiding out somewhere on a cloud-service? The news media struggles with this problem too, leading to rewriting history claims. It’s so tempting to change an opinion piece if you’re on the wrong side of history.

This along with the recent infighting and court battles bubbling in the WordPress community, I started to wonder what would happen if those articles were lost. My travel tips on Europe aren’t important to everyone, I know. However, they are important to me.

Charta Technology Overview

So I built a content management system (CMS). Well, it’s more of a local-first, analysis-aware, publishing-grade Narrative Generation Engine (NGE). I conjured this term but it’s a pipeline for articles that produces full-on, pure, hyper performing static pages. These are built from templates and published as plain HTML, CSS, and a small amount of necessary JavaScript. Content is written in Markdown and rendered with a templating system via Python. The site is deployed to a host (pick your favorite, it’s completely portable) and globally cached by a content delivery network (CDN).

There’s no database, login, or analytics scripts.

Ultimately, I tried to make this particular site feel great on any device: responsive from phone to desktop and a clean navigation (an animated menu on mobile and an expandable book preview engine; I really hate the Amazon version). For longer reads, you’ll notice extras: smooth scrolling, an optional footnotes and changelog panel, a table of contents, and a reading progress bar. This is a labor of unapologetic, imperfect love. I really did try. I’m sure I’ll have many tweaks coming after feedback and iteration. So no, it will never be perfect, but this will always be mine.

Why The Name?

I wrote early drafts of the Day Life Breaks in the late 1990s. Published years later, this is not my finest work, as most of my posts can relate this remains somewhat unfished. But I wrote this scene on the founder of a fledgling company, Elliot, describing a software product in detail. An impassionaed speech, I find these chapters make the book. Yet, Elliot’s vision and my own are very different. The character described more of a 1990’s CMS where the hardware would eventually catch-up, leveraging, rather relying upon Moore’s Law. Mine is more about returning to the static roots of the internet while using the compute power on a laptop with python to sync the world togther down to the punctuation.

Migration Work, Changes Remain In Progress

Once the pipeline, bones were completed, I began a process to shed my work from the current CMS. Yes, WordPress advertises itself as portable—not so fast, turns out it’s portable if you stay within that ecosystem. So using AI, I built a migration tool from the WordPress XML export.

The application parsed it. Stripped out Gutenberg blocks, shortcodes, scripts, inline styles, and HTML oddness. Preserved what matters—links, bold, italics, lists, block quotes, and inline code. Each post became a standalone Markdown file with YAML front matter.

A different custom script rewrote the WordPress URLs to match the a new structure. Posts became articles. Categories became tags. Everything maps into the Charta framework. I ran it on 300+ posts. Took less than a handful of minutes. Not perfect, there were more than a few edge cases, but this beat manual copy-paste. Then, I leveraged an AI model to adjust and fine tune anything missing.

In the end, it’s all about plain text that will probably need tweaking in the weeks and months and years ahead. But for now, consider this the official change-log for any high-level, non-editorial changes.

A Love of Typography

I choose type the way someone might choose a good pen. It’s dependable but doesn’t get in the word’s way. The site tone and design I’d consider is book‑first, with a certain homage to traditional printing presses. Growing up, I rode my Ross 10-Speed down Main Street pass the local paper; the ink bled and machine rivets roared twice weekly. I still wish it was there. I cherish those memories.

Also, I’m an IBMer at heart; I worked here during what I’d call my formidable years. Some companies have leadership principles; others built, truly live, the concept. You see, Thomas Watson said it best, somewhat paraphrased, “IBM’s greatest invention wasn’t a technology, it was the IBMer.” And I believe this to my core, and, at times, I’m embarrassed at the current state of the industry. But I remain hopeful.

So I built this site as a nod to technology, but also to an ethos, the nostalgia, that defines what that technology should be. Something to further your own universe, not pilfer other’s pockets. I suppose it’s fitting I chose these fonts:

I believe all three blend together nicely; yes, I know it’s not entirely perfection. CSS is a challenge. Code is more chore than poetry here. I tried to keep columns narrow (about 60–75 characters per line) so paragraphs breathe. The palette leans ink‑on‑paper—quiet backgrounds, crisp text, and images treated like black and white photographs. Grant, they are used sparinlgy. The goal is to be reading first that’s fast to load, easy to track. Dark mode was my original intent but there is an option as it doesn’t work for everyone.

I hope all that talking about typeface follows. I had a vision. Hopefully, you’ll appreciate it.

Open Source

This site stands on the shoulders of excellent open‑source projects. I’m grateful to the communities and maintainers who build tools that make independent publishing possible:

Each of these projects are freely available, maintained by volunteers and companies who believe in sharing knowledge. If you try to roll your own version of Charta, I encourage you to acknowledge the tools that helped you—please contribute back when you can.

Smart Quotes

I’m a typography geek; I gravitate to smart quotes. It’s actually kind of hard maintaining in python environments—unicode breaks the application if I place a curvy in the wrong spot. So I have to think one way when writing and another while coding. Did I tell you I built a python script to find the straight vs curvy?

Information Collected

The Charta NGE was designed as privacy-fist.

Algorithmic Core

Did I tell you I don’t track your data? But I do run analytics on every word I write. The system reads meaning, not just keywords. Text embeddings capture context. Tags roll up into gravity scores that combine frequency, recency, and distribution patterns. Want to know what you actually write about over time? I can do that with Charta: sentence length, lexical density, rhetoric markers. If I can dream it, I can analyze it.

Even the search runs offline. No server. No tracking. A modified BM25 index ships as JSON and handles any client-side queries. Fast. Private. Portable.

About Those Pictures

My WordPress media library evolved into a mess. I used to be a camera geek, changeable Cannon lenses. I burst. Every single post on my old site contains a picture taken by my own hand; my site served as a photo library and writing spot. For this migration, I stripped out all images. Why? Well, this site contains over 200,000 plus words; however, it’s a small number compared to my broader work. Long-form fiction is about managing the full opus, which is plentiful, and my photography hobby waned with smart phone adoption.

That doesn’t mean I won’t use images, some posts simply need them. But I wanted to take that approach instead of tossing pictures out there without being part of the narrative. The design is more newspaper than anything.

GDPR and California (CCPA/CPRA)

I don’t sell personal data or use it for any targeted advertising. If you subscribe to the newsletter, Substack is the processor for that data. Again, you can unsubscribe at any time and exercise access/deletion rights through their platform. EU/UK/California users generally have the right to access, correct, or delete personal data, and to object or limit processing; given this site’s minimal footprint, there’s nothing stored beyond transient server logs and an optional newsletter email address. If you reach out, the net is there isn’t anything to tell you.

All site content © J. Scott Bradley. Please don’t reproduce material without permission. Short quotations with a link back are welcome, but I’d appreciate you letting me know or give me a heads up before doing so.

Changelog

Initial migration date is November 18th, 2025.

Underwood 5 Stories