← projects

[Saju]

Four Pillars Oracle

A Korean Saju astrology web app — free chart, deep reading, optional account. Co-built; I owned the edge deployment.

● EvolvingProduct & FrontendPersonalNext.jsReactCloudflare WorkersSupabase
01 /context

A side project with a partner: turn a dense traditional system into a web product.

02 /my role

Co-built. My part: deploying the Next.js app to Cloudflare Workers through OpenNext, a site-cohesion pass (shared header, preview and readings pages) and a free-preview dev mode. The reading engine and most of the product are my partner's.

03 /problem

The app needed full SSR at the edge, and the default setup failed to build or to resolve its own dependencies.

04 /how it works
  1. 01 · OpenNext on Workers

    Workers with Assets for SSR plus static files, deploying the whole .open-next output so the worker can resolve its dependencies.

  2. 02 · Edge-compatible middleware

    A Node-only proxy replaced by middleware declared for the Edge runtime.

  3. 03 · Build fixes

    pnpm workspace config and a missing OpenTelemetry package that broke esbuild bundling.

  4. 04 · Preview environment

    A dev environment in the Workers config for preview deployments, plus a flag to preview reports for free.

05 /architecture
01
Free chart
02
Deep reading
03
Optional account
04
Supabase
05
Cloudflare Workers (OpenNext)
06 /results
Running at the edge with SSR.
07 /what broke and what I changed
  • ! brokePages and Workers settings conflicted (Pages doesn't accept a main entry).

    → changedMoved to Workers with Assets.

08 /related