The concept needed to connect two flows that usually live apart: people requesting organic waste pickup and people buying recycled products. Admin and field staff also needed their own operational views.
How I fixed it
I built a Laravel app with user, petugas, and admin areas. Users can request pickup, shop products, use points at checkout, and pay through Midtrans while admins assign staff and manage products.
What it can do
Organic waste pickup requests
Petugas assignment workflow
Reward point ledger
Product catalog and cart
Midtrans checkout
Cloudinary product images
The stack that shipped it
Laravel handled the role-heavy business logic cleanly, Livewire kept admin tables productive, Cloudinary covered product images, and Midtrans made the checkout flow realistic.
What changed
NutriCycle became a working circular-economy demo that shows both customer experience and back-office operations in one product.
What I learned
This project sharpened how I model roles, status changes, and transactions without making the UI feel like an internal database dump.