---
title: "GO Inc — Multi-site Platform on GCP & AWS — Tran Manh Tuan"
description: "An ecosystem of 4 websites for the GO taxi brand — a 5-language product site, ATS-connected recruiting, a support center and corporate IR, with Slack-moderated publishing on Google Cloud + AWS."
canonical: "https://tmtuan.dev/en/projects/go-inc"
language: "en"
image: "https://tmtuan.dev/_img/projects/go-inc-jp/go-inc.c03d637d-og.jpg"
tokens: 1299
---

# GO Inc

**GO** is the taxi-hailing brand of **GO Inc.**, whose business lines each have their own website: the product site **go.goinc.jp**, the recruiting platform **GO Job**, the business customer support center **support.go-business.jp** and the corporate / IR site **goinc.jp**. The brief across all of them: the content team operates all 4 sites through one unified process, content is reviewed before it reaches production, only authorised people can deploy, and the whole thing stays ready to move to new infrastructure without taking a site down.

The product site supports **5 languages** with its own translation-management system; a taxi fare lookup by prefecture and location draws data from GO's core API — call rates are throttled so the core system can never be overloaded, and sitemaps are auto-generated and split for SEO. Many parts (the main site, GO BUSINESS, ticket, GO CALL PRO and 20+ campaign landing pages) compose into one unified site on a **Turborepo** monorepo, built in parallel with multi-layer caching, which keeps release times short.

Publishing follows a **ChatOps** model: an editor publishes in **Contentful**, the person in charge gets a Slack notification and clicks Deploy to push to production — or Revert to restore the previous version with a single click; a Deploy to Dev button sits right inside the CMS and drafts appear on staging for review before going public. The CMS is tailored with custom extensions: collision-free ID generation, a drag-and-drop area-list editor with a Japanese UI, SEO fields for OG/Twitter and a deploy trigger button — editors work fast and make fewer mistakes.

**GO Job** connects directly to the **PORTERS** ATS: job postings sync automatically, data is stored in **BigQuery** and images are served through a dedicated CDN; pages refresh through **ISR**, so a changed posting never forces a full site rebuild. Application forms (per audience: candidates, businesses, rideshare) create candidate records directly in PORTERS and block bots with reCAPTCHA Enterprise; confirmation emails go out automatically through **SendGrid**, with the template and sender address picked by job type and employment form, and the system notifies Slack per form type and raises an immediate alert when an email fails to send.

The support center **support.go-business.jp** splits its content — feature guides, FAQs, videos, seminars — between administrators and employees of business customers; full-text search runs through a dedicated API; a custom block editor lives right inside Contentful (responsive images, tables, callouts) with bulk CSV import; and the standard security headers are in place (HSTS, clickjacking protection, MIME-sniffing protection).

The corporate / IR site **goinc.jp** (Japanese + English) carries the IR document library, financial figures, leadership and stock information, with 3D effects and animation for brand impact; after the rebrand, every link on the old domain 301-redirects to the new one, and every change gets a Deploy Preview. Operations are tightly controlled: only people on an approved list can deploy to production, staging is protected by password or IP allowlist, and each service is granted only the permissions it needs. The pipeline also deploys in parallel to **AWS S3 + CloudFront** (authenticated via OIDC, no long-lived access keys) to serve the client's migration path to a new architecture while the current site keeps running.

## Details

- **Role:** Technical Lead
- **Website:** [go.goinc.jp/](https://go.goinc.jp/)

## Technology

- Next.js
- React
- Nuxt
- TypeScript
- Turborepo
- Contentful
- Node.js
- Express
- BigQuery
- PORTERS
- SendGrid
- reCAPTCHA
- Slack
- Cloud Run
- Firebase Hosting
- AWS S3
- CloudFront
- Github Action
- Docker

## Services this project shows

- [Corporate & Content Web Platforms](https://tmtuan.dev/en/services/web-platforms)
- [Cloud Infrastructure](https://tmtuan.dev/en/services/gcp-cloud-infrastructure)

## Related articles

- [Docs-as-code Knowledge Base + Context Graph for a 15-project portfolio](https://tmtuan.dev/en/articles/knowledge-base-docs-as-code-context-graph)
- [How I Traced a Googlebot-only HTTP 500 Across Next.js, Cloud Run and the Hosting Edge](https://tmtuan.dev/en/articles/googlebot-500-firebase-hosting-nextjs)

## Structured data (JSON-LD)

```json
{"@context":"https://schema.org","@graph":[{"@type":"WebPage","@id":"https://tmtuan.dev/en/projects/go-inc#webpage","url":"https://tmtuan.dev/en/projects/go-inc","name":"GO Inc — Multi-site Platform on GCP & AWS","description":"An ecosystem of 4 websites for the GO taxi brand — a 5-language product site, ATS-connected recruiting, a support center and corporate IR, with Slack-moderated publishing on Google Cloud + AWS.","inLanguage":"en","isPartOf":{"@id":"https://tmtuan.dev/#website"},"about":{"@id":"https://tmtuan.dev/#person"}},{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://tmtuan.dev/en"},{"@type":"ListItem","position":2,"name":"Projects","item":"https://tmtuan.dev/en/projects"},{"@type":"ListItem","position":3,"name":"GO Inc","item":"https://tmtuan.dev/en/projects/go-inc"}]}]}
```
