All work
Web

Shinhan Securities Vietnam website renewal

Assessment and proposal for rebuilding a legacy PHP site with Next.js — from PageSpeed 19 and a 7.2MB payload to contractual metric guarantees

Shinhan Securities Vietnam website renewal screenshot 1
View larger
Shinhan Securities Vietnam website renewal screenshot 2
View larger
Shinhan Securities Vietnam website renewal screenshot 3
View larger

Context

The Shinhan Securities Vietnam website renewal rebuilds a legacy site scoring 19 on mobile PageSpeed with a 7.2MB payload as a 3-language (VI·KO·EN) Next.js site, with PageSpeed ≥65 and LCP under 2.5s guaranteed as contractual metrics. Shinhan Securities Vietnam operates an official website for Vietnamese investors, supporting 3 languages: VI·KO·EN. It must comply with the financial institution's brand guidelines and guarantee security, performance, and SEO through contractual metrics.

Problem

The existing site's legacy PHP and custom CMS architecture resulted in a 7.2MB payload and a mobile PageSpeed score of just 19. Search and AI search (GEO) visibility and mobile account-opening conversion rates were also unmeasured, making it difficult to assess the current state.

What we did

  • Quantified the current state through a gap analysis across 6 axes (IA · i18n · color · typography · layout · UX).
  • Redesigned the architecture with Next.js 16 (App Router, SSR+ISR) + Sanity CMS + Cloudflare WAF.
  • Guaranteed performance, security, and SEO through contractual metrics (mobile PageSpeed ≥65, LCP <2.5s, CLS <0.10, INP <200ms, OWASP Top 10 Critical/High 0 findings).
  • Added a structure for AI search citations using 6 Schema.org types (FinancialService · FinancialProduct · BreadcrumbList · FAQPage · Article+Author, among others).
  • First built an HTML demo package of 12 pages so the client could review the screens.

Results

MetricValueNotes
Current-state assessmentMobile PageSpeed 19 · payload 7.2MBMeasured
Gap analysisPhase 1 design alignment 40% → 85%Analysis across 6 axes
Demo packageHTML completed for 12 pages
Guaranteed metrics (contract)PageSpeed ≥65 · LCP <2.5s · OWASP Critical/High 0
Schedule8 weeks, 12 months of free maintenance
Languages3 (VI default · KO · EN)

Timeline · Scale · Stack

  • Timeline: Gap analysis in 2026-05 → demo package in 2026-06 → quotation finalized in 2026-07. Main development has not started
  • Scale: 12 pages, 3 languages
  • Stack: Next.js 16 · TypeScript · TailwindCSS · Sanity CMS · Cloudflare Pro WAF · Schema.org

What this case shows

For a financial institution's website, contracts are based on metrics more than design. We measure the current state before starting and use the same measures again at completion.

Project details

Category
Web
As of

June 27, 2026

Reading time

2 min read

Tech stack
Next.jsReactTypeScriptTailwindCSSnext-intlSSR/ISRSchema.orgCore Web Vitals