October 8, 2026
Mortar Ramaindo — Company Website & Internal App.
Backend · FrontendA bilingual company website and a sales-management web app for a dry-mortar manufacturer in Lamongan: distributor targets and realizations, programs, promo budget, documents, and a mobile sales portal.

Description
Two projects for PT Rama Mortar Indonesia, a dry-mortar manufacturer in Lamongan, East Java, with the brands Ramaindo and 5 Satu Mortarindo:
- Company website (mortarramaindo.id ) — a multipage, bilingual (Indonesian/English) site with products, gallery, news, FAQ, testimonials, and a contact form, managed from an admin panel.
- Internal app — a web app that replaces the company’s old “Marketing Management System” and the Excel files used to track distributor targets, cashback, and promo budget.
Background
The company sells through distributors across several areas. Targets, realizations, and cashback programs lived in many spreadsheets, and the old system no longer matched how the business worked. At the same time, the brand needed a modern website that ranks for local searches such as “jual mortar Paciran”.
Goal
Give the marketing team one place to plan and track distributor performance, and give the brand a fast, SEO-friendly website that the team can update on its own.
Features
Website
- Multipage site with SEO per page, an English version under
/en, and awwwredirect. - Hero slideshow, product catalog (both languages edited in one form), gallery, articles, FAQ, and testimonials.
- Contact form and WhatsApp consultation button.
Internal app
- Users, roles, permissions, and a data scope per user (all, per plant, or per area).
- Master data: plants, areas, cities, salespeople, distributors with their warehouses, products, and prices.
- Monthly targets and daily realizations per distributor, warehouse, and product — including an import from the sales app with mapping, where missing distributors, warehouses, areas, and products can be created on the spot.
- Configurable distributor programs (cashback and rewards per month, semester, or year) and a promo budget built from sales volume, with allocations and expenses.
- Documents: archive, Word-like templates with merge fields, PDF output, and automatic numbering.
- Sales portal: field salespeople do not log in — they open a tokenized, mobile-first page that shows their target, realization, and achievement.
- Excel reports with the company letterhead, and a light/dark/system theme.
Technologies
- Laravel 13 with Blade, Livewire, Alpine.js, and Tailwind CSS 4 — a server-rendered admin built in-house, no third-party admin panel.
- Laravel Fortify for auth and spatie packages for permissions, media, and activity logs.
- Tiptap for the document template editor and dompdf for PDFs.
- Pest for tests.
Technical Decisions
The website is built on DigiCMS, my own Laravel CMS starter kit: it is copied into a new repo per client, unused modules are removed, and client-specific modules (here: products and slides) are added.
Production runs on shared hosting without Node or Chrome, so built assets are committed and PDFs are generated in pure PHP. The internal app’s schema is documented table by table before it changes, because the business rules (programs, budgets, achievements) are easy to get wrong.
What I Learned
Replacing spreadsheets is mostly about understanding them. Reading the client’s real Excel files first — targets, cashback, and years of sales data — showed which numbers mattered and how the new screens should be grouped.
Notes
The source code is private (client project).

Hey! I’m Fanny, the software engineer tending to this digital garden. You can read more about me, or subscribe by email.