Session log — medilearn.africa rebuild kickoff

← All session logs

Session log — medilearn.africa rebuild kickoff

1 May 2026 · Hasmukh with Claude · Hasmukh asked to start a fresh website for medilearn, applying everything learned from s2l.online. The session ran end to end: context, plan, brand capture, a branded PageMotor site stood up at staging.medilearn.africa, the public-side plugin set installed, and the home page populated with real medilearn copy with the UCT Department of Medicine partnership prominent. The current WordPress placeholder at medilearn.africa was not touched at any point. A handover brief for Kenn was published on the documentation site at the same time.

Brief

1. The brief

HasmukhBuild a new website for medilearn that uses everything we have learned from s2l.online. Do not touch the current placeholder. UCT Department of Medicine has to be central, the brand has to feel education-first not clinical, and the site has to support three different kinds of recordings, each with their own privacy posture.

medilearn is a registered NPC. Its content programme is doctor education, delivered in collaboration with the UCT Department of Medicine. The recorded lectures fall into three streams: TalentLMS courses, on-site lectures, and Zoom recordings of live sessions. Each stream has different access rules, which meant the site could not just be a clone of s2l with a new logo on the front.

Step 1

2. Staging first, no risk to the live site

The agreement was to build the new site at staging.medilearn.africa and only switch the apex domain at go-live. The current placeholder on WordPress would stay up untouched while the new site was being put together, which kept the public-facing front door working through the whole build.

The new site sits on the same VPS as s2l, but in its own system user, its own PHP-FPM pool, and its own database. Isolation is more than tidiness: it means a problem on one site cannot reach the other.

Step 2

3. A six-colour, education-first brand

The medilearn brand identity was captured from the official logos and pinned into a memory note for all future medilearn work. Six colours, with coral leading and accents in green, orange, magenta, blue, and tan. Rounded headings (Nunito) paired with Inter for body text. Generous white space, rounded corners, no stock medical imagery. Deliberately not the typical clinical blue-and-white look.

The look matters because the audience is doctors who already see clinical interfaces all day. An education-first feel signals that this site is here to help them learn, not to act as another piece of medical software.

Step 3

4. Server, database, FPM pool, certificate

An A record was added at staging.medilearn.africa pointing at the s2l VPS. On the server a new system user medilearn was created, a directory at /var/www/medilearn with the right permissions, a database medilearn_pm with its own user, and a PHP-FPM pool running as the new user. The nginx vhost was set up to send X-Robots-Tag: noindex,nofollow,noarchive on every response so search engines stay out while the site is in build, and a Let’s Encrypt certificate was issued to cover HTTPS.

OutcomeBy the time the first request hit the server, https://staging.medilearn.africa answered with a valid certificate, the right permissions, and a clean isolation boundary from every other site on the box.
Step 4

5. A medilearn theme, ported from s2l

The s2l theme directory was copied across, the class renamed to Medilearn_Theme, and the theme metadata updated. The CSS variables were rewritten to the medilearn six-colour palette, Nunito was added for headings, border radii bumped for a rounder feel, and the heavy s2l shadow swapped for a softer coral-tinted one. The original CSS was backed up with a timestamp before the change, so a roll back is one file copy away.

A small detail that matters: the theme keeps a copy of its CSS in the database (the option that matches the theme class name), so disk and database had to be synced or the site would render the wrong styles after a recompile.

Step 5

6. Public-side plugin set

The plugins were installed in two waves. First, the eight public-side ones the homepage and inner pages need: EP Email, EP Breadcrumbs, EP SEO, EP GDPR, EP Newsletter, EP Newsletter SendGrid, EP Bunny Fonts, and EP Editor. Second, six cross-cutting helpers that are useful from day one: EP Diagnostics, EP Audit Log, EP Sitemap, EP Maintenance, EP Search, and EP Redirects. Membership, Booking, Booking Zoom, Courses and Password Reset are deferred until their stages.

The plugin classes were activated by adding their names to the plugins option, and each one seeded its own database tables on first hit. No manual SQL.

Step 6

7. Filling the home page with real copy

The freshly ported theme rendered the home page’s ten sections (Hero, About, Courses, How It Works, Languages, Testimonials, Newsletter, Contact, Footer, plus the Header) but every section had a zero-byte HTML slot, so the page was a beautifully styled empty shell. Hasmukh chose Option B for filling it: proper sectioned content with the UCT partnership messaging, rather than a single column of paragraphs.

All ten sections were populated with medilearn copy. The hero now leads with the UCT partnership badge and the tagline. About explains the registered-NPC status and the UCT collaboration. The Courses block was reframed as “Recent lectures from the medilearn studio” with the existing roster of speakers (Setshedi, de Vries, Papavarnavas, Lehloenya, Hodkinson, Dave). How It Works was reframed as the three steps a doctor takes to attend a medilearn session. The dark Languages band from s2l was repurposed as a Partnership section, side by side panels for the UCT Department of Medicine and the mobilearn studio. Newsletter, Contact, and Footer all medilearn-flavoured. The total option grew from 4 KB to 16 KB.

OutcomeBy close of the session the home page reads like medilearn, looks like medilearn, and tells the UCT story above the fold.
Step 7

8. A handover brief for Kenn

The handover for Kenn was published as a single page at /medilearn-rebuild-plan-2026-05-01/ on documentation.mobilearn.africa, rather than as an email attachment. Cleaner to read, easier to update, and reachable from the Overview index under a new “Related plans” section. The brief contains the full plan and four open questions for him: PHP-FPM pool conventions, doctor approval workflow, UCT brand-use rules, and watermark approach.

Going forward

9. Going forward

The header still uses a text-only “medilearn” wordmark; Hasmukh will upload the actual horizontal logo lockup so it can sit in the header properly. Inner pages still to build: About long form, What we do, Partners long form, Upcoming sessions, Contact (already linked from home), and a donor information page. POPIA cookie banner copy still to be written for EP GDPR. SendGrid sender to be configured for EP Newsletter.

Stages 3 to 6 are still ahead: doctor account system, live session registration, the protected video library, and the donor section. At go-live the apex A record at domains.co.za swings to the VPS, the certificate is reissued or extended to cover the apex and www, and the staging-only noindex headers come off.