From "it doesn't work" to fully owned in three weeks

How a founder-led law practice took control of an online course platform and an AI content studio after an unfinished handoff.

Headline results

  • 2 apps rescued

  • 13 defects fixed in reviewable, reversible changes

  • 34 files migrated with zero downtime for students

  • About 1,100 automated tests on every change

The challenge

A law practice had paid an outside firm to build two apps. One was an online course platform that sold a business course and a lower-priced challenge, delivered video lessons and included an AI coaching chatbot for students. The other was an AI content studio that turned articles and videos into social media posts, with legal-ethics guardrails and a human approval step before anything was published to 7 social platforms.

The previous firm handed the systems over and stepped away. The client reported that "it doesn't work." We came in with very little context and no prior relationship with the code.

What we found

The core problem was simple to describe: no admin tool could actually give a student access to the course. Changing a student's tier changed a label, while lessons checked a different field.

Other issues

  • Every site update silently undid the client's own edits and re-created the previous developer's admin account.

  • The admin password was printed in plain text in server logs.

  • The live apps still deployed from the previous developer's personal code copies.

  • Software versions weren't locked. A routine rebuild took one app offline during the engagement, and we fixed it the same day.

  • All course videos, PDFs and images lived on the previous developer's file storage. If that account closed, every lesson would break.

  • AI features and several services still ran on the previous developer's personal accounts and keys.

  • Smaller defects included blocked buy buttons on Safari and iPhone, an editable signup link that could grant paid access, a broken lead-magnet link and member photo uploads that had never worked.

What we did

  • Moved control to the client. Both apps now deploy from the client's own code repositories. We removed old developer access from the app and took database backups before any change.

  • Fixed the access problem. We verified the fix on the live site, so the client can grant course access.

  • Fixed 13 defects. Each fix across the two apps was released as a reviewable, reversible change.

  • Made updates safe. Client edits now survive updates, software versions are locked, and automated tests and a build check run on every change.

  • Migrated all course media. We moved 34 lesson videos, PDFs and images into the client's own account and custom domain, verifying every file.

  • Cleaned up security. We removed the password from logs, closed the signup loophole, enforced secure connections and removed a default admin login.

  • Explained running costs in plain English. AI costs cents per use, and AI video is the only meaningful cost. We gave options to reduce costs, including an honest view of when running AI locally on office hardware would and wouldn't pay off.

  • Wrote a plain-English report for the owner. It covered what was wrong, what was fixed, what still needed his decision and a prioritized list of the remaining account handovers.

Results

  • The client went from depending on a firm that had left to owning and controlling both systems: code, deployment, media and admin access.

  • The core course flow was fixed and verified on the live site.

  • No data was lost, and the migration caused no student-facing downtime.

  • The client has a clear, prioritized path for the remaining handovers, with AI provider and payment accounts moving into the client's name.

  • The work took about three weeks, alongside the client.

Inherited a system you can't trust? Let's talk.

We take over inherited systems, find out what's really wrong, fix it safely and hand you real control, explained in plain English.

info@bthomasconsulting.com

bryan@bthomasconsulting.com

(321) 888-7606