← Back to portfolio

MyCloud

Full‑Stack Cloud Storage Platform

MyCloud is a multi‑user cloud storage web application that I built from scratch. It allows users to sign up, upload files of any size, organise them into folders, preview media, share files with other users, and manage file versions.

Live Demo

cloud.djkoast.com

Technologies

  • Frontend: SvelteKit, Tailwind CSS, Lucide icons
  • Backend / Auth: Supabase (PostgreSQL, Row‑Level Security)
  • File Storage: Cloudflare R2 (S3‑compatible, presigned uploads)
  • Deployment: Vercel (CI/CD, custom domain)
  • Version Control: Git & GitHub

Key Features

  • User authentication (sign‑up, login, password reset)
  • Drag‑and‑drop uploads of any size
  • Folders & breadcrumb navigation
  • File sharing with other users via email
  • Automatic file versioning
  • Search, thumbnails, full‑screen previews (images, video, PDF)
  • Dark/light mode, responsive design
  • Multi‑select operations (delete, rename, copy share links)

Challenges Overcome

Svelte 5 migration – Updated event handlers and used $state runes.
Row‑Level Security – Recreated Supabase storage policies for proper isolation.
Anonymous sign‑in error – Replaced client call with direct REST API request.
Large file uploads – Integrated R2 to bypass 50MB limit via presigned URLs.
Deployment caching – Added cache‑buster and Vercel configuration.

Skills Demonstrated

JavaScript SvelteKit Tailwind CSS REST API PostgreSQL S3/R2 JWT Git Vercel Security
Š 2026 Koast. Built with SvelteKit & Tailwind.