Files
cnx_vinyl/site/public/index.html
T
grabowski 40c049ae15
Deploy test site / deploy (push) Successful in 55s
Investor deck: 15 web slides with presenter view, plus PDF
User, 19 Oct 2026: build a high-end investor pitch deck; the whole
plant, web slides on the test site with presenter mode plus a PDF,
12 to 15 slides, both plans, for a BOI / bank / institutional reader.

- docs/pitch/index.html (site /pitch/): title, opportunity, the chain
  under one roof, how a record is made (9 stages, 3 gates, traceability,
  ERPNext), platform, site and building, sustainability and region,
  investment A vs B by block with the six levers (no contingency in
  either price), operating picture with the adverse case, ten-year cash
  and returns (calculator presets), BOI promotion and the 3:1
  debt-to-equity condition (financing structure to be agreed), schedule,
  risks, team and vendors, the ask (phase 0 then tranches).
- Every figure carries a source line (business plans draft 0.3 and the
  owning docs); speaker notes per slide; P opens a synced presenter
  window, O the overview, F fullscreen, #n deep links.
- img/: six WebP pictures (calculator renders, order tool, fan funding,
  record passport); CNX-Vinyl-Investor-Deck.pdf, 15 pages 16:9, images
  re-encoded to 1.5 MB.
- site/build.sh copies docs/pitch/ to /pitch/ (new DIRS list); the
  deploy also triggers on docs/pitch/**; landing page and README entries.
- Checks: 15 slides at 1920/1440/1280/390 px without overflow, navigation,
  presenter sync both ways, PDF pages and text, no em dashes.
2026-10-19 17:35:34 +07:00

189 lines
8.4 KiB
HTML

<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="robots" content="noindex, nofollow">
<title>CNX Vinyl · internal test site</title>
<script>
(function(){var t=null;try{t=localStorage.getItem("cnx-theme")}catch(e){}
if(t!=="light"&&t!=="dark")t=window.matchMedia&&matchMedia("(prefers-color-scheme: light)").matches?"light":"dark";
document.documentElement.setAttribute("data-theme",t);})();
</script>
<style>
:root {
--bg: #0a0f1a; --panel: #0f1626; --stroke: #2a3a56;
--fg: #d6deeb; --mute: #8a97b0; --accent: #3ddc84;
}
:root { color-scheme: dark; }
html[data-theme=light] {
color-scheme: light;
--bg: #f4f6fa; --panel: #ffffff; --stroke: #cfd8e6;
--fg: #1b2533; --mute: #5b6880; --accent: #0e8f4f;
}
main { position: relative; }
.themebtn {
position: absolute; top: 48px; right: 20px; background: var(--panel); color: var(--fg);
border: 1px solid var(--stroke); border-radius: 5px; padding: 6px 12px; font: inherit; font-size: 14px; cursor: pointer;
}
.themebtn:hover { border-color: var(--accent); }
* { box-sizing: border-box; }
body {
margin: 0; background: var(--bg); color: var(--fg);
font: 16px/1.5 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}
main { max-width: 760px; margin: 0 auto; padding: 48px 20px; }
h1 { margin: 0; font-size: 28px; letter-spacing: 0.02em; }
.tag {
display: inline-block; margin-top: 6px; padding: 2px 8px;
border: 1px solid var(--stroke); border-radius: 4px;
color: var(--mute); font-size: 13px;
}
p.lead { color: var(--mute); margin: 18px 0 32px; }
h2 {
font-size: 13px; text-transform: uppercase; letter-spacing: 0.08em;
color: var(--mute); margin: 32px 0 12px;
}
ul { list-style: none; margin: 0; padding: 0; }
li a {
display: block; padding: 14px 16px; margin-bottom: 10px;
background: var(--panel); border: 1px solid var(--stroke); border-radius: 6px;
color: var(--fg); text-decoration: none;
}
li a:hover, li a:focus-visible { border-color: var(--accent); }
li strong { display: block; color: var(--accent); font-weight: 600; }
li span { color: var(--mute); font-size: 14px; }
footer { margin-top: 40px; color: var(--mute); font-size: 13px; }
</style>
</head>
<body>
<main>
<button class="themebtn" id="themeBtn" type="button">Light mode</button>
<h1>CNX Vinyl</h1>
<span class="tag">internal test site</span>
<p class="lead">
Demos and static pages from the CNX Vinyl planning repository, a vinyl
pressing plant planned near Chiang Mai. Shared by link only and not
indexed. Figures in the demos are planning estimates.
</p>
<h2>Investor deck</h2>
<ul>
<li>
<a href="pitch/">
<strong>Investment proposal (slides)</strong>
<span>The plant in 15 slides for BOI, bank and institutional
readers: the opportunity, the full chain under one roof, the
platform, site and utilities, Plans A and B by block, the operating
picture with its adverse case, cash and returns, BOI promotion and
its conditions, schedule, risks, team and the ask. Press P for the
presenter view; a PDF is linked in the control bar.</span>
</a>
</li>
</ul>
<h2>Demos</h2>
<ul>
<li>
<a href="demos/plant-operation/">
<strong>Plant overview (simulated SCADA)</strong>
<span>The launch plant animated at real cycle times: one Newbilt
Duplex system and one Classic press, Pheenix Alpha electroforming and
Sibert stamper prep, from PVC intake and the material lab through pressing,
inspection, packaging and fulfillment, with the artist gates,
utilities and energy alongside. Real time up to a day in 24 s;
every station is clickable; on a phone, turn it sideways and pinch
to zoom.</span>
</a>
</li>
<li>
<a href="demos/fleet-calculator/">
<strong>Plant and business plan calculator</strong>
<span>Set the records a year and configure the plant: presses,
galvanics in-house or bought stampers, cutting in-house or
outsourced, metrology, solar, steam fuel and more. It builds the
investment from the launch-plant blocks, checks it against the
investor's 180M and 216M THB, runs the money a year and a ten-year
cash sketch, and lists what the plant needs, from the launch plant
to a fully equipped press hall. Every assumption is editable and a
scenario can be shared by link.</span>
</a>
</li>
<li>
<a href="demos/steam-cooling/">
<strong>Steam and cooling plant</strong>
<span>The utilities for the launch plant (one Duplex system and one
Classic on two boiler and two chiller modules, rooms built for four)
as a clickable process diagram: boiler bank, steam header and
condensate return, chiller bank, plate heat exchanger and a branch to
every press position. Switch between the launch plant, the Duplex
commissioned first, the second Duplex growth option and one module
down to see demand against installed capacity.</span>
</a>
</li>
<li>
<a href="demos/make-a-record/">
<strong>Make a record (investor demo)</strong>
<span>The artist platform as a customer sees it: design a record
against a to-scale mock-up, check the music and artwork, see one
clear price, let fans fund the pressing, follow production through
the artist approvals and open the record passport of one delivered
copy. Switch on investor notes for the business case behind each
step, or press Tour for a one-minute walk-through. Prices in THB,
USD or EUR; English or Thai.</span>
</a>
</li>
<li>
<a href="demos/factory/">
<strong>Factory console and order status (investor demo)</strong>
<span>The factory application on a simulated plant day: a Newbilt
Duplex system and a Classic with live counters, work orders for
every station, every record through optical
inspection, audio samples, the material lab gate, stamper
metrology and the hash-chained event log. Switch to the customer
portal to follow the same orders: steps and approvals, copies
pressed so far, lab and inspection results. Simulated data.</span>
</a>
</li>
<li>
<a href="demos/order/">
<strong>Order a record (step by step)</strong>
<span>The order tool as a step-by-step configurator: size, discs,
vinyl colour and effects, labels, sleeves, jacket and finish,
extras, mastering and cutting, test pressings, shipping, track list
and artwork, each step with its choices, beside a large live picture
of the record that changes with every choice and a running price and
ship date. Ends in a review that lists what is still missing and the
itemised quote. Indicative demo prices; nothing is uploaded or
sent.</span>
</a>
</li>
<li>
<a href="demos/artist-order/">
<strong>Artist ordering and fan funding</strong>
<span>Configure a record, type the track list or drop the master
files and artwork (checked in the browser, nothing is uploaded), get
an itemised offer with the price per copy against quantity and the
lead time, then order directly or run a fan-funded campaign to a
funded or missed end and follow the production through the artist
approvals. Indicative demo prices.</span>
</a>
</li>
</ul>
<footer>Built from <code>site/</code> in the cnx_vinyl repository.</footer>
</main>
<script>
(function(){
var b=document.getElementById("themeBtn"),de=document.documentElement;
function set(t,save){de.setAttribute("data-theme",t);if(save){try{localStorage.setItem("cnx-theme",t)}catch(e){}}
b.textContent=t==="light"?"☾ Dark mode":"☀ Light mode";b.title="Switch to "+(t==="light"?"dark":"light")+" mode";}
set(de.getAttribute("data-theme")||"dark",false);
b.addEventListener("click",function(){set(de.getAttribute("data-theme")==="light"?"dark":"light",true);b.blur();});
var mq=window.matchMedia&&matchMedia("(prefers-color-scheme: light)");
if(mq&&mq.addEventListener)mq.addEventListener("change",function(e){var s=null;try{s=localStorage.getItem("cnx-theme")}catch(_){}if(!s)set(e.matches?"light":"dark",false);});
})();
</script>
</body>
</html>