Home
Proof of Work
arrow_back Back to Proof of Work Featured Build

SIM Casting — PT. JBTB Casting Creative Group

A Laravel 13 system that replaced a casting agency's manual WhatsApp, Excel, and Drive workflow, so fee agreements, staff honor, and project finances are recorded instead of argued over later. Built as a team final year project, where I lead the build: data model, backend, and full-stack logic end to end.

photo_camera Screenshot coming soon

Why I Built It

I wanted my final year project to solve a real problem for a real company, not be a tutorial-scale CRUD app. The agency's own team described how fee deals and pay were tracked across chat threads and spreadsheets, and our team took that on as the project, with me leading the system build while teammates cover the academic documentation.

Project Goal

Replace the agency's manual recruitment-and-payment process with one system that solves three concrete problems: fee agreements between Admin and Extras that can't be disputed after the fact, staff honor that comes with a clear payslip per project instead of a guess, and project finances (income, receivables, expenses, balance, projection) computed from a single source instead of scattered spreadsheets.

RoleProject Lead & Lead Developer
PeriodSep 2026 – Present
TypeFinal Year Project · team of 3
ArchitectureLaravel 13, Blade, role-based access control

What It Does

Key Screens

Tech Stack

Laravel 13 PHP 8.3 MySQL Blade WhatsApp Gateway

Mass assignment is attribute-based (PHP 8 #[Fillable]) rather than the classic $fillable property, paired with Model::preventSilentlyDiscardingAttributes() in non-production, so a forgotten column on a new field throws immediately in dev instead of silently dropping data in production. NIK lookups use a separate HMAC-hashed column (keyed independently from APP_KEY) specifically so duplicate-detection queries never need to decrypt the encrypted NIK column itself.

Open to full-time Full Stack Developer opportunities.

Download CV Email Me