Lesson 1Wallet design: active tickets, ticket lifecycle, expiration, restore and transfer scenariosDesign a wallet dat manages active, upcoming, and expired tickets. Yuh wi model ticket states, validation, expiration, and device changes, while supporting restore, transfer, and fraud prevention in a clear, predictable interface.
Ticket state machine and lifecycle eventsActive, upcoming, and expired ticket viewsValidation states and visual security cuesRestore flows after reinstall or device lossTransfer rules, limits, and fraud controlsLesson 2Trip planner UI/UX: required inputs (origin, destination, time, preferences) and output elements (route, duration, transfers, walking segments)Design de trip planner UI from inputs to results. Yuh wi specify required fields, preference controls, and result cards, ensuring accessibility, clarity of tradeoffs, and fast comparison between alternative routes and modes.
Input forms fi origin, destination, and timePreference controls fi modes and walkingDesigning route result cards and summariesDetail views fi legs, transfers, and faresAccessibility and localization considerationsLesson 3User controls fi alerts: subscriptions, quiet hours, per-line filtering, accessibility of alertsDesign user-facing controls dat govern which alerts are received. Yuh wi implement subscriptions, quiet hours, per-line filters, and accessibility options so riders can tune relevance while still receiving critical safety messages.
Subscription models: lines, stations, routesQuiet hours, do-not-disturb, and overridesPer-line and per-topic filtering optionsCritical vs optional alert categoriesAccessibility settings fi alert deliveryLesson 4Real-time alerts delivery: push notifications, WebSocket/Socket.IO, server-sent events, and fallback pollingExplore real-time alert delivery channels and tradeoffs. Yuh wi compare push, WebSockets, SSE, and polling, design reconnection and backoff, and ensure alerts stay timely, deduplicated, and power efficient on mobile devices.
Choosing push vs WebSocket vs SSE vs pollingConnection management and reconnection logicOrdering, deduplication, and idempotent alertsBattery, data usage, and background limitsFallback strategies when real-time failsLesson 5Route ranking and filtering: fastest, fewest transfers, accessibility, least walkingDesign ranking logic dat balances speed, transfers, walking, and accessibility. Yuh wi define filters, scoring models, tie-breaking rules, and UX patterns so riders can quickly find routes dat match dem preferences and constraints.
Ranking by time, transfers, and walking distanceAccessibility-aware route scoring and penaltiesUser-configurable filters and presetsHandling incomplete or low-quality GTFS dataExplaining rankings wid clear UI labelsLesson 6Analytics events fi core features: trip searches, ticket purchases, alert interactionsDefine analytics fi trip searches, ticket purchases, and alerts. Yuh wi design event schemas, user properties, funnels, and privacy controls dat help improve features while respecting regulations and user expectations.
Core events fi search, purchase, and alertsEvent naming, versioning, and schemasFunnels, cohorts, and retention analysisAttribution of alerts to user actionsPrivacy, consent, and data minimizationLesson 7Ticket purchase flow: product catalog, fare rules, seats/reservations vs proof-of-payment modelsDesign de ticket purchase flow from product selection to confirmation. Yuh wi model fare rules, passes, reservations, and proof-of-payment, ensuring clarity, validation, and compatibility wid agency backends.
Product catalog structure and fare familiesFare rules, zones, caps, and concessionsSeat reservations vs open proof-of-paymentValidating eligibility and rider typesPurchase confirmation and receipt designLesson 8User flow from app launch to route results: permissions, location access, quick actions, recent searchesMap de end-to-end journey from app launch to route results. Yuh wi design permission prompts, location handling, shortcuts, and recent searches so riders can reach relevant trip options wid minimal friction and clear privacy expectations.
Cold start, splash, and onboarding decisionsRequesting and explaining location permissionsQuick actions, favorites, and home-work shortcutsRecent searches, recents ranking, and clearingHandling denied permissions and manual locationLesson 9In-app alert presentation: inbox, banners, contextual route alerts, personalization and prioritizationDefine how alerts appear inside de app across contexts. Yuh wi design inboxes, banners, and contextual surfaces, wid prioritization, grouping, and personalization dat keep riders informed without overwhelming dem.
Alert inbox layout and filtering optionsTransient banners, toasts, and modalsContextual alerts on route and ticket viewsPrioritization, grouping, and rate limitingPersonalization based on usage and linesLesson 10Error handling and retry patterns during purchase and network failuresLearn patterns fi handling purchase and network failures without losing user trust. Yuh wi design retries, idempotent operations, offline queues, and clear error messaging dat protect payments and avoid duplicate charges or broken tickets.
Classifying transient vs permanent failuresDesigning safe retry and backoff strategiesIdempotency keys fi payment operationsOffline queues and local operation logsUser-facing error messages and recovery flowsLesson 11Payment integration: hosted pages vs in-app SDKs, PCI scope reduction, tokenizationExplore payment integration options and security boundaries. Yuh wi compare hosted pages and in-app SDKs, design tokenization, and reduce PCI scope while keeping de checkout smooth, trustworthy, and compliant.
Hosted checkout vs native SDK tradeoffsReducing PCI scope wid tokenization3-D Secure, SCA, and regional rulesHandling declines, reversals, and refundsStoring and updating payment instrumentsLesson 12Local storage fi tickets: secure storage options (encrypted database, keystore/Keychain) and tokenizationLearn secure local storage patterns fi tickets and tokens. Yuh wi compare encrypted databases, Keychain or Keystore, and platform APIs, designing key rotation, backup behavior, and protections against tampering or cloning.
Threat model fi stored tickets and tokensUsing Keychain or Keystore fi secretsEncrypted databases fi ticket metadataKey rotation, revocation, and migrationBackup, restore, and multi-device behavior