09/11
Case Study
New April 1, 2025 GovernmentKemenperinPHP

TKDN Website — Kemenperin, Ministry of Industry

The public face of domestic-content certification — from a PHP 5 certificate bulletin to an instant, API-verifiable registry on the shared Svelte + Go platform.

Year
2025
Focus
Government
Reading
4 min· 8 sections
Published
Web
Featured Page
TKDN Website — Kemenperin, Ministry of Industry
Full Capture
TKDN Website — Kemenperin, Ministry of Industry — detailed view

Project Overview

The TKDN website is the public face of Kemenperin’s domestic-content certification program (Tingkat Komponen Dalam Negeri). It’s where companies apply for certification, where the public verifies issued certificates, and where procurement systems confirm that a product actually carries a valid TKDN percentage. Like the other Kemenperin platforms, it has been rebuilt across four eras — PHP 5, PHP 8, React + Hono, and the consolidated Svelte + Go stack — with each era tightening the trustworthiness of the certificate registry.

"A certificate registry lives or dies on trust. Every era of this platform was ultimately about making "is this TKDN number real?" a question a computer can answer in milliseconds."

Engineering Notes Kemenperin TKDN Website

The Evolution — 4 Stacks, One Mission

Every rewrite preserved the program’s core workflow while replacing the foundation underneath it.

01

01. PHP 5 — The Certificate Bulletin · 2018 — 2020

The first TKDN web presence: company submissions, certificate lookups, and verification requests through server-rendered PHP 5 pages on shared hosting.

02

02. PHP 8 — The Structured Registry · 2020 — 2022

The PHP 8 rebuild turned certificate records into a structured registry: staged verification workflow, document checklists, and searchable public certificate pages.

03

03. React + Hono — The Public Verification API · 2022 — 2024

A React portal on a Hono API: self-service application tracking, instant certificate verification, and a typed review queue — the same decoupled stack as its sibling platforms.

04

04. Svelte + Go — The Consolidated Registry · 2024 — Present

TKDN consolidated onto the shared Svelte + Go platform — instant certificate lookups for the public, one deploy pipeline across all Kemenperin programs.

04 Stack Eras

Complete rewrites across the platform’s lifetime.

Verify Public Function

Certificate lookup and API verification for procurement systems.

04 Languages

PHP, TypeScript, Svelte, and Go across the eras.

Svelte + Go Shared Stack

Consolidated on the same platform as the other Kemenperin systems.

Era 01 — PHP 5 — The Certificate Bulletin

The TKDN (Tingkat Komponen Dalam Negeri — domestic content level) website began on the same PHP 5 stack as the other Kemenperin systems. Companies submitted certification requests, uploaded supporting documents, and looked up issued TKDN certificates through server-rendered pages backed by a single MySQL database. Public visitors could verify certificate numbers — a critical trust function for government procurement — but the lookup was a plain table scan behind a form, and every certificate cycle meant staff keying in results by hand. Recap — Put the certificate registry online — lookup worked, but nothing was built to scale trust.
TKDN PHP 5 — certificate lookup form

Certificate lookup

TKDN PHP 5 — certification submission

Certification submission

TKDN PHP 5 — admin list

Admin certificate list

Era 02 — PHP 8 — The Structured Registry

The PHP 8 rebuild gave the TKDN registry real structure. Certification requests moved through explicit verification stages, required documents became typed checklists, and certificates themselves became first-class records — number, product scope, validity window, and the calculation breakdown behind the TKDN percentage. The public lookup became an indexed search instead of a table scan, and staff gained batch tools for issuing certificates at the end of each verification cycle. Recap — Certificates became data — searchable, structured, and auditable for the first time.
TKDN PHP 8 — certificate registry

Structured certificate registry

TKDN PHP 8 — verification pipeline

Verification pipeline

TKDN PHP 8 — public certificate search

Indexed public search

Era 03 — React + Hono — The Public Verification API

Era three moved TKDN to the decoupled stack shared across Kemenperin systems: a React portal where applicants tracked their certification status in real time, and a Hono API that exposed certificate verification as a public endpoint — so procurement systems and buyers could validate a TKDN number programmatically, not just by reading a PDF. Behind the portal, staff worked from a typed review queue with the same staged pipeline, now fed by asynchronous document uploads instead of single form posts. Recap — Verification became an API — trust in TKDN certificates stopped depending on a phone call.
TKDN React — applicant portal

Self-service applicant portal

TKDN React — public verification

Public certificate verification

TKDN React — staff review queue

Staff review queue

Era 04 — Svelte + Go — The Consolidated Registry

The current TKDN website runs on the consolidated Svelte + Go platform shared with Business Matching and P3DN Fasilitasi. The SvelteKit frontend serves the public certificate lookup with SSR speed, while the Go backend handles application intake, the verification pipeline, and the public verification API from a single binary. Three Kemenperin programs now share one stack and one deployment story — the TKDN registry benefits from every platform improvement the other systems drive, and certificate verification stays fast enough for procurement systems to call in-line. Recap — Three programs, one platform — the certificate registry that procurement can actually depend on.
TKDN — current platform home

Current platform home

TKDN — instant certificate lookup

Instant certificate lookup

TKDN — staff console

Staff console

Lessons Carried Forward

What the certificate registry taught across four eras.

Trust Is a Latency Problem

A certificate check that takes seconds gets skipped. Indexed lookups and a public verification API made "check the TKDN number" cheap enough to do every time.

Certificates Are Data, Not PDFs

Once the registry stored number, scope, validity window, and calculation breakdown as fields, certificates could be searched, expired, and verified programmatically — the PDF became a rendering, not the record.

Self-Service Unblocks Cycles

Status tracking and async uploads removed the constant "where is my application" load on staff — the same lesson as P3DN, learned a second time.

Shared Platforms Compound

On the consolidated stack, every improvement to auth, caching, or deploys lands on all three Kemenperin programs at once — the registry improves even when nobody touches it.

Where It Stands Today

The TKDN website runs on the consolidated Svelte + Go platform alongside Business Matching and P3DN Fasilitasi — the same certificate program that started as a PHP 5 bulletin, now an instant, API-verifiable registry that procurement systems can call in-line.