FTSE ESG Analyzer
AI-powered ESG analysis tool ที่วิเคราะห์เว็บไซต์บริษัทตามมาตรฐาน FTSE Russell
Internal Sales Tool • Version 2.0 • March 2026Project Overview
เครื่องมือสำหรับทีม Sale ใช้วิเคราะห์เว็บไซต์ของลูกค้า เพื่อดูว่าบริษัทมีข้อมูล ESG (สิ่งแวดล้อม, สังคม, ธรรมาภิบาล) ครบถ้วนแค่ไหน ตามมาตรฐาน FTSE Russell
Sale ใส่ URL เว็บไซต์ลูกค้า → ระบบวิเคราะห์อัตโนมัติ → ได้คะแนน ESG พร้อมจุดที่ต้องปรับปรุง → Sale นำไปเสนอลูกค้า
ช่วย Sale pitch ลูกค้าว่า “เว็บไซต์คุณขาดข้อมูล ESG ตรงนี้ เราช่วยทำได้” เปลี่ยน ESG gap เป็นโอกาสขายบริการ
User Flow — ขั้นตอนการใช้งาน
จากมุม Sale team
1. กรอก URL + เลือก Industry
2. ระบบ Crawl เว็บไซต์
3. AI วิเคราะห์ ESG Indicators
4. คำนวณคะแนน ESG
5. แสดงผล Dashboard + Sitemap
Accuracy & Calibration — ความแม่นยำและการปรับจูน
เทียบผลลัพธ์กับคะแนน FTSE Russell จริง แล้วปรับจูนจนใกล้เคียง
กระบวนการ Calibration
เรานำผลลัพธ์จาก App มาเทียบกับคะแนน FTSE Russell จริงของบริษัทจดทะเบียน จากนั้นปรับจูนระบบทีละขั้นจนคะแนนใกล้เคียงกับของจริงมากที่สุด เป้าหมายคือเก็บข้อมูลจริงจากบริษัทในทุกกลุ่มอุตสาหกรรม เพื่อให้ระบบ calibrate ได้ครอบคลุมและแม่นยำมากยิ่งขึ้น
Indicator Mapping
จับคู่ FTSE indicators ทั้ง 381 ตัว (196 Core, 176 Sector-specific, 6 Performance, 3 Geography — นับจากเอกสาร FTSE Russell โดยตรง) กับแต่ละหมวดอุตสาหกรรม เมื่อเว็บลูกค้าถูกระบุหมวดธุรกิจแล้ว ระบบจะวัดเฉพาะ indicators ที่เกี่ยวข้องกับหมวดนั้นจริงๆ ตรงตาม FTSE methodology
False Positive Reduction
วิเคราะห์ข้อมูลที่ AI “คิดว่าเจอ” แต่จริงๆ ไม่ถูกต้อง เช่น บริษัทเอ่ยถึงนโยบาย แต่ไม่มีตัวเลขจริงรองรับ — แล้วเพิ่มกฎให้ AI แยกแยะได้แม่นขึ้น
Cross-Industry Calibration
ยิ่งมีผลลัพธ์จริงจากบริษัทหลากหลายอุตสาหกรรมมากขึ้น ระบบยิ่ง calibrate ได้แม่นขึ้น — เพราะแต่ละอุตสาหกรรมมี pattern การเปิดเผยข้อมูล ESG ต่างกัน
Benchmark ล่าสุด: Indicator mapping ตรง 142/142 (100%) — คะแนนรวมห่างจากของจริงเพียง 0.1 คะแนน
Cost & Resources
ค่าใช้จ่ายรายเดือนและต่อการใช้งาน
Analysis Pipeline — ระบบทำงานอย่างไร
9 ขั้นตอนภายใน backend
ค้นหา Sitemap
อ่านไฟล์ sitemap.xml ของเว็บไซต์ เพื่อค้นหาหน้าทั้งหมดที่เกี่ยวข้องกับ ESG
อ่านเว็บ
Crawl เนื้อหาจากหน้าเว็บที่คัดเลือกแล้ว รวมถึง subdomain ที่ค้นพบอัตโนมัติ
ค้นหาและอ่าน PDF
ค้นหา PDF รายงานสำคัญ (Sustainability Report, Annual Report) แล้วอ่านเฉพาะหน้าที่เกี่ยวข้อง
ระบุหมวดธุรกิจ
AI วิเคราะห์เนื้อหาเว็บเพื่อระบุหมวดอุตสาหกรรม (ICB subsector) โดยอัตโนมัติ
กรอง Indicators
เลือกเฉพาะ FTSE indicators ที่เกี่ยวข้องกับหมวดธุรกิจนั้น จาก 381 ตัวทั้งหมด
วิเคราะห์จากเว็บ (Round 1)
AI วิเคราะห์ indicators ทั้งหมดจากเนื้อหาเว็บไซต์ก่อน เป็นแหล่งข้อมูลหลัก
เติมข้อมูลจาก PDF (Round 2)
Indicators ที่ยังไม่เจอจากเว็บ นำ PDF มาวิเคราะห์เพิ่มเพื่อหาข้อมูลเชิงปริมาณ
คำนวณคะแนน
รวมผลลัพธ์ทั้ง 2 รอบ แล้วคำนวณคะแนน 0-5 ต่อ theme ตาม FTSE methodology
แนะนำ Sitemap
สร้างคำแนะนำว่าควรเพิ่มหน้าเว็บอะไรบ้าง เพื่อปรับปรุงคะแนน ESG
PDF รายงานประจำปีอาจมี 300+ หน้า แต่ระบบไม่อ่านทุกหน้า — สแกนสารบัญก่อน แล้วอ่านเฉพาะหน้าที่เกี่ยวข้องกับ ESG ทั้งภาษาไทยและอังกฤษ ประหยัดเวลาและ token
Tech Stack
เทคโนโลยีที่ใช้ในโปรเจกต์
FRONTEND
- Next.js 16 — React framework
- React 19 — UI library
- TypeScript — strict mode
- Tailwind CSS 4 — styling
- shadcn/ui — components
- Recharts — charts
- Lucide React — icons
BACKEND
- Python 3.11 — runtime
- FastAPI — API framework
- Playwright — web crawler
- pdfplumber — PDF extraction
- OpenAI GPT-4.1-mini — AI engine
- httpx — HTTP client
- Pydantic — data validation
INFRASTRUCTURE
- AWS EC2 — t3.medium server
- Docker Compose — 3 containers
- Nginx — reverse proxy
- Supabase — PostgreSQL database
- Cloudflare — DNS + SSL
- Let's Encrypt — HTTPS certificate
Security Measures
มาตรการรักษาความปลอดภัยตามมาตรฐาน OWASP
CriticalSSRF Protection
ป้องกันไม่ให้ผู้ใช้กรอก URL ที่ชี้ไปยัง IP ภายใน (127.x, 10.x, 172.16.x, 169.254.x) ซึ่งอาจเข้าถึง AWS metadata หรือระบบภายในได้
HighRate Limiting
จำกัดจำนวน request — สร้าง analysis ได้ 5 ครั้ง/นาที, API ทั่วไป 30 ครั้ง/นาที ป้องกันการใช้งานเกินควรหรือ DDoS
HighNon-root Docker
Container ทุกตัวรันเป็น user ปกติ (appuser:1001) ไม่ใช่ root — ลดความเสียหายหากมีช่องโหว่
HighInput Validation
ตรวจสอบ URL ด้วย Pydantic, sanitize ข้อความก่อนส่ง AI (ลบ null bytes, control chars), จำกัด query สูงสุด 100 records
MedSecurity Headers
X-Content-Type-Options (ป้องกัน MIME sniffing), X-Frame-Options DENY (ป้องกัน clickjacking), HSTS (บังคับ HTTPS 1 ปี), X-XSS-Protection
MedCORS Restricted
อนุญาตเฉพาะ esg.ohmai.me เท่านั้นที่เรียก API ได้ ป้องกันเว็บอื่นขโมยใช้ API — รับเฉพาะ GET, POST
Development Process — สร้างแอปนี้ขึ้นมาอย่างไร
Vibe Coding — ใช้ AI เป็นตัวช่วยหลักในการเขียน code ทั้งหมด
วิธีการพัฒนาซอฟต์แวร์แบบใหม่ที่ใช้ AI coding agent เป็นผู้เขียน code — ผู้สร้างทำหน้าที่เป็น “ผู้กำกับ” คอยบอกว่าต้องการอะไร ตรวจสอบผลลัพธ์ และตัดสินใจ โดยไม่ต้องเขียน code เองทุกบรรทัด
Agent Skills & Review Agents
Skills เสริมที่ช่วยให้ AI Agent เขียน code ได้ดีขึ้น แบ่งเป็น 4 กลุ่มตามหน้าที่ — Skills ที่ใช้จริงในโปรเจกต์นี้จะมี จุดสีส้ม กำกับ
| shadcn/ui | ใช้ UI components สำเร็จรูปอย่างถูกวิธีตาม design system |
| frontend-design | ออกแบบ UI/UX ตามหลัก accessibility และ responsive design |
| brand-guidelines | ควบคุมสี, ฟอนต์, โทนให้ตรงตามแบรนด์ |
| canvas-design | สร้างงานกราฟิก เช่น โปสเตอร์ ออกเป็น PNG/PDF |
| theme-factory | ธีมสำเร็จรูป 10 แบบ พร้อมคู่สีและฟอนต์ที่คัดมาแล้ว |
| next-best-practices | เขียน Next.js ตามมาตรฐาน Vercel — App Router, Server Components |
| react-best-practices | เขียน React components ที่ปลอดภัย มี performance ดี |
| supabase-postgres | เขียน query, RLS, migration ตามแนวทางของ Supabase |
| python-error-handling | จัดการ error, retry, logging ใน Python อย่างถูกต้อง |
| python-performance | ลด memory, ใช้ async/await, optimize algorithm |
| agent-browser | ควบคุม browser อัตโนมัติ — เปิดเว็บ, กรอกฟอร์ม, ตรวจผลลัพธ์ |
| อ่าน, สร้าง, แยก, รวมไฟล์ PDF — รวมถึง OCR สำหรับ PDF ที่เป็นรูป | |
| systematic-debugging | วิเคราะห์ bug อย่างเป็นขั้นตอน หาสาเหตุที่แท้จริง ไม่ใช่แค่แก้อาการ |
| security-auditor | ตรวจช่องโหว่ SSRF, XSS, rate limiting, secrets, Docker security |
| performance-reviewer | ตรวจ memory leaks, error handling, timeout, algorithm complexity |
| react-ts-reviewer | ตรวจ accessibility, type safety, unused imports, re-render issues |
FTSE ESG Analyzer
Built by P'Ohm with Claude Code (Opus 4.6) • March 2026