E-Commerce Platform for a Local Florist
A full-stack e-commerce platform for a Yogyakarta florist — storefront, admin dashboard, and an automated payment-to-invoice pipeline on Laravel, Vue, Inertia.
~ fadjar rafi
3+ years shipping systems end to end—from Laravel + Vue storefronts with live payment flows to a retrieval-augmented summarisation service on FastAPI, Qdrant, and an LLM. Two of those systems, traced:
payments · square indonesia
checkout → Xendit → webhook → order status
ai pipeline · imp
LMS content → Qdrant → DeepSeek → summary
Feb 2026 - Present
Maintain an HRIS—fixing broken report exports and form-logic failures—and built a Bash + FFmpeg pipeline that compresses and standardises LMS course video uploads.
Jul 2023 - Jul 2025
Shipped e-commerce and company sites end to end for direct clients, including a Laravel + Vue storefront with a full Xendit checkout and webhook-based order status, scoping requirements and triaging fixes myself.
Jan 2023 - Jan 2025
Built a CMS for hotel IPTV deployments—real-time content, schedules, and API sync across the Android app and backend—while keeping internal tools like network monitoring running.
Sep 2025 - Dec 2025
Built an AI summarisation service for an existing LMS—a FastAPI backend with a Qdrant retrieval pipeline feeding chunked content to DeepSeek for on-demand and batch summaries.
A full-stack e-commerce platform for a Yogyakarta florist — storefront, admin dashboard, and an automated payment-to-invoice pipeline on Laravel, Vue, Inertia.
A company profile site for ODO Dental Clinic — a public landing page and role-based admin dashboard for articles, leads, newsletters, and a doctor Q&A.
Six AI-powered modules integrated into an existing LMS, automating content management and personalizing learning for Islamic educational institutions.
Caching: When to Use It, and When Not To
Caching trades freshness for speed — worth it once recomputing is the real bottleneck, a liability when it isn't. How to tell which situation you're in.
August 11, 2026
Hydration
Hydration makes a server-rendered page clickable — it walks the painted HTML, matches it to what the framework would render, and wires up interactivity.
August 9, 2026
The N+1 Query Problem
The N+1 query problem happens when a list view fires one query per row instead of one query total — how to spot it and fix it with eager loading and batching.
July 22, 2026
Branching Strategy in Git
A branching strategy is the rules a team agrees on for creating, naming, and merging branches — shipping calmly vs. a 5pm Friday merge conflict.
July 14, 2026