App (Vue SPA) — 100% presentational, global design-token rebuild in style.css + polished App/Login/Chat/MyBoard/Personas/Setup/Training. No logic/API/route/i18n changes (verified: build clean, 4/4 vitest, independent review PASS 5/5). website/ — new self-contained static marketing landing site (TH-primary + EN toggle, CSS chat mockup, Hallmark theme), verified responsive at 320-768 (no horizontal scroll). Pricing uses placeholders pending owner. Docs: engineering-log 2026-08-19 + HANDOFF updated. NOT pushed (push to main auto-deploys to EasyPanel production; operator approval + JWT_SECRET check required before deploy).
Sales Trainer — Marketing Website
Standalone, self-contained landing site to market the Sales Trainer app (AI sales-roleplay coach, Thailand market). TH-primary with an EN toggle.
Files
index.html— the whole page (markup + inline JS for the TH/EN language toggle and scroll cue).main.css— all styling (Hallmark-inspired warm-cream + coral-red design system, tokens at:root).
Local preview
cd website
python3 -m http.server 8000
# open http://localhost:8000
(It's a pure static site — no build step, no dependencies.)
Deploy
Can be served from any static host (nginx, python -m http.server, Netlify, an EasyPanel static/
nginx service, or the repo's existing infra). Point the document root at the website/ folder.
Owner action required BEFORE public launch
- Pricing is placeholder. The pricing section uses
—+ "ราคาโปรด confirm / price to confirm" labels. Set real prices before publishing publicly. (No fabricated numbers were invented.) - Confirm all copy (phone/contact info, offer details) is accurate before going live.
- Optional: add real product screenshots / a real demo link to replace/augment the CSS chat mockup.