Skip to content

What's new

A running log of how gregsargent.com was built, version by version.

  1. v1.33.0October 2026
    • New
      Motion across the sitePages move as you read them. Headlines reveal word by word, case study covers settle into place as you scroll, the home page photo drifts with a little depth, card rows stagger in, and the performance steps on the leadership page play out as a pinned story.
    • New
      Numbers that countStats count up as they scroll into view, and case studies can now carry a row of them, so the figures behind Verdant, the agentic platform and the design system sit at a glance instead of buried in a paragraph. The About page has a row of its own under the timeline.
    • New
      Motion in the design systemA shared sliding indicator for tabs, segmented controls, pagination and the navbar, entrances that stagger, a word-by-word text reveal, a counting number, scroll hooks for parallax and scale, and a pinned scroll-story block. Every piece respects reduced motion and stays fully visible in the prerendered page.
    • Improved
      Polish on every componentDialogs, popovers, tooltips and menus animate closed as well as open, the bottom sheet springs and drags to dismiss, switches and checkboxes spring into place, and every timing now comes from the same small set of motion tokens.
    • Fixed
      No blank flash on first loadA page opened directly no longer blanks and fades back in while the app starts. Captions in case studies and the navbar links over a colored header now clear AA contrast.
    • Improved
      Morning Watch stories by air dateMorning Watch stories are written for the day an episode airs, not the day they were built, so a story built the night before no longer says “tomorrow” about something happening on air day.
  2. v1.32.0October 2026
    • New
      A landing page for the visual language/visual-language now opens on an overview of how the site looks and feels: live counts of what’s in the system, a type and hue specimen, the eight principles behind the design, and a card for each area of the library. The style guide keeps its own page.
    • Improved
      Spots take the color of the card they sit onA spot illustration on a hue card now fills with that card’s hue instead of coral, solved to at least 3:1 against the card in both themes, and the spots page can preview any spot on any hue.
    • Improved
      The changelog is in searchSearching “changelog”, “release notes” or “what’s new” finds this page, and every release is indexed on its own, so searching a version number lands on that release.
    • Improved
      Sturdier blocksButtons that link inside the site change pages without a reload. Cards01 fits its columns to the space it has and can carry a spot, an entrance and a lift on hover, Hero01 works in a column beside a sidebar, Stats01 holds its rules when it wraps, and Principles01 caps its paragraphs at 60ch.
  3. v1.31.2October 2026
    • Fixed
      Morning Watch turns no longer end on a breathEach voice was given the next speaker’s line as context, which made ElevenLabs read a turn as unfinished and end it on a breath in, cut off right before a handoff or the next story. The audio build now sends only the previous line. On the hand-backs that showed it worst, clipped breaths went from 16 of 28 takes to none.
  4. v1.31.1October 2026
    • Fixed
      Missed days read the right day and keep their jobsThe planner now decides what has passed by the show’s Central day, not the browser’s, so a plan for today no longer turns Missed after local midnight. A past day stays neutral until the published episodes have loaded instead of flashing Missed. A Missed day shows a job that is still queued, running or failed, with Cancel and the error, and the runner refuses any job dated before today, so a missed day can never publish under the number the planner shows for a later one.
  5. v1.31.0October 2026
    • Improved
      Missed days in the Morning Watch plannerA past weekday with stories planned but no published episode now shows as Missed, with its stories still in their slots so they can be dragged onto today or a later day, or sent back to Sources. Planned episode numbers skip those days, so a missed day no longer bumps the numbers after it.
  6. v1.30.0October 2026
    • New
      Morning Watch downloads over timeThe podcast stats page has a chart of downloads by day, week or month, with a line for the total and one each for the three biggest sources. Days follow Central time, weeks start on Sunday, and the period still in progress is drawn dashed. Each listener now counts once per episode per Central day, not per UTC day.
    • Improved
      Better podcast app detectionApple’s episode checker, Apple Watch re-downloads, directory crawlers and the Spotify and Overcast cache fetches now count as bots instead of listeners. Tesla, Castbox, Amazon Music, AntennaPod, Player FM, Podbean, Podcast Republic and Google get their own sources, and each download keeps its user agent for 35 days so the rest of “Other apps” can be traced.
    • New
      Gaps and partial periods in TimeSeriesChartA missing value now breaks the line instead of reading as zero, a lone point between gaps gets a small dot, and partialLast dashes the segment into a period that isn’t over yet. Both have demos on /visual-language.
    • New
      Stake callings in the bishopric appWard members with a stake calling no longer show as having no calling. The callings sync reads the stake callings export and files them under a read-only Stake organization at the end of the roster, and the planner, New calling and Consider leave stake positions out.
    • New
      Ward directory photos on avatarsEvery person avatar in the bishopric app shows the member’s ward directory photo when there is one. A photo sync matches the directory export to members by name, holds ambiguous matches for a decision, and lets a hand-made link settle a photo two members both claim.
    • New
      A status for visitor speakersA visiting speaker has no invitation, so there was no way to track whether they’d been asked. Their talk now takes a status from the same list as a member’s invitation, shown on the row as Visitor · Invited.
    • New
      Quick add on TasksTasks has the floating quick-add button, so a new task is one tap away.
    • Improved
      Meeting details on the programThe meeting-level controls (theme, minutes for talks, organist, music conductor) sit in a Meeting details card at the top of the program instead of a sheet. Kind of Sunday is now Meeting type everywhere, chosen from its own sheet with Reset to template inside it.
    • Improved
      People’s sorts and filters in one rowLast talk and Last prayer are sort chips next to A to Z, ahead of the filters, in a new ChipRow that keeps chips on one line and folds the rest into a +N popover on a phone. Search is a button in the top bar, matching Today’s, and the No talk in a year chip is gone.
    • Improved
      Sundays through 2027The Sundays strip runs from the coming Sunday through the end of 2027 instead of six weeks out, and a Sunday outside the current year shows its year.
    • Improved
      The member picker remembersThe member picker keeps its filters and sort between openings.
    • Improved
      App version in SettingsThe bottom of Settings shows the app version and, on deployed builds, the short commit, so a bug report can say which build it came from.
    • Improved
      Any link as a story builder sourcePasting a link into the story builder fetches the article, or a YouTube transcript, summarizes it and saves it as a research source. A fetch that fails offers to paste the text instead.
    • Improved
      No more conducting scriptThe Conducting script link under the program and its screen are gone. Releases and sustainings still show on the program, the printed program and the planner, and an old script link opens Sundays.
  7. v1.29.0October 2026
    • New
      Sort People by last talk or prayerA sort menu above the People list orders it A to Z, by longest since a member’s last talk, or by longest since their last prayer. The date sorts put anyone who has never spoken or prayed at the top and the most recent at the bottom, and each row shows the date the list is sorted by.
    • New
      An Adults filterPeople has an Adults filter beside Youth in the filter popover. Turning one on turns the other off, since both together would match nobody.
    • Improved
      No stray focus rings on a phoneOpening a sheet moved focus to its first button, and iOS drew a focus ring around it as if a keyboard were in use. Focus rings are now hidden on touch-first devices and still show for keyboard users on a laptop or desktop.
  8. v1.28.0October 2026
    • Improved
      A steeple instead of a crossThe bishopric app’s home-screen icon and its Church icon now top the meetinghouse with a plain steeple, the spire on our chapels, in place of the cross. It’s a custom glyph in the icon registry, built from Phosphor’s Church in every weight.
    • Fixed
      The bishopric tab bar stays at the bottomOn a tablet or desktop the bishopric app’s tabs no longer move away from the bottom of the screen. TabBar takes placement="bottom" to stay a bottom bar at every width, with the tabs centered past a phone.
  9. v1.27.0October 2026
    • New
      AppHeaderA top bar for the bishopric app: a 44px row with a back link on the left and actions on the right, then the 34px large title, an optional subtitle and a slot for a segmented control, search field or chip strip. The row is there even when it’s empty, so the title sits at the same height on every screen. It’s on /visual-language with live demos.
    • Improved
      One header across the bishopric appEvery screen in the bishopric app now uses AppHeader, so the five tabs and the screens under them share one layout. Actions sit above the title on a phone instead of dropping below it, the title is 34px at every width, Sundays and Callings lose their trailing periods, and back links change screens without reloading the page.
    • Fixed
      The right name for who’s conductingA released counselor whose old roster entry still held the role could show as conducting on a Sunday. The lookup now matches the exact person first, then whoever currently holds the role, and the admin planner skips released entries too.
  10. v1.26.0October 2026
    • New
      Set member status from the profileA member’s profile in the bishopric app has Set status in its More actions menu, which opens a sheet with Active, Restricted and Inactive and what each one means. A member who isn’t Active shows that status as a badge on their profile.
    • New
      Available, Inactive and Restricted filters on PeoplePeople in the bishopric app gains an Available filter, first in the row, that shows only Active members who haven’t moved, and Inactive and Restricted filters that sit with Moved and Youth in a filter popover, so the row fits on one line on a phone. Available and the status filters switch each other off.
    • Improved
      Edit Sundays right on the programThe Sunday program no longer has a separate Edit screen. Tap a row to open its sheet, which now ends with Remove; swipe a block to remove it; hold one to move it within its section; and add blocks from the Add button at the end of each section. The date heading reads just “October 18”, the Theme, Presiding and Conducting line under it is gone, and the Presiding authority row opens Meeting details, which holds the kind of Sunday, Reset, the theme, who conducts and presides, minutes for talks, and the organist and music conductor.
    • New
      Hold-to-reorder on tappable rowsSortableList can lift a row that is itself a button after a press and hold, while a quick tap still opens it. It can also ignore presses from a list nested inside a row, and hide its grip, which still shows when it has keyboard focus so Tab and Space keep working. All three are off unless a list turns them on.
    • Fixed
      Sunday sheets padded onceThe member picker, hymn, block, slot and field sheets on Sundays no longer add their own padding on top of the sheet’s, so their search, chips and rows line up with the sheet header, and the picker’s filter chips scroll all the way to the sheet’s edges.
  11. v1.25.0October 2026
    • New
      Member statusEvery ward member in the bishopric app is Active, Restricted or Inactive. Active members can be asked for talks, prayers, callings and assignments, Restricted members only for assignments, and Inactive members for nothing, so the pickers only list people it makes sense to ask. The talk and prayer eligibility settings still apply on top, so someone who asked not to speak stays out of the talk picker even while Active. Status is set from the back office or a command-line script, and the roster sync from LCR never changes it.
    • New
      Inactive toggle and new People filtersThe back-office People table has an Inactive column with a button that marks a member inactive and, clicked again, active. The filter panel can narrow the list to Inactive or Restricted members, and to people who asked not to give talks or prayers.
    • New
      Eligibility on the member profileA member’s profile in the bishopric app has switches for whether they can be asked to give a talk or a prayer, so that no longer needs the back office.
    • New
      Special musical numbersThe Sunday program has an "Add special musical number" row under "Add a speaker". The performer can be a member or a group, and it takes no time from the speaker budget.
  12. v1.24.0October 2026
    • New
      Resizable table columnsThe Table block can let you drag the edge between two columns to resize them, or tab to the edge and use the arrow keys. The column on the right gives up the space, so the table stays the same width, and with a persistKey the widths come back after a reload. It is off until a table turns it on.
  13. v1.23.1October 2026
    • Fixed
      Pages left open across a deployA tab opened before the site was updated used to show "Something broke." the next time it moved to a page it had not loaded yet, because that page's code had been replaced. It now reloads itself once and lands on the page you asked for. If the reload still can't load it, the error screen shows as before.
    • Improved
      Lint passes cleanlyEvery lint error is fixed in the code rather than switched off, which also cleans up how the bookings calendar, the booking wizard, article ratings and the story planner reset their data when you move between days, months, articles or drafts.
  14. v1.23.0October 2026
    • New
      Morning Watch jobs on every admin pageA Process or Build started on the planner now shows in a panel at the bottom of every admin page until it finishes. During a Build it counts the turns synthesized and the ElevenLabs credits spent so far. A published episode gets a Play episode button that opens it in the admin player, and a failed job shows the error and a Retry, which asks first before spending credits on a Build.
    • Improved
      More stories in a dayA day in the planner can hold any number of secondary stories and creator spotlights, and both can be moved up and down in the rundown. The status on each day is shorter, so it fits the month view at a laptop width.
    • New
      Docked status panelA new block for work that takes a while: a card at the bottom of the screen that looks like a toast but stays up, with a progress bar while the work runs and a Retry or a link to the result when it ends.
    • Improved
      Visual languageThirteen components that had no page in the library now have one, including Combobox, Stat, Tag, Tab Bar and the barcode scanner, and a test fails when a new component or block lands without one.
  15. v1.22.0October 2026
    • Improved
      Morning Watch story builderThe source list has a search box, and a history or youth search can be pointed at a different day than the story’s own. A research search pops when it finishes, and Greg’s Mac chimes when the runner finishes or fails an outline or a build.
    • Improved
      ElevenLabs credits on the plannerThe credits on the planner have a refresh button, and they now load when the site runs locally too.
    • Fixed
      Eric’s breath at the end of a segmentEric no longer breathes in at the end of a story, just before the sting. ElevenLabs sometimes ends his “Thanks, Kimberly” with most of a second of silence and then the start of an inhale. That breath was louder than the trailing-breath cut allowed, so it stayed in. After a silence that long, a louder breath now gets cut too.
  16. v1.21.0October 2026
    • New
      Run Morning Watch from the feedA button in the corner of the Morning Watch feed runs /morning-watch, which fetches new videos, summarizes them and publishes them to the feed. Clicking it opens it into a label that follows the run through syncing sources, fetching, summarizing, verifying and publishing, then says Done for five seconds and closes again, with the feed already reloaded. A failure closes it at once and leaves a message saying which step broke until Greg dismisses it. It only appears when the site is running locally, because the run has to happen on Greg’s Mac.
    • Improved
      Marking a video readHovering over a video in the feed shows a check button that marks it read and moves it to Read without opening the video.
    • Improved
      FABGiving a FAB a label, changing it or taking it away now animates: the button grows into a pill, resizes to fit and fades the new text in, so a FAB can show progress. Tooltip gains a disabled option, so a FAB can switch its tooltip off without being rebuilt and cutting the animation short.
  17. v1.20.1October 2026
    • Fixed
      No zoom on form fieldsiPhone Safari no longer zooms the page when a form field takes focus. Every editable field in the design system, the blocks, the admin and the bishopric app now sets its text at 16px or larger, including the small Input and the Select, Combobox, DatePicker and TimePicker triggers.
  18. v1.20.0October 2026
    • New
      TodayThe bishopric app’s home screen is now Today. Needs you puts the user’s tasks next to the calling steps waiting on them, hides anything they’ve snoozed, and search covers people, callings and the tasks they can see. Quick add starts a to-do, an assignment or an invitation to speak or pray from anywhere on the screen.
    • New
      PeoplePeople lists every member A to Z by surname with a jump index, search, and filters for no calling, not spoken in a year, youth and moved. A long press on a row invites the member to speak or pray, considers them for a calling or adds a to-do. The member profile shows their calling and household, call, text and invite shortcuts, talk and prayer history with minutes, calling history with tenure, and notes that can be shared or kept private.
    • New
      SundaysSundays shows a strip of upcoming meetings, each program built from blocks with a block sheet, a hymn sheet and a member picker that lists free members before booked ones. A block can’t change kind, be reset or be removed while someone is on it. Each Sunday has a read-only conducting script, and the program prints or shares as a PDF through the system sheet.
    • New
      CallingsCallings tracks each change through its stages, with stage filter chips, swipe to mark a calling extended and a New calling sheet. Calling detail lists every step with its date and assignee, the roster groups callings by organization in cards with search and filters, and the planner places available people, saves a private draft and sends it to the pipeline, sinking anyone who recently declined.
    • New
      TasksTasks groups to-dos by overdue, this week, later, no date, snoozed and done today. A swipe snoozes a task until tomorrow or for a week, and a delete waits for its Undo toast to close before it’s written. Assignments, projects and task detail are here too, with an assign sheet for handing work to the rest of the bishopric.
    • New
      Settings and the Bishopric teamSettings shows who is signed in with their access level, the ward name, appearance and sign out. The Bishopric team page, open to Greg and the Bishop, shows one card per person with their calling, access level and what it allows, and adds, changes and releases people. Each bishopric user can be linked to their member record, so a nudge to them can use the member’s phone number.
    • New
      Hymn listHymn picking uses a built-in list of all 341 hymns in the 1985 Hymns and the 82 released so far from Hymns: For Home and Church, each checked against Gospel Library, and a hymn can still be typed in by hand.
    • New
      Accordion card variantAccordion takes variant="card", one surface card per item at the section radius, used for the Callings roster and the Bishopric team. It’s demoed on the visual-language Accordion page.
    • Improved
      TabBar breakpointTabBar now switches to its inline top bar at the --md breakpoint (768px) instead of a raw 720px query, so between 720px and 767px it stays a bottom bar, in /music as well as the bishopric app.
    • Fixed
      SortableList move buttonsSortableList shows its Move up and Move down buttons on keyboard focus only, so a tap on a button inside a row is no longer lost to the layout shift.
    • Improved
      Bishopric rulesTwo rule changes are live. Snooze is kept per person on each task, and any update to a task can change only the writer’s own snooze date. A bishopric user can also set the link from their own account to their member record.
  19. v1.19.0October 2026
    • New
      SwipeRow and SortableListTwo gesture components join the design system. SwipeRow reveals actions behind any row, snaps open, commits its main action on a full swipe and keeps one row open at a time, with a menu for anyone not swiping. SortableList reorders a list by its drag handle or a long press, with a keyboard pick-up, Move up and Move down buttons, rows that stay locked in place, and an announcement for every move.
    • New
      NavBar and DockedPanel01NavBar is the 44px bar at the top of a modal screen or sheet, with a leading action, a centered title that stays centered however wide the actions are, and a trailing primary action. DockedPanel01 is a new block: a panel docked to the bottom edge that leaves the page above it fully usable, with an optional grabber that collapses it to its header.
    • Improved
      Extended componentsBadge takes status tones and all six hues, Avatar has a placeholder, SegmentedControl can fill its row, Switch and Checkbox pass through their aria props, and ProgressBar can render a single inline bar. BottomSheet gets NavBar header actions and a footer, ItemGroup an inset look with a header and footer, and toasts an Undo action (from ToastHost or useToast), an icon toggle and a bottom offset that clears a tab bar. Stepper01 can run vertically, ActivityFeed01 shows avatars, quotes and status-colored dots, and RadioCardGroup and CheckboxCard add a row look and a scrolling layout.
    • New
      40 new iconsForty icons for the bishopric app, each in the icon registry with its weight, category and tags, so they show up at /visual-language/icons.
    • New
      Radius and type tokensTwo radius tokens for app chrome, 28px for grouped sections and app cards and 20px for the rows and tiles inside them, while website cards keep the 40px card radius. A seven-step set of type tokens covers the bishopric app’s chrome. Both are on the Shape and Typography pages.
    • Improved
      Secondary buttonsSecondary buttons across the site now have a gray tonal fill that reads on the page, on a gray card and inside a colored surface alike, where the old fill disappeared. Hover and press step the tint darker, every button variant gets a visible focus ring, and the hero over a photo keeps its buttons legible on the dark image.
    • Improved
      AlphabetIndexThe A to Z fast-scroll strip from /music is now a library component, with its own label and letter set, and /music uses the library version.
    • Improved
      Moved ward membersSomeone who leaves the ward is now marked as moved instead of deleted. They drop out of the talk and prayer pool, the member pickers, assignee suggestions and the People list’s default view, while their history stays intact, and their profile lists any calling, invitation or task they still hold so the bishopric can release or reassign it. Marking someone as returned brings them back, and deleting is kept for a member added by mistake with no history.
  20. v1.18.0October 2026
    • New
      Bishopric appbishopric.gregsargent.com is now a home-screen web app for the whole bishopric, built from this site as a second entry with its own manifest, icons and offline shell. It walks a Safari visitor through adding it to the home screen, signs in with Google, and lets in only the people on the approved list, each with an access level that comes from their calling. The home screen is a placeholder for now.
    • New
      Approved list and releasesA new Bishopric page in the admin lists everyone on the approved list with their calling and last sign-in. Greg adds people, shares the app link through Messages, and releases someone in one step: they come off the list, their private notes, drafts and to-dos are deleted, tasks they handed out pass to the highest-ranking remaining member, and their sign-in is removed. A release that fails partway finishes on the next try.
    • New
      Bishopric rules and dataThe bishopric data has its own Firestore rules, tested against the emulator, with private notes, drafts and tasks nobody else can read and activity logs that can only be added to. A one-time migration moves the existing people, programs and tasks onto the new collections, and People, Planner and Tasks wait behind a notice until it has run.
    • Improved
      People, Planner and TasksPeople shows birthdays, households, current callings and talk, prayer and assignment history, with notes Greg keeps to himself or shares. Planner builds each meeting from program blocks, with talk minutes against the speaker budget and releases and sustainings drawn from calling changes. Tasks adds assignees, kinds and project tasks the whole bishopric can see.
  21. v1.17.0October 2026
    • New
      Morning Watch episodes from the plannerProcess and Build on the planner now make an episode. A second runner on Greg’s Mac puts the day’s built stories together into one script, with Claude writing only the cold open’s teases and the sign-off, and Build voices that exact script and publishes it from a clean copy of the site, so it works whatever branch Greg has checked out. Every check publishing would make runs before any ElevenLabs credits are spent. Kimberly voices main and secondary news, Ivanna the spotlight, Jules youth and Come Follow Me, and Dean the history feature.
    • New
      Runner switchA button in the corner of the story builder and the planner turns each runner on or off. Off lets the job in hand finish and then stops taking new ones, without stopping the process, so turning it back on works from any device. Running locally, turning on a runner that isn’t running starts it. FAB joins the design system, with icon-only and labeled versions, three sizes and a toggle state.
    • New
      Starting a story from nothingAn empty story in the story builder can now search for Church history events on its date, or for the week’s youth class focus from For the Strength of Youth, and start from what it finds. History results are kept only when the answer itself places the event on that day.
    • Improved
      PlannerClicking a placed story opens its script in a drawer. The ElevenLabs credits bar now shows the live balance from ElevenLabs, with what’s left and when it resets, instead of an estimate from the episodes in view. Placed stories leave the sources list and move between slots by dragging.
    • Fixed
      Youth focus formThe form for the week’s youth focus no longer runs past the right edge of its popover.
  22. v1.16.0October 2026
    • New
      Morning Watch story builderA new admin page turns Morning Watch items into original stories. Greg drags in every source that covers an event and picks the segment it’s for, and a runner on his Mac writes an outline, three angles to choose from, and a script that names its source up front and ends on the speaker’s takeaway. It can also search for more coverage or background on the people involved. Building a story moves its sources from Feed to Read.
    • New
      Morning Watch plannerA weekday calendar where each episode has a slot for every segment: the history feature, main news, up to three secondary stories, a creator spotlight, the youth lesson and Come Follow Me. Stories from the story builder drop into slots by dragging or with Add to…, and each day shows its estimated runtime and ElevenLabs credits against the 20 to 25 minute target. A rundown lays out the episode in order, and Process and Build queue the work for Greg’s Mac.
    • New
      Morning Watch source preferencesThe YouTube channels and RSS feeds the show listens to are now picked in the story builder, where a source can be turned off, added or removed. The daily run syncs that list before it fetches anything.
    • Improved
      Morning Watch theme musicThe theme now plays under the whole cold open and into the first story, and the sting between stories comes in under the last few seconds of a story instead of starting the instant the voice stops.
  23. v1.15.0September 2026
    • Improved
      SearchThe search button in the navbar and the Search link in the phone menu now open the ⌘K command palette, the same one the keyboard shortcut opens, instead of a full-screen search page. Hovering the button shows the shortcut.
    • New
      Command paletteThe palette opens on your recent picks, the latest article, and featured work, and it can now get in touch, switch the theme, copy a link to the page, and copy the Morning Watch feed. Results show dates, reading times and each project’s color, with the words you typed in bold, and on a wide screen a pane beside the list previews the highlighted result.
    • Improved
      Command palette on phonesOn a phone the palette sits at the top of the screen, full width, so results stay above the keyboard. It has a close button and taller rows, and it drops the keyboard hints that don’t apply to touch.
  24. v1.14.1September 2026
    • Fixed
      Page transitionsMoving between pages no longer flashes the footer. The current page stays on screen until the next one is ready, then hands off to it, instead of leaving an empty gap for about 300ms.
  25. v1.14.0September 2026
    • New
      Reading and record shelvesThe About page shows the four books Greg is reading as covers on their own shelf, below the latest vinyl, and colored pressings like Dandelion on white and Cloud 9 on pink draw in their real colors. Bookshelf and Record shelf join the blocks, with a linked prop that turns the title links and hover motion off without removing the hrefs.
    • New
      Homebase case studyA new portfolio entry covers g and Homebase, a local AI system running on hardware in Greg's house: a terminal agent, a personal memory, an offline knowledge corpus and a Slack bot.
    • Improved
      Style guideThe visual language opens with a hero and gives colors, typography, icons, spots, shape, motion, components and blocks each a section with a live preview. Typography, shape and motion get their own pages, the blocks index shows wireframe sketches by category, and a new architecture group covers messaging, the wizard, search, and prerendering and SEO.
  26. v1.13.0September 2026
    • New
      Color systemEvery color on the site now comes from one token source that generates both themes, with 12-step scales for six categorical hues, the neutrals and the status colors. Colored cards and headers carry their own text colors, and every color pairing is tested against WCAG AA in light and dark mode. The full system is documented at /visual-language/colors.
    • Fixed
      Dark modePortfolio cards and case-study headers no longer show white text on a light pastel in dark mode, the navbar and browser toolbar take the color of the header behind them, and the few components that ignored a theme chosen by hand now follow it.
    • New
      Icon libraryEvery icon takes named sizes, weights, color tokens, a two-tone color and an accessible label, and /visual-language/icons is rebuilt with search, categories, a live playground and a detail drawer for each icon.
    • Improved
      Spot illustrationsThe spots flagged in review are redrawn to the new art direction, the standard works are drawn as their Gospel Library covers, and spots can now be blue, green or peach. The spots page gets the same search and controls as the icons page.
    • Improved
      Morning Watch pageThe Morning Watch page introduces the five-voice cast and the sources the show draws on, and hovering the audio scrubber shows the title of the chapter under the pointer.
    • Improved
      Home page headlineThe home page now leads with "Design systems & accessibility leader".
  27. v1.12.0September 2026
    • Improved
      Spot illustrations redrawnMore than 300 spot illustrations are redrawn to match the original hand-drawn set: coral shapes carry the form, and loose black lines finish it. A new build step gives every outline its hand-drawn edge, and 85 spots that existed but never showed up are now in the gallery.
    • Improved
      Audio and video playersThe Morning Watch players and the portfolio videos run on shared AudioPlayer and VideoPlayer components, with keyboard control, chapter markers, a real scrubber, captions and full screen.
    • New
      Design system componentsDataTable, Carousel, Sparkline, Accordion, Collapsible, Link, ConfirmDialog, FormField, SearchInput, Toolbar, FilterChips, FilterPopover and QueryState join the system, and TimeSeriesChart moves into it.
    • Improved
      Admin pagesEvery admin list is a sortable table with the same filter row, every form field is labeled, every delete asks for confirmation, and every page shows a real loading, error and empty state.
    • Fixed
      Select labelsA Select or Combobox inside a form field now announces its chosen value to screen readers along with its label.
  28. v1.11.0September 2026
    • Improved
      Home page and site copyThe home page leads with the Head of Design Platform role, and the home, about, leadership and services copy is rewritten. A new teaser links to how Greg leads, the portfolio cards link to case studies, and Morning Watch moves off the home page.
    • New
      Music collectionA new page under About shows the record and CD collection as a cover grid, with search, format, genre and decade filters, and a tracklist for every album.
    • New
      Share buttonsArticles, portfolio entries and Morning Watch episodes can be shared from the page, through the device share sheet or by copying the link.
    • New
      Seven new blocksCase study overview, next project, annotated screenshot, principles, long-form article, audio episode and Now page blocks join the visual language, marked with a New badge. Any block button can now open an in-page flow as well as link.
    • Improved
      Morning WatchOnce an episode publishes, its sources leave the admin feed so they aren't offered again, and the stats page shows the top source's download count.
  29. v1.10.0September 2026
    • New
      Morning Watch download countsEpisode audio now loads through gregsargent.com/listen, which counts each download before handing off to the file. A new admin stats page shows totals per episode and a breakdown by app, website player and admin player.
    • New
      More Morning Watch sourcesChurch News articles, the Church News podcast and Church Newsroom articles now feed the show alongside YouTube. The admin drawer offers to read the article or listen to the episode, depending on the source.
    • Improved
      How the show soundsTurns no longer end on a clipped breath, transition stings wait for the voice to finish, "Come, Follow Me" and city names stop getting an extra pause, and the scripts use contractions the way people talk.
    • Improved
      Morning Watch admin listThe feed and read pages are a sortable table now, with a drawer for the full summary and actions.
  30. v1.9.0September 2026
    • New
      Morning Watch on Apple PodcastsThe show is submitted to Apple Podcasts. Each episode description now opens with a short summary of its top stories instead of a bare rundown.
    • New
      Opening featureEpisodes open with a short piece on a Church history event tied to the day's date, researched from the Church's own sources.
    • Improved
      A five-voice castAn anchor and four correspondents, each covering one kind of source, replace the two-voice format.
    • Improved
      Show descriptionRewritten to match the current format. It still names the voices as AI and the show as unofficial.
  31. v1.8.0September 2026
    • Improved
      Search sheetResults now render as a single outlined list built on the Item family, with a kind glyph and a result count. Before you type, the sheet offers the main site destinations so it works as a menu.
    • Improved
      Search on a phoneThe input takes focus as the sheet opens, including from the mobile menu. Once you type, the illustration and subline give way so the first results sit above the keyboard, and rows collapse to one line.
    • Improved
      Search hero blockHero06 owns its phone layout: the input fills the row and suggestion chips become one horizontally scrolling strip. A new autoFocus prop covers the overlay case.
  32. v1.7.0September 2026
    • New
      How I leadA page on how Greg leads a team, from the hiring bar and how autonomy grows with seniority to feedback, time off and what happens when something is not working. Reached from a new teaser on the About page.
  33. v1.6.0September 2026
    • Improved
      Small-laptop layoutThe desktop navbar, hero and About row now switch to their compact layouts at 1120px instead of 992px, where the three nav groups had no gap and the hero portrait sat on the headline.
    • Improved
      Sticky phone navbarBelow 1120px the navbar stays pinned and condenses as you scroll, so the menu and theme toggle are always one tap away. The logo now links home.
    • Improved
      Admin on a phoneThe back-office rail scrolls with the account row pinned, groups collapse with the active one open, and on phones a sticky top bar with a menu button replaces the old band of links.
    • Improved
      Touch targetsButtons, chips, filters, footer links and the copy button reach 44px on touch screens. The search sheet, footer, Sunday school header and Morning Watch page fit phone widths.
    • New
      Responsive test guardPlaywright now checks every public route at phone, tablet, laptop and desktop widths for horizontal overflow and navbar behaviour.
  34. v1.5.0September 2026
    • New
      Morning Watch podcastA short daily newscast built from Latter-day Saint YouTube channels, read by two AI voices. Public episode pages at /morning-watch with show notes, chapters and transcripts, and an RSS feed at /podcast.xml.
    • New
      Morning Watch adminA nightly digest of new videos from followed channels, each summarised with a verdict on whether it delivers what the title promises, plus an episode builder and player.
    • Improved
      Episode productionTheme music on the open and close, both voices matched to the same loudness, exact chapter offsets, numbered episodes, and a script that reads like two hosts talking rather than a bulletin.
    • Improved
      About pageUpdated the timeline and added the v2 profile mark.
    • Improved
      eBay functionsCollapsed the five eBay endpoints into one routed function.
  35. v1.4.0August 2026
    • New
      Voice & Tone generatorA free brand voice generator at /voice-and-tone. Answer about two dozen questions and get AI-ready voice and tone guidelines in markdown you can paste into CLAUDE.md, a system prompt or a custom GPT.
    • New
      Bishopric adminPeople, planner and tasks pages under /admin/bishopric as the companion admin surface for the bishopric app.
    • New
      Voice & Tone leadsAn admin table of everyone who unlocked their generator results.
    • Improved
      Firestore rulesSecurity rules deploy from CI instead of by hand.
  36. v1.3.0July 2026
    • New
      Twenty-one design system componentsCalendar, DatePicker, TimePicker, CommandPalette, Kbd, ContextMenu, DropdownMenu, HoverCard, Lightbox, FileDropzone, NumberInput, Slider, SegmentedControl, TagInput, RadioCardGroup, CheckboxCard, TableOfContents, ProgressRing, ScrollProgress, Skeleton and Spinner, each documented in the visual language.
    • New
      ⌘K everywhereA command palette wired across the public site, the admin back office and Sunday school.
    • New
      Template pagesConversion pages launched from a template system under /p, with inquiry-lead and signup capture and an App signups inbox in the admin.
    • New
      Book of Mormon studioAll 365 daily stories seeded in canonical order, a telemetry dashboard with per-image cost logging, item and location image builders, and an iOS app help page in the admin.
    • New
      Sunday schoolAn interactive Munker illusion object lesson, team quick-awards, and lesson title images that open in the Lightbox.
    • Improved
      Spot illustrationsThe spot icon set grew by 226 SVG glyphs.
    • Fixed
      Selects and comboboxesSelect no longer scrolls the page on wheel, Combobox selects on mouse click, and Sunday school accent colours pass contrast in dark mode.
  37. v1.2.0June 2026
    • New
      Book of Mormon illustration studioGenerate the daily-reader story illustrations from the admin — a frozen art style plus each story’s scene compiled into a prompt, with paired light and dark renders and batch generation across many stories at once.
    • New
      Character castingA searchable roster of named Book of Mormon people: generate reference images per character, keep every attempt, and star a favorite to lock in that character’s look.
    • New
      Combobox componentAdded a searchable single-select to the design system, built on Radix Popover with keyboard navigation.
    • Improved
      Image generationImage generation now runs through OpenRouter, with a switchable model and the real per-image cost shown after each generation.
  38. v1.1.0June 2026
    • New
      Record collectionBrowse the /music collection as a grid or coverflow, with an iOS-style alphabet fast-scroll and album and artist detail pages.
    • New
      eBay sellingList records for sale straight from /music: price comparisons, an in-app camera for listing photos, business-policy setup, and Discogs metadata lookup.
    • New
      Collection managerAn admin table at /admin/music to add, edit, and remove records, with an inline edit drawer.
    • New
      Music case studyWrote up the /music app as a portfolio case study, illustrated with screenshots from the app.
    • New
      Search and AI visibilityPublic pages now ship prerendered HTML with per-page titles, descriptions, and structured data, plus a generated sitemap and robots file, so search engines and AI assistants can read the site.
    • New
      Privacy policyAdded a /privacy page covering how the eBay integration handles data.
    • Improved
      PerformanceCode-split the heavy admin and music sections and lazy-loaded images so the public site loads faster.
    • Improved
      iOS browser chromeMatched the Safari status bar to the page theme and closed safe-area gaps under the floating tab bar.
  39. v1.0.0May 2026
    • New
      ChangelogPublic version history at /changelog, linked from the footer.
  40. v0.5.0May 2026
    • New
      Site searchCommand-style search overlay with a spot illustration.
    • New
      First article published"Design systems are 25% pixels, 75% people."
    • Improved
      Icon registryCentralized every icon behind one registry and documented each block.
    • Improved
      Spot illustrationsAdded spots to portfolio and services cards, and standardized page headers across the site.
    • Improved
      Navigation polishRestyled the mobile menu, reordered navbar actions, and moved visual language to page-level scroll.
  41. v0.4.0May 2026
    • New
      Messaging serviceSite-wide toast, banner, dialog, and drawer system.
    • New
      Portfolio pagerPrevious and next navigation between portfolio entries.
    • New
      Deploy configVercel SPA rewrite so deep links resolve.
    • Fixed
      Hero seamRemoved the white strip above service and portfolio heroes.
    • Fixed
      Scroll restorationFixed a jump to a random scroll position when using browser Back.
  42. v0.3.0May 2026
    • Improved
      Responsive siteMade the public site fully responsive and mobile-optimized.
    • New
      Featured articleHero slot for a featured piece on /articles.
    • New
      Sunday school contentAdded a lesson, a Deuteronomy jeopardy game, a timeline slide, and a score adjuster.
  43. v0.2.0May 2026
    • New
      Get in Touch wizardMulti-step contact flow.
    • New
      Content libraryPlus the visual language reference pages.
    • New
      Back officeAdmin at /admin: leads, bookings, schedule, contacts, projects, tasks, dashboard, and settings, behind a Google auth gate.
  44. v0.1.0April 2026
    • New
      Site scaffoldReact, Vite, and TypeScript single-page app.
    • New
      AppShellPortal-based shell architecture for overlays.
    • New
      Component libraryFull UI kit with the visual language showcase.
    • Improved
      Design strategyDocumented the Radix UI and CSS Modules approach, with navigation and service-page layout polish.