Back to Case Studies

PT Global Bumi Utama — Company Profile & CMS Platform

Fullstack Developer
Team: 2
2025-12-15 - 2025-12-30
PT Global Bumi Utama — Company Profile & CMS Platform

Technology Stack

Next.jsTypeScriptTailwind CSSPrismaTursoTanStack QueryRadix UIFramer MotionZodVercel

Summary

A full-stack company profile platform built for PT Global Bumi Utama — an industrial solutions company — delivered solo in 14 calendar days. Beyond a static brochure site, the platform ships with a granular admin CMS where every section of every page is independently configurable, giving the client complete content ownership from day one with zero developer dependency post-launch.

Context & Requirements

PT Global Bumi Utama needed a professional digital presence to represent their industrial product lines, company identity, and career opportunities — but the project came with real constraints: a tight two-week window, a strict budget, and a non-technical team that would need to self-manage content after handoff.

The core challenge was delivering something that felt polished and enterprise-grade while keeping infrastructure costs near zero and making post-launch maintenance completely accessible to non-developers. Generic CMS platforms were ruled out early — they added licensing cost and configuration overhead. A custom-built solution with a purpose-designed admin panel was the right call.

Architecture

The platform is built on Next.js 15 (App Router), deployed to Vercel for zero-config CI/CD and global edge performance.

Database layer: Turso (libSQL) was selected as the primary database. Its serverless edge model and generous free tier — 500 databases, 1B row reads/month — cover a company profile's traffic profile completely, eliminating any recurring database cost. Prisma sits on top as the ORM for type-safe schema management and migration control.

Admin & data fetching: TanStack Query powers the admin panel's client-side data layer, enabling optimistic updates and background refetching for a snappy, responsive editing experience. Zod handles runtime validation across all admin forms, catching malformed input before it reaches the database.

UI & motion: Radix UI primitives provide accessible, unstyled components that are styled with Tailwind CSS. Framer Motion drives entrance animations and page transitions across all public-facing pages, giving the site a cohesive, high-quality brand feel without sacrificing performance.

Tech Stack:

  • Next.js 15 (App Router)
  • TypeScript
  • Tailwind CSS
  • Radix UI
  • Framer Motion
  • Prisma ORM
  • Turso (libSQL)
  • TanStack Query
  • Zod
  • Vercel

Key Decisions & Tradeoffs

Turso over traditional PostgreSQL/Supabase For a company profile with predictable, low-volume read/write patterns, paying for a hosted Postgres instance would be wasteful. Turso's free tier covers the entire usage profile, making it the correct budget-first choice — not a compromise, but an architectural match for the problem.

Per-page admin configuration over a monolithic CMS Rather than a single generic content editor, every page — Home, Company Profile, Industries, Products, Contact, Careers — has its own dedicated admin section. Content managers can update a hero banner on the homepage without touching any other page. This reduces training time, eliminates accidental cross-page edits, and makes handoff documentation significantly simpler.

AI-accelerated solo development This project was the first time systematically using Claude Code as a pair programmer throughout a solo sprint. The tooling proved highly effective for compressing the timeline: scaffolding Prisma schemas, generating Zod validators from form specs, and iterating on component structure rapidly. A full-stack platform that would typically require 4–6 weeks of solo work was delivered in 14 days without cutting corners on quality.

Implementation Notes

  • Built a custom admin dashboard with per-section content management — every text block, image, link, and CTA on every public page is independently editable
  • Optimistic updates via TanStack Query make admin interactions feel instant; changes reflect in the UI before the server confirms
  • Consistent Framer Motion entrance animations applied across all public pages — elements animate in on scroll, reinforcing a professional brand identity
  • Mobile-first responsive design validated across all major breakpoints
  • Collaborated with a UI/UX designer who provided visual direction; all technical implementation was handled solo

Results & Metrics

  • Delivered in 14 days — Dec 15 to Dec 30, 2025
  • Zero post-launch developer dependency — client independently manages all content updates
  • Post-launch activity: client has since added menu items and iterated on design configurations entirely through the admin panel
  • Zero database infrastructure cost on Turso's free tier with headroom to scale if traffic grows
  • Client satisfaction: the first feedback after launch was about design refinements, not missing functionality — a strong signal that the core delivery met expectations

What I Would Improve

Role-based access control — the current admin has a single-user model. Adding RBAC would allow multiple team members with scoped permissions, which will matter as the client grows.

Image optimization pipeline — a post-launch enhancement would add automatic WebP conversion and blur-placeholder lazy loading at upload time, reducing page weight without requiring manual effort from content editors.

Admin activity log — an audit trail of content changes (who changed what, when) would add accountability for teams with more than one editor, and is worth building in from the start on future projects.