A saved card is a link, not a copy

How we gave CertBrain and Finance Brain learners a My cards collection without letting them write cards, and why the saved card points at the original instead of copying it.

Photo by Kelsy Gagnebin on Unsplash

On CertBrain and Finance Brain, learners study the site’s own courses. Making decks is switched off on both, because the content has to stay accurate. That left a gap: a learner reading a lesson had no way to collect the cards they wanted to come back to.

Now they do. Each card under a lesson has a Save button, and saved cards gather on a My cards page, grouped by lesson, ready to study together. Here’s how it’s built.

The first decision shaped everything else. When a learner saves a card, we store a link to the site’s card, not a copy of it.

A copy would drift. If the course fixes a definition, a copied card keeps the old wording. A link always shows the current card. It also means learners don’t write cards or own decks on these sites, which is the trade-off we wanted: the content stays the site’s, and stays accurate.

Two rules came with it. My cards is free for every signed-in learner. And you can only save cards you can already open, so a locked deck stays locked.

What it’s made of

  • A SavedCard table, with row-level security turned on, as every new table gets.
  • A savedCard router behind the site’s savedCards feature flag, so a site that doesn’t offer the feature doesn’t expose it.
  • A Save toggle on the cards under a lesson, and a My cards page that groups saved cards by lesson.
  • A study page for saved cards, which reuses the existing study session in a new mode with no deck behind it.

Results from that session are recorded the same way as any other study session. So a card’s review schedule is shared with the deck it comes from: one schedule per card, whichever page you studied it on.

The surprises

The migration needed a person. The feature needed a database schema change, and our unattended agent runs aren’t allowed to run migrations. So this one moved to an interactive session to finish.

Two things beyond the design. Saved cards are deleted along with the learner’s account. And an argument the study endpoint no longer used, the deck id, became optional instead of being removed, because the mobile app still sends it.

Rollout

It shipped with the feature flag off on every site, then was switched on for CertBrain and Finance Brain. Braineos, where learners make their own decks, stays off.

Left out on purpose: writing your own cards, and any mobile screens. The server procedures the mobile app would need are in place. The planned check questions in lessons will use the same Save button once they exist.

CertBrain is an independent study resource. It isn’t affiliated with or endorsed by Amazon Web Services. Finance Brain is general financial education, not financial advice.

Planning an app?

We build learning products like this for clients too: courses, flashcards, quizzes and exam prep, on the web and mobile.

Education apps: what we do →

Start a project