← Back
PWA · Cognitive training · School project

Remora

A playful cognitive training PWA — mini-games, daily streaks, medication reminders, and social challenges — designed to support users with memory difficulties without ever feeling clinical.

0

mini-games

0+

game levels

0

lighthouse score

remora — home
Remora app screenshot
Core experience

Three games.
One daily habit.

Maze

Navigate to the exit before the timer runs out. Mazes grow larger and more complex as you level up.

Memory

Flip and match card pairs as fast as possible. More cards, shorter previews at higher levels.

Word

Remember a sequence of words, then type them back correctly. Sequences get longer with each level.

Everything else

Built around
daily life.

Reminders

Set medication and appointment reminders. Never miss something important.

Agenda

A personal agenda integrated directly in the app for daily structure.

Streaks & goals

Set a daily exercise target and track login streaks to build a routine.

Social challenges

Challenge friends to daily games. A leaderboard keeps things competitive.

Pearl shop

Earn pearls from exercises and spend them on cosmetic items in the shop.

Auth & profiles

Supabase auth, multilingual UI, dark mode, and personalised preferences.

System design

Architecture

Frontend

Framework
React + TypeScript
Build
Vite + Rollup
State
Zustand (reduces DB calls)
Routing
createBrowserRouter, protected routes
Code splitting
React.lazy + Suspense

Backend & infra

Auth + DB
Supabase (Postgres + Realtime)
Edge functions
Supabase Edge Functions
Push
Firebase Cloud Messaging
Hosting
Firebase Hosting
CI/CD
GitHub Actions
Performance

Lighthouse-driven
optimization.

Lazy loading

React.lazy + Suspense splits the bundle. Images load only when in viewport.

Smart caching

Zustand store avoids repeat DB reads. Cursor-based pagination for chat history.

Asset optimisation

Images converted to WebP/AVIF, resized to actual display size, long-lived hashed cache headers.

Result

Lighthouse performance score increased significantly after iterative optimisations — both mobile and desktop.

0

perf score

Stack
UI
ReactTypeScriptViteRollup
State
ZustandReact Context (auth + i18n)
Backend
Supabase AuthSupabase PostgresSupabase RealtimeEdge Functions
Push
Firebase Cloud Messaging
Deploy
Firebase HostingGitHub Actions CI/CD
Perf
LighthouseWebP/AVIFLazy loadingCache headers