MuntadherMAhmedA

MA Vault

A personal image gallery app with authentication, social features, and optimized media performance.

Image for the project MA Vault

Project Overview

MA Vault is a full-featured image gallery platform built with a focus on performance and accessibility. It includes secure Supabase authentication with email confirmation, optimized image handling with WebP and HEIC format conversion, and a responsive interface enhanced by Framer Motion animations. This is a personal project where I showcase my own images and allow users to upload theirs. Built to merge my photography and web development passions.

Tech Stack

  • React
  • TypeScript
  • Tailwind CSS
  • React Router
  • React Query
  • React Hot Toast
  • Lucide Icons
  • Supabase
  • Day.js
  • React Dropzone
  • Framer Motion
  • React Virtual
  • heic2any
  • React Error Boundary

Key Features

  • Authentication & authorization with Supabase
  • Supabase email authentication with confirmation flow
  • Image upload, like, and comment system for authenticated users
  • Views tracking system for all images
  • Smart upload system supporting HEIC, PNG, JPEG, and JPG formats
  • Client-side image optimization and WebP conversion for uploads
  • Drag-and-drop image uploads with form validation
  • Advanced data Caching with React Query
  • Infinite scrolling using React Virtual with pagination for large galleries
  • Image search, filtering, and sorting for fast content discovery
  • User profile customization including personal info and profile picture
  • Command palette with search and full-page navigation
  • Responsive UI with smooth animations powered by Framer Motion
  • Comprehensive error handling with toast notifications
  • Dark mode support
  • Accessibility-focused code

Challenges

Building a platform that handles many large images efficiently required implementing compression, optimized formats, and careful caching with React Query (especially for infinite scroll) as well as a good data base design. Integrating Supabase authentication with a smooth UX and ensuring fast performance across devices also presented unique challenges.

Outcome

Delivered a polished and responsive image gallery app that feels both personal and social with a seamless user experience across devices. Achieved up to 40% reduction in storage size by using webp image conversion and greatly improved load times through advanced media handling with React query + React Virtual.