development

Slips Is Moving Beyond One Browser

Outline - Planning login and cross-device persistence for Slips without losing the small, local-first study workflow that made it useful.

October 5, 20264 min read625 words
A laptop showing a web application interface, representing the move from a single-browser tool to a product that can be used across devices.

Adding features when neccessary

Slips started as a local-first flashcard studio with no account and no backend and that's good, as it's so easy to spin things up now with AI, I find it's sometimes better to keep the scope and product offering simpler. Not having logins, databases, deployments etc to worry about just means focusing on what the product should do is much easier.

I created Slips for myself to aid with learning (currently it's for the ADI exams and material) and I am finding myself wanting to pick up and do some additional learning instead of jumping on the phone and 10 minutes later still trying to remember why I opened the phone. Anyway...

The feature list currently is just expanding while there is reason to expand it and not much more than that for now. It's not a complicated offering and it doesn't need to be. If you have some material (or you can convert it into the corresponding JSON format), get it uploaded, print it off or use the new test features. That's it.

Nothing is changing on live slips.cards at the moment, this work will happen on the dev version for now.

Currently adding login, database and test features

I have considered if the platorm would scale or grow to allow sharing decks publically or using as templates but for now that's the additional arms and legs I don't need.

  • Login - needed so I can get the same tests I have setup on my mobile for convenience.
  • Database - simply to store anything being added as a deck.
  • Test - using a deck or combination of decks to create tests (multiple choice tests given the current JSON format).

Improving the mobile view is also another big step as it's not a great experience on mobile.

Changes made on the Dev branch so far

The latest dev version moves Slips from a local flashcard tool toward a cloud-backed study app.

Cloud deck management

Signed-in users can now:

  • Create and import decks
  • Edit and rename decks
  • Add and delete cards
  • Delete entire decks
  • Access decks across devices

Supabase now handles deck persistence, authentication, row-level security, and user-specific data.

Authentication

Users can sign in with:

  • Email and password
  • Magic links
  • Google OAuth, when enabled in Supabase

The development version currently requires sign-in to create and manage decks while the cloud CRUD model is stabilised.

Test mode

Users can build multiple-choice tests from one or more decks.

The first version supports:

  • Choosing the number of questions
  • Immediate or end-of-test feedback
  • Correct/incorrect answers
  • Explanations
  • Final scores
  • Local and signed-in test history

Mobile redesign

The mobile experience now includes:

  • A library-style home screen
  • Horizontal deck preview rows
  • Compact previews of the first cards in each deck
  • A separate detailed deck study view
  • A slide-out deck library
  • Improved touch targets and compact toolbars
  • Better mobile modal and card layouts

Mobile navigation and preferences

The mobile bottom navigation now includes:

  • Decks
  • Tests
  • History
  • Settings

Preferences are now available on mobile, including:

  • Light/dark mode
  • Accent colour selection
  • Account management
  • Sign-in status

The mobile header has also been simplified with a compact import action and initials-based account avatar.

Icon and visual updates

Slips now uses the Lucide icon library for a consistent icon style across navigation, deck actions, tests, history, settings, import, export, printing, and deletion.

Development note

The dev branch currently prioritises Supabase as the source of truth for deck data. Local deck persistence is paused while cloud CRUD and cross-device behaviour are being stabilised.

Keep exploring