Deploy test site / deploy (push) Successful in 50s
User request (October 2026): the order tool needs a thin / thick spine selection, templates for the jacket and label upload, and must accept AI and PDF files. Both artist demos (artist-order, make-a-record): - Spine: thin 3 mm (one record) or thick 5 mm (two records, or a thick insert); a double album in a single jacket takes 5 mm, thin is then disabled; 7", gatefold (7 or 9 mm) and own jacket disable the row with the reason. Quote line 'Thick 5 mm spine' (R.spine 12 / 10 THB per copy, estimate from QRP 0.90 vs 0.55 USD and Kudos 137.50 GBP/order). Mock-up draws the spine edge to scale; caption names it. - Templates: vector PDFs written in the browser for the current choice: jacket spread (back, spine, front; 633/635 x 315 mm for 12" from Mighty Media Discs), gatefold with an inside page, labels with a page per side and the dinked hole; trim and bleed boxes set, 3 mm bleed, 5 mm safe area, folds, crop marks, guidance notes. - Uploads accept PDF, AI (PDF-compatible) and images. PDFs are read in the browser (object streams inflated with DecompressionStream): page boxes, pages, PDF/X, creator, colour spaces, font embedding; checks against the chosen spine (a 5 mm spread on a 3 mm order is flagged), bleed, CMYK, fonts; old PostScript-only AI files are refused with the fix. Image spreads are measured the same way. Preview via pdf.js (jsDelivr, loaded only when a PDF arrives); the front panel goes into the mock-up. artist-platform.md: new section 'Artwork templates and files' with the sources; preflight step links it; RI 'left out' list updated. README demo bullet. Checked headless on Edge: fixtures (3/5 mm spreads, no bleed, AI, legacy AI, front only, labels, 150 dpi PNG), downloaded templates parsed with PyMuPDF, 390/1024/1280 px no overflow, dark and light, no page errors; pw_mr_check --tour and pw_ri unchanged (37,836 / 232).
350 lines
21 KiB
Markdown
350 lines
21 KiB
Markdown
# CNX Vinyl / Poy Records
|
||
|
||
<img src="docs/brand/poyrecord-logo-1536x1536.png" alt="Poy Records logo" width="160">
|
||
|
||
A vinyl record factory in planning for the Chiang Mai area of northern
|
||
Thailand (site candidates include Lamphun and Lampang provinces and, since
|
||
October 2026, Payap University land in Chiang Mai). This repository is
|
||
the source of truth for the project: planning documents and cost data
|
||
today. As the factory takes shape it will also hold the data and software
|
||
used to run it.
|
||
|
||
## Team
|
||
|
||
- **Simona Meesaiyati**, Project Lead: management and the audio side
|
||
- **Alexander Grabowski**, Technical Consultant: the technical side
|
||
|
||
[buildfor.life](https://buildfor.life) supports the project in a consulting
|
||
capacity.
|
||
|
||
## Vision: Full-Service Production
|
||
|
||
The goal is the complete vinyl production chain under one roof, from audio
|
||
file to delivered record:
|
||
|
||
1. **Mastering**: audio mastering for vinyl
|
||
2. **Lathe cutting**: cutting the master disc
|
||
3. **Silvering**: metallizing the cut master
|
||
4. **Stamper production**: electroforming nickel stampers in-house
|
||
5. **Pressing**: extrusion and pressing of the records, with the labels
|
||
pressed in
|
||
6. **Finishing**: trimming, sleeving, shrink wrapping
|
||
7. **Packaging**: folded paper cartons (jackets and sleeves), produced in
|
||
collaboration with local packaging manufacturers
|
||
8. **Fulfillment**: dropshipping directly to end customers on behalf of
|
||
labels and artists, alongside conventional bulk delivery
|
||
|
||
In-house galvanics (steps 3 and 4) removes the dependency on overseas stamper
|
||
suppliers, a common bottleneck for pressing plants, and shortens turnaround
|
||
for clients. Partnering with local carton manufacturers keeps packaging
|
||
sourcing close to the plant, in line with the local-sourcing preference for
|
||
materials. The pressing line is documented in detail, galvanics and stamper
|
||
prep from vendor datasheets; equipment, partners, and budgets for the other
|
||
steps are open planning items.
|
||
|
||
## Project Status
|
||
|
||
**Planning stage** (as of October 2026).
|
||
|
||
- Industry outreach has been ongoing for several years: equipment vendors,
|
||
material suppliers, and independent consultants.
|
||
- Alexander and Simona attended
|
||
[Making Vinyl Europe 2026](https://makingvinyl.com/) in Haarlem (30
|
||
September to 2 October). Most people they talked to were strongly
|
||
interested in the full-traceability approach, and for Sibert it was a
|
||
reason to engage at all (notes in the
|
||
[exhibitor briefing](docs/suppliers/making-vinyl-europe-2026-exhibitors.md#after-the-show)).
|
||
- Payap University (Chiang Mai) has offered land on lease and wants to
|
||
build joint student programmes with the plant. The point it gave for the
|
||
land is zoned very high density residential in the Chiang Mai city plan,
|
||
where record pressing is not permitted (checked October 2026); other
|
||
Payap land would need checking
|
||
([site candidates](docs/site-candidates.md),
|
||
[Payap partnership](docs/payap-partnership.md)).
|
||
- A collaboration with [ResurRec](https://www.resurrec.com/) is under
|
||
discussion.
|
||
- Back from Haarlem, the team is preparing a meeting with the project's
|
||
investor (October 2026). Post-show follow-ups with Pheenix, Sibert, OMS
|
||
and SST are in the
|
||
[exhibitor briefing](docs/suppliers/making-vinyl-europe-2026-exhibitors.md#after-the-show).
|
||
|
||
## Planning Documents
|
||
|
||
The detail lives in dedicated documents:
|
||
|
||
- [Roadmap](docs/roadmap.md): next steps in dependency order, from the
|
||
three current gates (market validation, BOI, land title check) through
|
||
quotes, commitment, build, launch, and expansion
|
||
- [Pressing line equipment plan](docs/equipment/pressing-line.md): the
|
||
current all-Newbilt fleet (two Duplex systems, each with an EX 50 main
|
||
and an EX 35 colour extruder, plus one Classic automatic press), the 2024
|
||
Newbilt quote (~USD 232k,
|
||
expired), the 2026 product flyers, and site requirements
|
||
- [Galvanics and stamper prep equipment plan](docs/equipment/galvanics.md):
|
||
the metal path from lacquer to press-ready stamper, from vendor
|
||
datasheets: Pheenix Alpha's electroforming range as a second turnkey
|
||
vendor next to Digital Matrix, OMS as a third named by Sibert (reference
|
||
prices for a 4-cell wet room, EUR 224k to 311k), Sibert's
|
||
VSP/VSF/VSC stamper prep line (USD 250k budget for the three confirmed),
|
||
the utilities they need, a first cell-count estimate, and Sibert's
|
||
optical-disc reference material
|
||
- [Vendor landscape](docs/suppliers/vendor-landscape.md): researched
|
||
candidates for mastering and cutting (Agnew Analog, and the Sillitoe
|
||
SDMS with integrated cutting automation at a published USD 125k),
|
||
galvanics equipment
|
||
(Plating Power / Digital Matrix, Pheenix Alpha, Optical Media Services),
|
||
used lathes and cutting-room contacts (via OMS),
|
||
stamper preparation
|
||
(Sibert), bridge stamper service (Stamper Discs), and automated presses
|
||
(Pheenix Alpha, the comparison for the Classic)
|
||
- [Equipment needs and supplier map](docs/suppliers/equipment-suppliers.md):
|
||
the full needs list per production step with supplier tables and contacts
|
||
- [Sustainability](docs/sustainability.md): the solar installation (Deye
|
||
inverters, 271 kWh Gobel Power battery stack), the PEA grid tariff and
|
||
what it decides (biomass steam at a quarter to a tenth of the cost of
|
||
electric, PV rather than solar thermal), the zero contaminated water commitment,
|
||
and the materials strategy
|
||
- [Worker safety](docs/worker-safety.md): safety training, galvanics clean
|
||
rooms and decontamination, PPE
|
||
- [Biomass fuel strategy](docs/biomass.md): the 60 rai own-grown coppice
|
||
idea (with the forestry-classification check that comes first), northern
|
||
agricultural waste as the main supply, reported northern fuel prices
|
||
(October 2026) and who sets them, and the staged electric-to-biomass path
|
||
- [BOI investment promotion](docs/boi.md): the promotion strategy (Group B
|
||
base activity plus solar, automation, and R&D measures for the tax value),
|
||
requirements, Northern-region angle, and why BOI approval precedes
|
||
machinery orders
|
||
- [Facility security and site systems](docs/facility-security.md): access
|
||
control, CCTV, whole-factory HVAC (temperature, humidity, PM), archive and
|
||
audio protection, fire and life safety, plant monitoring, Thai compliance
|
||
anchors
|
||
- [Overhead crane, workshop and visitor corridor](docs/crane-workshop-tours.md):
|
||
a 5 t crane over the whole production floor to move machines in and
|
||
out, a crane-served maintenance workshop and machine bay at the ramp
|
||
end, and a glazed ground-level corridor for guided tours without noise,
|
||
dust or plating chemistry; what each changes in the building and what
|
||
it costs
|
||
- [Production hall layout sketch](docs/production-hall-layout-sketch.png):
|
||
a rough BIM sketch in FreeCAD (`docs/production-hall-layout-sketch.FCStd`)
|
||
of the 60 x 25 m phase 1 hall at Mueang Chi, with the fleet before
|
||
October 2026: zones in process order along the visitor corridor, the
|
||
crane zone, room-in-room boxes and the main equipment; every position is
|
||
an estimate
|
||
- [Payap scenario model](docs/cnx_vinyl_parametric_payap.png): a parametric
|
||
BIM model in FreeCAD 26.3 (`docs/cnx_vinyl_parametric_payap.FCStd`,
|
||
[isometric](docs/cnx_vinyl_parametric_payap-iso.png)) of the whole plant
|
||
on a square placeholder plot of Payap land: a 128 x 25 m production-only
|
||
factory with the five-press fleet, room for ten more Classics, one
|
||
shared hydraulic and air plant, a colour store with outdoor silos and a
|
||
two-storey finishing and print block
|
||
([plans](docs/cnx_vinyl_parametric_payap-block.png)), a separate
|
||
two-storey office building
|
||
([floor plans](docs/cnx_vinyl_parametric_payap-office.png): canteen,
|
||
changing rooms and showers, mastering and listening below; ~150 m² of
|
||
offices, training room and IT above), a separate water treatment
|
||
building next to galvanics, the utility yard and site access, all
|
||
driven by one parameter sheet
|
||
- [Process logging and traceability](docs/traceability.md): end-to-end
|
||
per-order traceability for customers, batch genealogy from audio file to
|
||
shipment, and the requirements this sets for the factory software
|
||
- [Digital factory systems plan](docs/digital-factory.md): every system
|
||
that has to exist for environment, machine, QC and genealogy data to land
|
||
in one place keyed to one record identity, with ERPNext as the plant's
|
||
only system of record (every tool we build reads and writes it; only
|
||
machine data stays outside): the plant as one more site in B4L's
|
||
existing NixOS fleet (the cnx-network clan: mesh, DNS, fleet
|
||
monitoring, site gateway module, public proxy), what changes in that
|
||
repo, VLAN zoning, Telegraf/MQTT acquisition source by source, QC
|
||
instrument integration, the factory application, alerting, backup,
|
||
security, the data clauses for every RFQ, build order and rough cost
|
||
- [Quality automation](docs/quality-automation.md): stamper metrology
|
||
(Keyence-class confocal, profiler, XRF), layered pressed-record QC (100%
|
||
optical inspection, per-cycle press telemetry, sampled automated audio
|
||
comparison), and how it feeds traceability
|
||
- [Process flow](docs/process-flow.md): the whole chain from audio file to
|
||
delivered record as a chart and stage table, with every check and the
|
||
three artist approval gates (printable diagram alongside)
|
||
- [Artist platform](docs/artist-platform.md): upload a master and
|
||
artwork, get a transparent itemised offer from the price calculator
|
||
(for artists, labels and any other customer), and optionally launch a
|
||
fan-funded campaign that the plant presses and ships to each fan once
|
||
enough have pre-ordered, with refunds if not
|
||
- [Artist ordering demo](docs/artist-order.html): the artist platform as a
|
||
clickable single page: configure a record (jacket with a 3 or 5 mm
|
||
spine), type the track list or drop the master files and artwork
|
||
(checked in the browser, never uploaded: format, sample rate, bit
|
||
depth, clipping, side length against the format; artwork as PDF, AI or
|
||
image against the downloadable jacket and label templates: size and
|
||
spine, bleed, resolution, colour, fonts), approve gate 1, get the itemised offer with
|
||
its price curve and lead time, then order directly or run a fan-funded
|
||
campaign to a funded or missed end (refund, or go ahead at the
|
||
minimum) and follow the production through the three artist gates
|
||
- [Make a record](docs/make-a-record.html): the investor demo of the same
|
||
platform as a customer sees it, in one polished flow: design the record
|
||
against a to-scale mock-up, check the music and artwork, see the price,
|
||
let fans fund it, follow the production and open the record passport
|
||
(the traceability record of one copy); investor notes on every step and
|
||
a one-minute guided tour (`#tour`)
|
||
- [Factory console and order status](docs/factory-console.html): the
|
||
factory application of the [digital factory](docs/digital-factory.md)
|
||
plan as a demo on a simulated plant day: the press floor with live
|
||
counters, work orders per station (kiosk steps: badge in, scan,
|
||
confirm), the inspection stream, audio samples, the material lab gate,
|
||
stamper metrology, the hash-chained event log, and the customer portal
|
||
for the same orders (steps, copies pressed so far, lab and inspection
|
||
results, approving a test pressing)
|
||
- [Steam and cooling](docs/steam-cooling.html): the utility plant for the
|
||
five-press fleet as a clickable process diagram: water treatment, feed
|
||
tank and heat recovery, a bank of two 500 kg/h boilers, the steam header
|
||
and condensate return, and process cooling with three 250 kW chillers,
|
||
a plate heat exchanger, warm and cold tanks and a branch to every press,
|
||
extruder and the hydraulic oil cooler; operating cases from the launch
|
||
press to one module down, the design basis, an equipment schedule and
|
||
the open questions for the boiler and chiller RFQs
|
||
- [Plant operation page](docs/plant-operation.html): a single static page
|
||
animating the mature plant as a simulated SCADA overview at real cycle
|
||
times: the Newbilt Duplex and two Classic presses, the Pheenix Alpha
|
||
electroforming line and Sibert stamper prep, from PVC intake and the
|
||
material lab through pressing, inspection, packaging and fulfillment,
|
||
with the three artist gates, the mother archive, utilities and energy;
|
||
1× is real time, up to 3600× (a day in 24 s); every station is
|
||
clickable and names the source of its figures; on phones and tablets
|
||
held sideways it pinch-zooms and opens station details in a side sheet
|
||
- [Press fleet calculator](docs/fleet-calculator.html): a single static
|
||
page for the business plan: set the records a year and the share of
|
||
splatter and specials, and it sizes the mix of Duplex systems (3
|
||
records a minute each) and Classics (2 a minute) from the start fleet
|
||
of two Duplex and one Classic up to a full press hall, with the people,
|
||
power, central hydraulics, steam, cooling, air, floor, compound and
|
||
stampers that fleet needs, drawn as a live schematic of the machine
|
||
park with the stamper line (lathe, Pheenix galvanics, Sibert prep)
|
||
feeding it, each station counted from the galvanics cycle times;
|
||
plus the money a year: revenue (standard, specials, title services),
|
||
PVC, labels, sleeves, jackets, cartons, lacquers, plating chemistry,
|
||
electricity and steam, labour from base salaries with social security,
|
||
on-costs and health care for all staff, overheads, EBITDA, depreciation
|
||
and payback, with the revenue model's adverse, central and favourable
|
||
cases, BOI promotion on or off (machinery import duty and import VAT,
|
||
PVC duty relief) and USD, THB or EUR; every assumption is editable, with its
|
||
source, and a scenario can be shared by link
|
||
- [Test site](site/README.md): `site/` builds https://cnxvinyl.lol/, the
|
||
internal test site with demo pages from `docs/` (the plant operation
|
||
page first) and any static site we want to share by link; Gitea Actions
|
||
deploys it to the buildfor.life web server on every push that touches it
|
||
- [Production timeline](docs/production-timeline.md): how long an order
|
||
takes stage by stage, launch vs mature configuration, the repress fast
|
||
path, and what lead time can honestly be quoted to a customer
|
||
- [Project timeline](docs/project-timeline.md): the calendar from today to
|
||
first paying release, the BOI-to-machinery critical path, and where the
|
||
float actually sits
|
||
- [Site candidates](docs/site-candidates.md): the land options side by
|
||
side (the Mueang Chi lease, the Northern Region Industrial Estate, and
|
||
Payap University's offer of land next to a pharmaceutical facility under
|
||
construction) and what has to be checked before any of them is chosen
|
||
- [Payap University partnership](docs/payap-partnership.md): joint student
|
||
programmes in audio engineering (mastering, lathe cutting), IT and
|
||
business built around the plant, what they change in the plan (cutting
|
||
room earlier, pre-release security, student access) and what to agree
|
||
- [Project scale](docs/scale.md): rough numbers for everything on one page:
|
||
output capacity, building area, land, electrical demand, solar and
|
||
storage, steam and fuel, headcount, and money cross-references
|
||
- [Total investment](docs/finance/total-investment.md): the full-vision
|
||
roll-up (~4.7M to 8.9M USD) and the ~1.7M to 2.9M USD phased entry, with
|
||
the basis of every block
|
||
- [Phase 1 construction RFQ](docs/finance/phase1-construction-rfq.md):
|
||
the spec sheet for asking a contractor to price the phase 1 buildings
|
||
and site works, with quantities taken from the parametric BIM model
|
||
- [Revenue model](docs/finance/revenue-model.md): rough full-capacity
|
||
revenue (~3.7M to 6.8M USD/yr), direct cost and margin per record, and
|
||
the levers and caveats behind the numbers
|
||
- [Business plan](docs/business-plan/CNX-Vinyl-Business-Plan.docx): the
|
||
investor-facing roll-up of everything above, built from
|
||
`docs/business-plan/build/` (run `python build_plan.py` to regenerate
|
||
after the numbers move). Draft 0.1 carries the land-lease decision, the
|
||
cassette and CD scope, and Ploy Printing as packaging partner and
|
||
intended co-investor
|
||
|
||
## Repository Layout
|
||
|
||
```
|
||
docs/
|
||
├── brand/ Poy Records logo (1536 px PNG)
|
||
├── business-plan/
|
||
│ ├── CNX-Vinyl-Business-Plan.docx Investor business plan (generated)
|
||
│ └── build/ Python source of the plan; regenerate with
|
||
│ build_plan.py
|
||
├── consulting/ Consultancy proposals and overviews
|
||
├── equipment/
|
||
│ ├── newbilt/ Offers, site requirements, process schematic,
|
||
│ │ service rates, 2026 product flyers (vendor PDFs)
|
||
│ ├── oms/ OMS introduction letter: wet-room units, reference
|
||
│ │ prices, capacities, lathe contacts (vendor docx)
|
||
│ ├── pheenix-alpha/ Electroforming range flyers (vendor PDFs)
|
||
│ ├── sibert/ Stamper prep specifications and line-up drawing
|
||
│ │ (2021 issues in specs-2021/), 2008-09
|
||
│ │ optical-disc literature (vendor PDFs)
|
||
│ ├── duplex-cell-layout-sketch.png Duplex cell arrangement (sketch, not to scale)
|
||
│ ├── galvanics.md Electroforming and stamper prep equipment plan
|
||
│ └── pressing-line.md Press fleet strategy and equipment plan
|
||
├── finance/ Project cost overviews, revenue model,
|
||
│ construction RFQ, PEA electricity tariff
|
||
│ schedule (pea/), biomass fuel market
|
||
│ reports (biomass/)
|
||
├── suppliers/ Supplier contacts, vendor landscape, supplier map
|
||
├── artist-order.html Artist ordering and fan-funding demo page
|
||
├── artist-platform.md Upload, price calculator, fan-funded pressing
|
||
├── biomass.md Biomass fuel strategy and the 60 rai coppice idea
|
||
├── boi.md BOI promotion strategy and requirements
|
||
├── cnx_vinyl_parametric_payap.FCStd Payap scenario parametric BIM model
|
||
├── cnx_vinyl_parametric_payap.png Top view of the Payap model
|
||
├── cnx_vinyl_parametric_payap-iso.png Isometric view of the Payap model
|
||
├── cnx_vinyl_parametric_payap-office.png Office building floor plans
|
||
├── cnx_vinyl_parametric_payap-block.png Finishing and print block plans
|
||
├── cnx_vinyl_parametric_payap_parts.FCStd Payap model in Part/Draft: roof, PV, parking canopies
|
||
├── cnx_vinyl_parametric_payap_parts.png Isometric view of the parts model
|
||
├── cnx_vinyl_parametric_payap_parts-top.png Top view of the parts model
|
||
├── CNX_apply_Params.FCMacro Pushes Params edits to the model (FreeCAD 26.3 RC1)
|
||
├── crane-workshop-tours.md Overhead crane, workshop, visitor corridor
|
||
├── digital-factory.md Data platform, NixOS/Clan fleet, acquisition, app
|
||
├── facility-security.md Security, HVAC, fire and life safety, compliance
|
||
├── factory-console.html Factory application and customer portal demo
|
||
├── fleet-calculator.html Press fleet calculator: output, mix, requirements
|
||
├── land-listings/ Land offers and zoning records (Mueang Chi, Payap)
|
||
├── make-a-record.html Artist platform investor demo (end-user flow)
|
||
├── payap-partnership.md Joint student programmes with Payap University
|
||
├── plant-operation.html Animated plant overview (simulated SCADA)
|
||
├── process-flow.md Audio file to delivered record, with all checks
|
||
├── production-hall-layout-sketch.FCStd Rough BIM sketch, Mueang Chi hall (earlier fleet)
|
||
├── production-hall-layout-sketch.png Top view of the sketch
|
||
├── production-timeline.md Order turnaround, stage by stage
|
||
├── project-timeline.md Calendar to first paying release, critical path
|
||
├── quality-automation.md Stamper metrology and layered record QC
|
||
├── roadmap.md Next steps in dependency order
|
||
├── scale.md Rough project sizing on one page
|
||
├── site-candidates.md Land options and the checks before choosing
|
||
├── steam-cooling.html Steam and cooling plant diagram, five-press fleet
|
||
├── sustainability.md Energy, water, materials commitments
|
||
├── traceability.md Process logging and per-order traceability
|
||
└── worker-safety.md Training, clean rooms, PPE
|
||
site/ Internal test site https://cnxvinyl.lol/
|
||
├── public/ Served as is: landing page, static sites
|
||
├── build.sh Builds site/dist: public/ plus demo pages from docs/
|
||
├── Caddyfile Virtual host for the web server (applied by hand)
|
||
└── README.md Build, deploy and one-time setup
|
||
.gitea/workflows/
|
||
└── deploy-site.yml Builds site/ and deploys it on push to master
|
||
```
|
||
|
||
Vendor PDFs and spreadsheets are primary sources and reflect the state of
|
||
negotiations at their file dates. Treat prices and lead times as snapshots,
|
||
not commitments.
|
||
|
||
## What This Repo Will Grow to Hold
|
||
|
||
- Accumulate planning and vendor documents as decisions firm up, including
|
||
the mastering, cutting, and galvanics chain
|
||
- Add structured data (inventory, orders, production batches) once operations
|
||
begin
|
||
- Host the software/tooling built to run the factory (tracking, ERP-style
|
||
workflows)
|