A Next.js beginning
The repository began as a Create Next App experiment. That established a place to work, but the final hosting target was an older GoDaddy-style PHP environment.
How Nancy Stewart’s music and literacy websites were rebuilt, rescued, and made maintainable without losing the songs, stories, and resources people came for.
The starting point
Nancy’s sites are more than brochure pages. They are a deep, hand-built archive: songs, lyrics, sheet music, recordings, activity guides, books, literacy resources, and years of material for families, teachers, librarians, and community programs.
That meant the job was not simply to make two new home pages. It was to bring an old web estate into a form that could be searched, repaired, edited, and hosted on ordinary infrastructure—while keeping the accumulated knowledge intact.
How it came together
The work unfolded in layers: first finding a workable shape, then rebuilding the sites, rescuing the archive, and finally making the whole system easier to maintain.
The repository began as a Create Next App experiment. That established a place to work, but the final hosting target was an older GoDaddy-style PHP environment.
The first complete site was assembled quickly enough to put real content in front of people and expose the problems that needed solving.
The project moved away from Next.js, referenced the existing resources, separated nancymusic into its own directory, and added the first version of Sing With Our Kids.
Navigation, page templates, content structure, styles, and the two site identities were brought into a more coherent system.
Song creation, image uploads, file uploads, CMS hardening, Song of the Month improvements, documentation, and upload limits turned a one-time rebuild into an editable website.
Lyrics were brought onto song pages, then cleaned, normalized, and linked. Broken links and missing resources became explicit engineering work instead of invisible drift.
A crawler and link audit found failures across the archive. Fixing them made content quality measurable.
Missing downloads were restored, Song of the Month blurbs were reviewed and sourced, Global Village files were mirrored, and books and family-literacy content continued to evolve.
Visual evidence
The “before” images below are captures of the live sites at nancymusic.com and singwithourkids.com. The “after” images are captures of the current main branch, rendered locally for comparison.




The practical rebuild
The final implementation deliberately fits the hosting reality: Apache, PHP, ordinary files, and no database dependency. The content model is understandable by a person who may need to recover it years from now.
cms/content/.What the work taught us
Old sites hide their value in volume. Count pages, find media, trace redirects, and locate the content before deciding what can be simplified.
A crawler, an audit script, and focused commits made broken resources visible. “It looks fine” is not a test for an archive this large.
The migration is not finished when the homepage looks good. It is finished when someone else can edit a page, upload a file, and recover the site.