Abdelrhman

Gwilly Video Creator Portfolio
0 Views

Gwilly Video Creator Portfolio

Video creator portfolio with project publishing, local video processing, and a private admin area.

Project Overview

I built this portfolio for Gwilly, a video creator who needs a place to present work and receive enquiries. Visitors can browse projects, read about the creator, view a CV, and send a message. A private admin area handles the work behind those public pages.

The problem

Video work needs more than a list of links. Each project needs a clear page, a usable preview, and media that can play without forcing visitors to download a full file. The creator also needs to update projects and site text without editing source files each time.

Key features

  • The home page displays a project archive with in-place project details.
  • Public about and contact pages provide background and a message form.
  • The admin area creates, edits, publishes, deletes, and reorders projects.
  • Projects can hold uploaded videos and supported remote video links.
  • Uploaded video passes through FFmpeg transcoding and poster generation.
  • A media library and message inbox are available to the admin.
  • The CV viewer renders PDF content and offers a download route.
  • Site settings control profile copy, contact details, social links, and metadata.

Technical architecture

A single Next.js application serves public pages and authenticated admin routes. SQLite stores projects, settings, messages, and sessions. Admin Server Actions write to the database and refresh affected pages. Uploaded files live on disk; the media route handles byte-range requests in development, and the deployment configuration lets Nginx serve media in production. Optional email and Telegram integrations can forward contact notifications.

Engineering highlights

  • The upload route checks authentication, origin, and file signatures before media processing.
  • FFmpeg produces web-ready video and poster frames from uploaded files.
  • Session tokens are hashed before storage; passwords use scrypt.
  • Media paths are checked against traversal, and range responses support video seeking.
  • The contact form uses validation, a honeypot, and rate limiting.

My role

I built the public site, admin tools, database layer, and media workflow for this client portfolio.

Image Gallery

1 / 2

Client Reviews

Feedback from people who used or collaborated on this project.

Share your experience with this project