Work
Education / Complex Platforms

What happens when the internet disappears halfway through?

Across almost four years at Learning Equality, I designed how Kolibri administrators acquire and trust content, how schools manage people and classes, how assessments are authored and interpreted, how those systems work across accessibility, multilingual and Arabic RTL conditions, and how the design-system, Google Summer of Code and public-website work carried that practice beyond one team.

Role
Senior Product Designer
Timeline
Aug 2022 — May 2026
Company
Learning Equality
Students in a classroom using Kolibri on tablets, working from printed worksheets on wooden desks.
Kolibri is built for learning environments where reliable internet, modern devices and local technical support cannot be assumed.
01

The operating environment

An administrator preparing a Kolibri deployment may have temporary internet access, an ageing laptop, limited storage and no technician nearby. They need to find the right learning material, understand what it contains, decide what can fit, move it to the correct device and know whether the transfer succeeded before the connection disappears.

A coach then needs to organise learners, create or activate assessments and interpret results. A learner may use a small screen, a keyboard, a screen reader or an Arabic interface. These are not edge cases around the product. They are the product’s normal operating conditions.

The transfer is the design problem, not the catalogue. The connection drops, the bar holds its position instead of resetting, and the banner offers the only action that matters.
02

My scope across the platform

03

1. Designing content acquisition and trust

Research showed that administrators could lose confidence at several points: finding the import entry point, judging whether a channel suited their learners, understanding storage cost, distinguishing a new import from an update, and knowing what to do when a long-running task failed.

I re-architected the flow as one acquisition system rather than a sequence of disconnected screens. The model connected source selection, channel evaluation, folder-level choices, storage decisions, version history, progress, errors and recovery. Online libraries, local servers and USB drives used the same underlying logic while still exposing the constraints specific to each source.

The import entry point moved into primary navigation. Before, Import lived inside a submenu; after, it is one action from the app bar. Abstracted comparison of the two entry states.
Channels on this device. Installed content, available updates and drafts are separated by status rather than mixed into one list, and Update runs inline so the administrator never loses the row they were reading. Redrawn from the shipped product with representative data, in place of the channel-management export.
Folder-level choices with the storage cost attached to each one. Tick folders and the meter fills; go past what the device can hold and the button, the number and the banner change together, before the download starts. Redrawn from the shipped product with representative data.
A long task that fails is still a task you can finish. The failed row keeps its transferred bytes on screen, because that is what tells the administrator whether to retry or start over. Redrawn from the shipped product with representative data.
Three sources, one logic, different constraints. The online library, another Kolibri on the local network and a USB drive run the same five steps; only the source-specific fields and the constraint note change.
Post-import verification closes the loop. The header pill only turns green when all five checks pass. Representative figures.

The channel card itself carried a deliberate reduction. The first design direction was richer: thumbnail previews, filters and detailed metadata on every card. The shipped card is text-first with minimal imagery, because the card list has to stay useful on shared, unreliable connections and older devices. That is a design comparison about information density and image use, not a measured payload claim.

The card that got smaller on purpose. The first direction carried thumbnail previews, filters and detailed metadata; the shipped card is text-first with fewer images for the shared, unreliable connections Kolibri supports. A design comparison about density and image use, not a measured payload claim. The early direction is recreated; the shipped card reflects the released design.
One card, five conditions. The same channel row carries every condition the administrator can meet; only the badge, the primary action and the search-context row change between them. Redrawn from the shipped product with representative data, in place of the five-state card export.
85%
Better import discoverability in usability testing
60%
Fewer failed imports in usability testing

These are usability-testing outcomes for the redesigned flow, not production telemetry. They support the content-acquisition work without standing in for the full scope of my Learning Equality contribution.

04

2. Designing the assessment lifecycle

Assessment work crossed three roles and several products: the educator who authors or selects questions, the learner who completes them, and the coach who monitors progress and interprets evidence. I designed across that lifecycle rather than optimising one view in isolation.

The QTI work ran on both sides of the standard: the editor an author uses to build a question, and the renderer a learner meets on a small screen, on a keyboard or through a screen reader. The same question has to work in both.

Pre-tests and post-tests added a lifecycle on top of a single quiz: activation, completion, and the monitoring a coach does between the two. Each of those is a state a learner and a coach can both see.

The coach side of this loop has its own study: Kolibri Coach Dashboard — one bar, one minute between lessons, and the drill-down from a class distribution to the learners inside it.

Exercise and mastery cards as the learner meets them, across six states of the same assignment. The chip colour carries the state and the bar carries the evidence. Redrawn from the shipped product with representative data, in place of the exercise-and-mastery export.
Interactive: click a mastery band to filter the learner list beside it, turning the distribution into a control instead of a passive chart. Redrawn from the shipped product with representative data.
05

3. Making school administration manageable

Bulk administration is where small interaction mistakes become operational problems. I designed user and class workflows around selection, permissions, pagination, confirmation, partial completion and recovery, then extended the same patterns into attendance and notifications.

Admin and editor notifications were designed as part of the same administration work, on the same status patterns the rest of the system uses: what happened, and what the person reading it can do next.

The bulk user-management work is visible in the public product. The Kolibri 0.19.0 release notes describe user-management changes made to reduce repetitive enrolment, unenrolment and account-management work, bulk actions on multiple users, and simpler programme setup and year-over-year management. That is the released product; the design work here sat inside it.

Bulk administration, where small mistakes get expensive. Selection, permissions and pagination in one frame: ticking rows or the header box turns the action bar from a count into a set of destructive-capable actions, and select-all means this page, not every user. Redrawn from the shipped product with representative data.
06

4. Extending the interaction infrastructure

The value of design-system work was not the number of components produced. It was reducing the number of product decisions each new feature had to reinvent. Tables, cards, grids, statuses, loaders, sidepanels and modal behaviour became shared answers to recurring interaction problems across Kolibri and Studio.

Accessibility, internationalisation and Arabic RTL were treated as system behaviour rather than final-pass corrections. Reading order, mixed-language content, keyboard interaction and responsive states had to remain coherent inside already-complex assessment and administration workflows.

The infrastructure I extended, rather than built from nothing, was the Kolibri Design System: type as named roles, tokens, status and loader patterns, the side panel and its modal behaviour, cards with their content structure, and tables at two densities. Each one is a decision a feature no longer has to make, and each one carries its RTL and accessibility behaviour with it.

That work is documented on its own: Kolibri Design System — decisions a feature no longer has to make.

Arabic RTL as system behaviour, not a final pass. Reading order, chip order, button order and the progress bar’s fill direction flip together; the Latin channel title stays left-to-right inside an Arabic line, which is the mixed-language case the system has to hold.
07

5. Design leverage: shared practice, Google Summer of Code and the public website

In a distributed open-source organisation, a polished Figma file is not enough. I used design reviews, implementation-ready specifications, Design With Us sessions and Design in 60 Seconds updates to make the reasoning visible to product, engineering and non-design colleagues before it was lost in delivery.

From 2023 to 2026, I also provided product-design direction, review and implementation support across six Google Summer of Code projects spanning content rendering, assessment interactions, accessibility and design-system components. The formal mentors and contributors are credited separately on the official project pages.

Design direction for a contributor outside the core team rested on the same three things the shared practice above was built on: an implementation-ready specification, a review that says what is wrong and why, and a pointer to the pattern that already answers the problem.

The same system thinking carried into Learning Equality’s public expression: the public website design system, product identities, app icons, brand guidance and partner-facing materials.

08

Platform context

13M+
Learners and educators reached by Kolibri
220+
Countries and territories

These figures describe the scale of the platform I designed within. They are not presented as users I personally acquired or as the result of one redesign.

09

What the work changed in my practice

Offline-first design makes hidden assumptions visible. Connectivity changes navigation, progress, error recovery and the cost of every decision. Multilingual and accessible design changes the structure of the interaction, not just its presentation. Complex systems become manageable when the team agrees on the states, rules and handoffs before arguing about the screen.

The detailed Figma history, design reviews and implementation notes remain available for private walkthroughs. This public case focuses on the product model, the decisions and the evidence that can be discussed responsibly.

Product designUX researchDesign systemsAccessibilityOffline-first
Next case study
Would you put your money into a farm you’ve never seen?