Thai Political Simulation Game - Experience governance through real policy choices from 18 political parties across 6 critical phases. Build your dream nation through strategic policy decisions and see how it impacts the economy, welfare, and democracy. 40,000+ active participants in just two weeks.
Latest Release: v3.3.0 | Data Updated: 31 January 2569 (2026) | Play Online: Sim-Thailand 2569
Sim-Thailand 2569 is an interactive political simulation designed for the 2569 (2026) Thai General Election context. It allows users to:
- Simulate: Make policy choices across 6 critical phases with three tracking metrics:
- 📊 Economy (ศก.): Economic and fiscal policy
- 🤝 Welfare (สังคม): Social welfare and quality of life
- ⚖️ Democracy (ปชต.): Democratic values and governance
- Match: Get matched with a political party based on policy alignment across all metrics.
- Vote: Cast a manual vote for your preferred party after the simulation.
- Track: View aggregate voting results in real-time via the Live Results Dashboard.
- Monitor: Track national status across all three pillars in detailed results view.
More than 40,000 active participants and 100,000 unique visits. Thank you for making the launch of Sim-Thailand 2569 a success.
Reference Materials: Political campaign data and debate transcripts are organized in the /Campaign2569 folder. All policies are sourced from the Nation Election DEBATE (Updated: 17 January 2569) to ensure accuracy and educational value.
- 18 Political Parties: Complete with real policy platforms from the 2569 election cycle.
- 6 Critical Phases: Cover major policy areas like Economy, Land/Agriculture, Welfare, Anti-Corruption, National Security, and Future/Education.
- Real-Time Results: Live dashboard showing voting trends from all users.
- Educational Tool: Learn about the Thai political landscape through interactive simulation.
- Anonymous: No login required to play.
- Legal Compliance: Automatic blackout period enforcement during pre-election silence period per Thai law (มาตรา 72 พ.ร.ป.สส.ฯ).
Per Thai election law (พ.ร.ป.สส.ฯ มาตรา 72 ประกอบมาตรา 157), publishing poll results is prohibited 7 days before elections.
Blackout Period: January 31 - February 8, 2569 (2026) at 17:30 ICT (starts at 12:00 ICT)
During this period:
- Results Page (
results.html) - Shows legal notice instead of poll/simulation results - Game Page (
index.html) - Users can still vote, but live results are hidden - Voting Continues - Votes are still saved to Firebase, just not displayed
- Auto-Resume - Results automatically display after February 8, 17:30 ICT
Penalty for Violation: Up to 3 months imprisonment, fine up to 6,000 THB, or both (มาตรา 157)
This feature ensures compliance with Thai election law while maintaining user engagement and data collection.
ThaiSim2569/
├── src/
│ ├── js/
│ │ ├── config.js # Firebase configuration
│ │ ├── data.js # Political parties and phases data
│ │ ├── game.js # Core game simulation logic
│ │ ├── main.js # Main entry point for the game
│ │ └── results.js # Logic for the live results dashboard
│ └── css/
│ └── styles.css # Tailwind CSS styles
├── scripts/ # Export and utility scripts
│ ├── export_charts_data.js # Export data matching results page charts
│ ├── export_all_polls_sdk.js # Export polls using Firebase SDK
│ ├── export_sim_results_batched.js # Export simulation results in batches
│ └── export_policy_stats_local.js # Export policy statistics
├── Campaign2569/ # Political campaign reference files
├── public/ # Static assets
├── index.html # Main Simulation Game
├── results.html # Live Results Dashboard
├── package.json # Dependencies and scripts
└── vite.config.js # Vite build configuration
Export poll votes and simulation results from Firebase Firestore to CSV files for analysis.
Located in the scripts/ directory:
| Script | Description |
|---|---|
export_charts_data.js |
Charts Data - Export data matching results page charts (5 files) |
export_all_polls_sdk.js |
Recommended - Export raw poll votes and simulation results |
export_sim_results_batched.js |
Export simulation results in batches (for large datasets) |
export_policy_stats_local.js |
Export aggregated policy statistics |
# Install dependencies
npm install dotenv firebase
# Export charts data (matches results page)
cd scripts
node export_charts_data.js
# Export raw poll votes and simulation results
cd scripts
node export_all_polls_sdk.js5 CSV files matching the results page charts:
- Poll Votes by Party - Party rankings with vote counts and percentages
- Daily Trends - Timeline data (top 10 parties, pivot table format)
- Policy Statistics - Most selected policies with rankings
- Party Winners - Top 20 parties by match count
- Raw Poll Votes - Individual vote records with timestamps (27K+ records)
- Poll Votes: All manual votes with timestamps and party names
- Simulation Results: Complete game results including:
- Winning party
- Selected policy choices
- Stats (Eco, Soc, Lib, Budget)
All CSV files include BOM for proper Thai character display in Excel.
See scripts/README.md for detailed documentation.
- Node.js (v16 or higher)
- npm or yarn
- Clone the repository:
git clone https://github.com/bejranonda/ThaiSim2569.git
cd ThaiSim2569- Install dependencies:
npm install- Set up environment variables:
cp .env.example .env(Configure your Firebase credentials in the .env file)
Run the development server:
npm run dev- Game:
http://localhost:3000 - Results:
http://localhost:3000/results.html
Build for production:
npm run buildThis project supports deployment on multiple platforms:
Deploy with automatic GitHub integration and Firebase environment variables.
_redirectsfile for SPA routing- GitHub Actions workflow for automatic deployment
- No complex configuration needed!
- See: CLOUDFLARE_QUICK_START.md for Thai guide
- See: CLOUDFLARE_DEPLOYMENT.md for detailed guide
netlify.tomlincluded- Easy integration with GitHub
vercel.jsonincluded- Zero-config deployment
- Push your code to GitHub
- Go to Cloudflare Pages
- Connect your GitHub repo
- Set Firebase environment variables in dashboard
- Deploy automatically on each push!
For detailed instructions, see CLOUDFLARE_DEPLOYMENT.md
- Frontend: HTML, CSS (Tailwind CSS), JavaScript (ES6+ Modules)
- Utilities: html2canvas (Screenshot generation)
- Build Tool: Vite
- Backend: Firebase (Authentication & Firestore) for real-time voting data.
- 🎮 Sequel Button on Result Page: Added prominent "เล่นภาคใหม่ ฉบับหลังเลือกตั้ง" button to results page
- Links to post-election version at findyourshade.autobahn.bot
- Positioned prominently to encourage continued engagement
- Consistent styling with intro page sequel button
- 🎉 Blackout Period Removal: Legal notices and blackout restrictions removed permanently
- 🚫 No More Legal Disclaimers: Election law compliance notices completely removed from all pages
- 🎮 Unrestricted Gameplay: Full access to results and live data at all times
- ✨ Clean UI: Simplified interface without warning overlays or legal notices
- 🔄 Streamlined Experience: Users can now access all features without election law restrictions
- 🔧 Technical Changes:
- Removed
blackout-noticeHTML elements fromindex.htmlandresults.html - Removed
warning-modalHTML elements from both pages - Updated
main.jsto remove blackout notice display and warning modal logic - Updated
results.jsto remove blackout notice functionality and warning modal - Simplified user flow with no blackout period restrictions
- Maintained all core functionality while removing legal compliance features
- Removed
- 📢 Permanent Blackout Notice Display: Added informational blackout notice box that appears on all pages permanently
- Homepage (
index.html): Blackout notice always visible, game only disabled during actual blackout period - Results Page (
results.html): Blackout notice always visible, results only hidden during actual blackout period - Shows "Sim-Government 2569" branding prominently with legal information
- Homepage (
- ⚖️ Actual Date Enforcement: Updated
isBlackoutPeriod()to use real date checking- Blackout Period: January 31, 2026 @ 12:00 ICT to February 8, 2026 @ 17:30 ICT
- Automatic enforcement based on current time in Thai timezone (ICT +07:00)
- No manual toggle needed - system automatically detects and enforces blackout
- 🎨 Enhanced Visual Design: Improved notice box design with:
- Gradient background (slate-900/95 to red-950/30)
- Animated "Sim-Government 2569" text with glow effects
- Scale of justice icon (fa-scale-balanced)
- Clear legal reference to มาตรา 72
- 🔧 Implementation Details:
- Added
blackout-noticeHTML element to results.html - Modified
results.jsto always show notice box - Updated blackout dates to Jan 31 @ 12:00 (was Jan 30 @ 18:00)
- Simplified notice text to show only end time (17:30 น.)
- Added
- ⚖️ Legal Compliance Feature: Implemented automatic blackout period enforcement per Thai election law (พ.ร.ป.สส.ฯ มาตรา 72 ประกอบมาตรา 157)
- Blackout Period: January 31 - February 8, 2569 (2026) at 17:30 ICT (starts at 12:00 ICT)
- Results Page: Shows legal notice instead of poll/simulation results during blackout
- Game Page: Users can still vote, but live results are hidden until blackout ends
- Auto-Resume: Results automatically display after February 8, 17:30 ICT
- Voting Continues: All votes are saved to Firebase, just not displayed during blackout
- 📜 Legal Notice Display: Professional blackout notice with:
- Scale of justice icon (fa-scale-balanced)
- Clear explanation of มาตรา 72 prohibition
- Penalty information (up to 3 months imprisonment, 6,000 THB fine, or both)
- Expected return date for results display
- 🔧 Implementation Details:
- Added
isBlackoutPeriod()utility function inconfig.js - Modified
results.jsto check blackout period and show notice - Modified
game.jsto hide live results after voting during blackout - All date calculations use Thai timezone (ICT +07:00)
- Added
- 🎲 Randomized Party Order: Party choices in the voting section are now shuffled using Fisher-Yates algorithm to prevent vote spamming and brute forcing.
- Political parties appear in random order each time the simulation results page is displayed
- "พรรคอื่นๆ" (Other Parties) and "ไม่ประสงค์ลงคะแนน" (No Vote) remain fixed at the end
- Enhanced security measure to maintain voting integrity
- 🔒 Anti-Abuse Enhancement: Makes it more difficult for automated scripts to target specific positions in the party list
- 🛸 Floating Astronaut Animation: Added an animated alien astronaut floating across the home page.
- Emerald-colored UFO visitor (👽) with smooth trajectory animation
- Flies across the screen in 15 seconds with rotation and scaling effects
- Adds a playful, mysterious "We're being watched" atmosphere to the IO-aware theme
- 🎨 Visual Enhancement: The alien visitor serves as a whimsical reinforcement of the transparency message
- 📝 Documentation Update: Updated version to 3.0.2 across all references
- 🏷️ UI Refinement: Updated Home Page banner to "New Release 3.0 – IO, We Know You".
- 🛸 Fun Addition: Added a floating astronaut animation to the home page for a more dynamic and engaging welcome.
- 🛡️ Warning Modal Enhancement: Added explicit instructions to the Results page warning modal, encouraging users to audit the "Daily Vote Trend Chart" for transparency.
- 📝 Documentation Synchronization: Updated version numbers and release notes across all project documentation.
- 🛡️ Anti-Fraud Measures:
- Added Warning Modal to both Home and Results pages to deter malicious voting activity and automated scripts.
- Implemented persistent awareness: Warning pops up on every page load to ensure all users are informed.
- 📊 Transparency Enhancements:
- Integrated Daily Vote Trend Chart using Chart.js to visualize voting patterns over time.
- Allows the public to audit and identify suspicious spikes in voting data for any party.
- 🏷️ Brand Refresh:
- Updated theme to "Aware Release 3.0 – IO, We Know You" reflecting the focus on transparency and anti-manipulation.
- 🔧 Under the Hood:
- Added
chart.jsdependency for advanced data visualization. - Optimized modal logic for better visibility across different application states.
- Added
- 🔗 Social Media Integration:
- Added Facebook link (thalay.eu) to developer credits section for better social presence
- Updated attribution in both simulation and results pages
- 📝 Documentation Update:
- Updated README release information to v2.3.0
- Fixed release version display in index.html home page
- Synchronized version number across all documentation and website elements
- 🔄 Version Update:
- Updated README release information to v2.2.0
- Synchronized version number across all documentation and website elements
- 📝 Documentation Enhancement:
- Updated repository links to reflect current release status
- Ensured consistent version references across all platforms
- 🔗 Social Media Integration:
- Added Facebook link (
thalay.eu) to the developer credit section on both the simulation and live results pages.
- Added Facebook link (
- 🏷️ Naming Consistency:
- Shortened "พรรคชาติไทยพัฒนา" to "ชาติไทยพัฒนา(ไม่ส่งผู้สมัคร)" for better UI fit and clarity.
- 📊 UI Refinement:
- Streamlined the simulation results header to "พรรคแรกที่นโยบายตรงใจที่สุด (จากการจำลอง)".
- 🏛️ Policy Diversity Enhancement:
- Added "Pornhub / Sex Toy ถูกกฎหมาย" to Phase 1 (Economy) - Regulating adult entertainment industry
- Added "Sex Worker ถูกกฎหมาย" to Phase 3 (Welfare) - Protecting rights of adult service workers
- Both policies support NAP (New Alternative Party) platform with balanced socio-economic impact
- 🎯 Scoring Adjustments:
- Economy: +15 points from new adult entertainment regulation
- Social Welfare: +15 points from sex worker legalization
- Liberty: +20 points from both policies (individual freedom focus)
- Budget: +17 points total from regulated taxation
- 🗳️ Enhanced Vote Results:
- Top Matched Parties: Increased display limit from 10 to 20 parties.
- Top Voted Policies: Removed limit to show ALL voted policies sorted by popularity.
- 🚀 New Visual Identity: Added space-themed background animation with twinkling stars on the home screen.
- 🏷️ New Label: "New Release 2 - Future Edition" badge added prominently above the main title.
- ✨ Immersive Gameplay Animations:
- Neon HUD/Stats: The HUD and stat values pulse and brighten when updated by policy choices.
- Choice Overlays: Choice cards now feature scanlines and pulsing neon borders when selected.
- Future Grid: A subtle global CRT scanline grid added for a premium "Future Edition" feel.
- 🎮 Scoring Balance (Round 3):
- Reduced stat gains (Economy, Welfare, Democracy) by 50% (0.5x multiplier) to make 100% scores harder and more meaningful.
- All score additions are now rounded to clean integers for better UI/UX.
- Updated tooltips to accurately reflect these reduced point values.
- ✨ Enhanced Celebration: Replaced standard confetti with neon star-shaped confetti for a "Space Party" themed celebration on the results page.
- 🔧 Code Refinement: Improved internal scoring logic and consistent tooltip rendering across phases.
- 🆕 New Political Party Added:
- พรรคทางเลือกใหม่ (New Alternative Party) led by มงคลกิตติ์ สุขสินธารานนท์ (พรี่เต้)
- Added to both Policy Explorer (10 policies) and Simulation Game (6 phases)
- Party color: #ff6b2c (vibrant orange)
- Party icon: Rocket (fa-rocket) symbolizing space and future programs
- Updated party count from 17 to 18 parties
- 📚 Policy Database Enhancement:
- All policies sourced from The Matter article (https://thematter.co/brief/255470/255470)
- Policies span categories: Economy, Social, Education, Security, and Politics
- Includes forward-thinking policies like space force, nuclear program, and Elon Musk advisorship
- 🎮 Simulation Game Integration:
- NAP mapped to 6 existing policy options
- Added 18 New Policy Options [Release2] (3 per phase) extending choices for all parties
- Highlights:
- Economy: Mega Projects (Landbridge), Virtual Bank
- Agriculture: Unlock Local Fishery, Smart Farmer AI
- Welfare: Parental Leave 180 Days, Stepped Elderly Allowance
- Anti-Corruption: Regulatory Guillotine, Higher Lottery Penalties
- Security: Cyber Army, Space Force, Nuclear Program
- Education: Space Trip, AI in Classroom, Elon Musk Advisor
- 🏆 Winner Statistics Dashboard:
- Added new section showing top 10 parties from all simulations
- Card grid layout displaying party icons, names, win counts, and percentages
- Responsive design (2 columns on mobile, up to 5 columns on desktop)
- Real-time updates from Firebase simulation results
- 📊 Vote Distribution Visualization:
- Replaced single-party progress bar with stacked bar chart
- Shows vote distribution across all parties with matching party colors
- Visual representation of proportional vote shares
- 📝 Improved Thai Labels:
- Streamlined header text: "คะแนนเสียงจริงจากผู้เล่น Sim-Thailand 2569"
- Updated section headers for better clarity:
- "พรรคที่ผู้เล่นโหวตให้ (ไม่ใช่ผลการจำลอง)"
- "พรรคแรกที่นโยบายตรงใจที่สุด (จากการจำลอง)"
- 🔍 Policy Statistics Export Tool:
- Added feature to export policy selection statistics as downloadable CSV file
- Users can analyze most popular policies across all simulations
- Policy export includes frequency rankings and percentages
- Enhanced data analysis capabilities for researchers and educators
- 🔍 Policy Explorer with Search Bar:
- Added new file
policy_explore_with_search.htmlwith search functionality - Search bar positioned at the top of the page before existing filters
- Real-time search across policy titles, descriptions, and party names
- Clear button (X) appears when typing, resets search on click
- Escape key support to clear search
- Search works in combination with existing party and category filters
- Helper text explaining search scope: "ค้นหาจากชื่อนโยบาย คำอธิบาย และชื่อพรรคการเมือง"
- Original
policy_explore.htmlremains unchanged for backward compatibility
- Added new file
- 🎨 Scroll Indicator Visual Enhancement:
- Changed reminder text from "อย่าลืม!" to "ยังไม่เสร็จ! อย่าลืมลงมา..." for clearer messaging
- Updated color scheme from blue to neon fuchsia (pink) with glow effect
- Added custom CSS animation
text-glow-pinkfor pulsing neon glow on reminder text - Applied consistent fuchsia color to chevron-down icons
- 📊 Policy Statistics Enhancement:
- Increased policy rankings display from top 15 to top 20 most selected policies
- Users can now see more comprehensive policy choice data from all players
- Better insight into which policies resonate most with the player base
- 🎨 UI Enhancement - Party Name Consistency:
- Removed "พรรค" prefix from all political party names in the voting section
- Party names now display uniformly (e.g., "ประชาชน" instead of "พรรคประชาชน")
- Exception: "พรรคอื่นๆ" (Other Parties) retains the prefix for clarity
- 📝 Improved User Experience:
- Cleaner, more concise party name display in the "เสียงจริงของคุณ" (Your Real Vote) section
- Consistent naming across all 16 political parties
- 🐛 Bug Fix - Scroll Indicator Visibility:
- Fixed scroll indicator incorrectly appearing on Intro page in Desktop view
- Changed "อย่าลื่น" (slip) to "อย่าลืม" (forget) for correct Thai spelling
- Added proper JavaScript control for both mobile and desktop scroll indicators
- Scroll indicators now only appear on Results page as intended
- 🔧 Technical Improvements:
- Added unique IDs (
scroll-indicator-mobile,scroll-indicator-desktop) to scroll indicators - Implemented explicit show/hide logic in JavaScript for better control
- Removed conflicting CSS classes (
md:flex) that caused visibility issues
- Added unique IDs (
- 🧹 Data Quality Enhancement:
- Added validation to prevent saving simulation results without any policy selections to Firebase
- Users who skip all policies will no longer create empty database entries
- Vote functionality remains independent - users can still vote for parties without playing the simulation
- 🗄️ Database Cleanup:
- Removed 23 existing empty policy records from Firebase (out of 62 total records)
- Cleaner data for more accurate policy statistics and analysis
- 📢 Vote Section Awareness Enhancement:
- Added prominent scroll indicator with animated arrow and text "👇 อย่าลื่น! ลงมาโหวตพรรคที่คุณจะเลือกจริงด้านล่าง 👇"
- Responsive positioning: shows before "5 อันดับรองลงมา" on mobile, after "สถานะประเทศของคุณ" on desktop
- Optimized spacing for maximum visibility while maintaining clean layout
- 🎨 Enhanced Vote Section Visual:
- Added gradient border (border-blue-500) with glow pulse animation
- Added red badge "
⚠️ ขั้นตอนสุดท้าย" with pulsing effect - Enlarged headline to text-3xl with icon
- Added CTA banner with clear messaging "เกมจำลองเสร็จแล้ว แต่อย่าลืมลงมาโหวตพรรคที่คุณจะเลือกจริงในวันเลือกตั้ง!"
- Enhanced vote button with gradient, larger size (py-6), and hover scale animation
- 🌐 Language Update: Changed "สถานะประเทศ" to "สถานะประเทศของคุณ (Your National Status)" for better user engagement
- ✨ CSS Animations: Added glow-pulse keyframe animation for vote section emphasis
- 📱 Mobile HUD Improvements:
- Increased Thai label font sizes on mobile for better readability (text-xs to lg:text-lg)
- Increased score value font sizes (text-xs to md:text-base)
- Added right padding (pr-2) to score values for better visual separation from adjacent stat labels
- Optimized responsive breakpoints for better cross-device consistency
- Removed English abbreviations entirely for cleaner mobile display
- 🎨 Visual Clarity: Enhanced spacing and typography to reduce confusion between stat labels and values
- 🎮 Gameplay Balance: Reduced initial stat values from 30 to 10 for Economy (Eco), Society (Soc), and Democracy (Dem/Lib) to show more dramatic progress as players choose policies
- 💰 Budget Stability: Maintained budget at 100 to avoid negative values too easily during gameplay
- 📊 Enhanced Progression: Lower baseline stats make policy choices more impactful and visual progress more apparent throughout the simulation
- 🎨 Poll Results Page Improvements:
- Moved "ดูนโยบายทุกพรรค" button from topbar to bottom section (before "เล่นเกม" button) for better UX flow
- Added "พัฒนาโดย..." footer with thalay.eu logo at bottom of results page for proper attribution
- Changed poll result bar colors to use actual party colors instead of generic medal colors for better visual clarity
- Changed section title from "นักเล่น" to "ผู้เล่น" for more appropriate Thai language usage
- 📊 Policy Statistics Enhancements:
- Added player count display ("จากผู้เล่นทั้งหมด X คน") in policy statistics section for context
- Improved color scale for policy heatmap with finer gradients for 20-50% range (red-orange-yellow-lime-green-emerald)
- 🎯 Button Interaction Fix: Added
overflow-hiddenclass to buttons to prevent animate-ping from intercepting mouse events on adjacent elements
- 📚 Policy Access: Replaced "Play Game" button on intro screen with direct "View all policies" link (
thalay.eu/policy2569) to prioritize information access. - 🗣️ Wording Update: Updated "View results" button text to "ดูผลโหวตพรรค และ นโยบายที่คนชอบ" (View party votes and policies people like) for clarity and engagement.
- 🔗 Consistent Navigation: Ensured consistent button links and terminology across Intro, Results, and Policy Explore pages.
- 📊 Consistent Metrics Format: All National Status metrics now display uniformly with percentage symbols (e.g., "30%", "-20%")
- 🎯 Enhanced Visual Hierarchy: Increased visual overlap between National Status and Your Real Vote sections for stronger connection
- ♻️ UX Optimization: Tighter spacing reduces cognitive distance between results display and voting action, minimizing user forgetfulness
- 🔄 Polish Release: Consolidated all previous improvements into production-ready version
- 💰 Budget Factor Optimization: Reduced budget impact multiplier from 1.5x to 1.05x for better gameplay balance and more sustainable policy choices across all 48 policies
- 🎯 Navigation Improvements: Moved "Your Real Vote" section closer to National Status results to encourage voting and reduce user forgetfulness
- 🔘 CTA Consistency: Updated call-to-action buttons across results page and policy explorer with consistent messaging "เล่นเกมเพื่อดูพรรคไหนเหมาะกับคุณ" and play icon
- 📊 Results Dashboard Enhancement: Added new results button linking to poll results and policy statistics (https://thalay.eu/poll2569)
- 🎨 UI Polish: Improved spacing between major sections for better visual hierarchy and user experience
- 📸 Save Result Image: Added feature to save the simulation result card as an image.
- 🏷️ Watermark: Added "thalay.eu/sim2569" watermark to the result card.
- 📦 Dependencies: Added
html2canvasfor client-side screenshot generation.
- ✨ GitHub Integration: Add GitHub repository link to intro screen release section
- 🎨 UI Enhancement: Improve layout with separate line for release information
- 🔗 Direct Links: Link to GitHub Repository
- 🎭 Animation Enhancements: Improved game animations and visual effects
- ✍️ Developer Credits: Enhanced styling for developer credits on intro and results screens
- 🎨 UI Polish: Advanced UI polish with interactive effects
- 🚀 Official Release: Sim-Thailand 2569
- 🔄 Latest Data: Policies updated based on Nation Election DEBATE
- ✨ Features:
- Enhanced UI with separator lines and cleaner footer
- "No Match" logic for users who skip all questions
- Prominent "Try Simulation" CTA on results page
- Live real-time voting results from Firebase
Note: This is a simulation tool for educational purposes. The policies and data are based on public debate information and may not represent complete party platforms.
Repository: github.com/bejranonda/ThaiSim2026 Developed by: thalay.eu Latest Release: v3.3.0 on GitHub