PT Global Bumi Utama — Company Profile & CMS Platform

Technology Stack
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.
Related Projects
Explore more of my work

