Courses catalog
Loading courses…
Render: —
Course details
Overview
Syllabus
    Tags
    Purchase
    Price
    $—
    Duration
    Language
    Software
    Rating
    Students
    Support
    Questions about the right learning path? Call +1 (415) 208-7391 or email [email protected].
    Tip: Press Esc to close. Use Favorites only to keep track.
    Catalog: data, filters, tracking
    Client-side loading + persistence via localStorage. No external dependencies.
    What gets saved?
    • Favorites (per course id)\n• “Tracked” opens: whenever you view details, the course is counted once\n• Optional saved filters (press “Save filters”)\n\nAll data is stored only on this device and can be cleared from your browser storage.
    Power features
    • Fast search across title, tags, and software.
    • Independent min/max sliders with clamping.
    • Favorites-only view + quick “deal/short” toggles.
    • Pagination with accessible controls.
    Cart integration
    This page adds items into a local cart store. The Cart button links to ./cart.html. If your cart page uses a different storage key, align it with cv_cart_v1.
    Data source
    The catalog reads ./catalog.json and expects the schema described in the task. If the file is missing or invalid, you'll see an error box with details.
    Need help choosing? Call +1 (415) 208-7391.
    Tracked courses
    Courses you opened in the details modal (counted once). Useful for narrowing down.
    Tracked list
    Tap a course to filter to it instantly, or clear the list.
    Actions
    Privacy
    Tracked is stored only in localStorage, not sent anywhere.
    Shortcut: open any details card to add it to tracked.
    Per-page setting
    Choose how many courses to show on each page.
    Items per page
    Tip: Larger values may render slower on low-end devices. Your choice is saved locally.
    Keyboard
    • Enter applies filters.
    • Esc closes modals.
    • / to change pages when not focused in an input.
    Saved key: cv_catalog_pageSize
    Cookies & local storage
    We use localStorage to save theme, favorites, and cart. No third-party trackers. You can decline non-essential storage.