Skip to main content
Back to projects
Shipped May 2025 — June 2025 Design, development, and deployment

MAFELSA Distribuidora

Corporate site with a 10-product, 3-service forestry catalog and a Filament admin replacing static content.

Screenshot of the MAFELSA site: hero section with a forest and the tagline ‘We process nature with respect and vision’
10
Products
3
Services
3
CRUD entities
  • Laravel
  • Filament
  • Tailwind CSS
  • Vite
  • Pest
  • MySQL
  • Axios

Problem

MAFELSA is a Peruvian forestry distributor with 23 years in the market: eucalyptus, pine, bamboo, mats, pallets, wood chips. Their previous website was static HTML: changing a product price, adding a new service, or checking who filled out the contact form required opening an editor and committing by hand.

The commercial team isn’t technical and needed autonomy to maintain the catalog and read messages without depending on a dev.

Approach

Greenfield Laravel + Filament + MySQL. The public site is still fast HTML (server-rendered from Laravel), but the content comes from a database the team manages through Filament: 3 CRUD entities (products, services, contact messages) plus a dashboard with active products, active services, and unread messages.

Decisions

  1. Filament over a custom Laravel admin: for a company not paying a SaaS service and needing editorial autonomy, Filament had the lowest TCO. It generates typed resources (with validation, search, pagination, filters) in a single class declaration. A custom admin would have added weeks of non-differentiating work to the product.

  2. AVIF for product imagery: forestry product photos are real photographs (not illustrations), where AVIF cuts 30–50% file size vs WebP at equivalent quality. In the Peruvian context (high share of mobile traffic on 4G), every KB matters so the catalog loads fast. Filament supports AVIF in its image uploader out of the box.

  3. Third-party live chat widget (over building one in-house): the team needed business-hours customer support, not a ticketing system or long conversation history. Embedding a free widget (Tawk.to or similar) took minutes and delivered the business value; building one in-house would have been over-engineering for 3 services.

Result

  • 10 products and 3 services fully administrable (previously 0 — all static).
  • Content update time dropped from “open a PR” (hours) to “edit in Filament and save” (seconds).
  • Contact messages centralized, with an unread badge on the dashboard.
  • The commercial team has maintained the site without technical intervention since launch.