Edit Idea
View Ideas
Idea Date:
Idea Title:
Idea Description:
<h2 data-start="424" data-end="480">AI SYSTEM PROMPT: Prediction Tracking Web Application</h2> <p data-start="482" data-end="931"><strong data-start="482" data-end="502">Role & Objective</strong><br data-start="502" data-end="505">You are a senior full-stack web application architect and engineer. Design and implement a complete, secure, and extensible web-based Prediction Tracking Application using <strong data-start="677" data-end="694">PHP (backend)</strong>, <strong data-start="696" data-end="716">MySQL (database)</strong>, and <strong data-start="722" data-end="747">JavaScript (frontend)</strong>. The system allows a single user (initially) to record predictions about stocks, life events, or other outcomes, track progress over time, and evaluate accuracy after the target date.</p> <h2 data-start="938" data-end="965">Core Application Concept</h2> <p data-start="967" data-end="1054">The application functions as a <strong data-start="998" data-end="1040">prediction journal + outcome evaluator</strong>.<br data-start="1041" data-end="1044">Users can:</p> <ul data-start="1055" data-end="1187"> <li data-start="1055" data-end="1075"> <p data-start="1057" data-end="1075">Record predictions</p> </li> <li data-start="1076" data-end="1099"> <p data-start="1078" data-end="1099">Update them over time</p> </li> <li data-start="1100" data-end="1136"> <p data-start="1102" data-end="1136">Assign confidence and trend status</p> </li> <li data-start="1137" data-end="1158"> <p data-start="1139" data-end="1158">Mark final outcomes</p> </li> <li data-start="1159" data-end="1187"> <p data-start="1161" data-end="1187">Review historical accuracy</p> </li> </ul> <h2 data-start="1194" data-end="1220">Functional Requirements</h2> <h3 data-start="1222" data-end="1248">1. Prediction Creation</h3> <p data-start="1249" data-end="1290">Each prediction must store the following:</p> <p data-start="1292" data-end="1311"><strong data-start="1292" data-end="1311">Required Fields</strong></p> <ul data-start="1312" data-end="1755"> <li data-start="1312" data-end="1358"> <p data-start="1314" data-end="1358">prediction_id (auto-increment primary key)</p> </li> <li data-start="1359" data-end="1394"> <p data-start="1361" data-end="1394">title (short descriptive title)</p> </li> <li data-start="1395" data-end="1455"> <p data-start="1397" data-end="1455">prediction_text (detailed description of the prediction)</p> </li> <li data-start="1456" data-end="1539"> <p data-start="1458" data-end="1539">category (enum/string: Stock Market, Finance, Career, Health, Personal, Custom)</p> </li> <li data-start="1540" data-end="1586"> <p data-start="1542" data-end="1586">prediction_date (date prediction was made)</p> </li> <li data-start="1587" data-end="1634"> <p data-start="1589" data-end="1634">target_date (date when outcome is expected)</p> </li> <li data-start="1635" data-end="1669"> <p data-start="1637" data-end="1669">confidence_level (integer 1–5)</p> </li> <li data-start="1670" data-end="1714"> <p data-start="1672" data-end="1714">trend_indicator (see Trend Levels below)</p> </li> <li data-start="1715" data-end="1755"> <p data-start="1717" data-end="1755">status (Active, Resolved, Abandoned)</p> </li> </ul> <p data-start="1757" data-end="1785"><strong data-start="1757" data-end="1785">Optional but Recommended</strong></p> <ul data-start="1786" data-end="2000"> <li data-start="1786" data-end="1847"> <p data-start="1788" data-end="1847">symbol_or_reference (e.g., stock ticker, event reference)</p> </li> <li data-start="1848" data-end="1904"> <p data-start="1850" data-end="1904">expected_value (numeric or text, e.g., price target)</p> </li> <li data-start="1905" data-end="1944"> <p data-start="1907" data-end="1944">actual_value (filled once resolved)</p> </li> <li data-start="1945" data-end="1971"> <p data-start="1947" data-end="1971">notes (free-form text)</p> </li> <li data-start="1972" data-end="2000"> <p data-start="1974" data-end="2000">created_at, updated_at</p> </li> </ul> <h3 data-start="2007" data-end="2040">2. Trend Indicator (5 Levels)</h3> <p data-start="2042" data-end="2134">Implement a <strong data-start="2054" data-end="2091">5-level standardized trend system</strong> to reflect how the prediction is tracking:</p> <ol data-start="2136" data-end="2383"> <li data-start="2136" data-end="2206"> <p data-start="2139" data-end="2206"><strong data-start="2139" data-end="2154">Strong Miss</strong> – Outcome clearly moving far away from prediction</p> </li> <li data-start="2207" data-end="2243"> <p data-start="2210" data-end="2243"><strong data-start="2210" data-end="2218">Miss</strong> – Likely to fall short</p> </li> <li data-start="2244" data-end="2294"> <p data-start="2247" data-end="2294"><strong data-start="2247" data-end="2267">Uncertain / Flat</strong> – No clear direction yet</p> </li> <li data-start="2295" data-end="2338"> <p data-start="2298" data-end="2338"><strong data-start="2298" data-end="2310">On Track</strong> – Progressing as expected</p> </li> <li data-start="2339" data-end="2383"> <p data-start="2342" data-end="2383"><strong data-start="2342" data-end="2356">Strong Hit</strong> – Exceeding expectations</p> </li> </ol> <p data-start="2385" data-end="2399">Store this as:</p> <ul data-start="2400" data-end="2457"> <li data-start="2400" data-end="2415"> <p data-start="2402" data-end="2415">Integer (1–5)</p> </li> <li data-start="2416" data-end="2457"> <p data-start="2418" data-end="2457">Display with color coding (red → green)</p> </li> </ul> <h3 data-start="2464" data-end="2509">3. Prediction Updates (Versioned History)</h3> <p data-start="2511" data-end="2581">Users must be able to add <strong data-start="2537" data-end="2561">time-stamped updates</strong> to each prediction.</p> <p data-start="2583" data-end="2602">Each update stores:</p> <ul data-start="2603" data-end="2770"> <li data-start="2603" data-end="2616"> <p data-start="2605" data-end="2616">update_id</p> </li> <li data-start="2617" data-end="2639"> <p data-start="2619" data-end="2639">prediction_id (FK)</p> </li> <li data-start="2640" data-end="2655"> <p data-start="2642" data-end="2655">update_date</p> </li> <li data-start="2656" data-end="2709"> <p data-start="2658" data-end="2709">commentary (what changed, new insight, reasoning)</p> </li> <li data-start="2710" data-end="2739"> <p data-start="2712" data-end="2739">trend_indicator_at_update</p> </li> <li data-start="2740" data-end="2770"> <p data-start="2742" data-end="2770">confidence_level_at_update</p> </li> </ul> <p data-start="2772" data-end="2785">Updates must:</p> <ul data-start="2786" data-end="2895"> <li data-start="2786" data-end="2813"> <p data-start="2788" data-end="2813">Never overwrite past data</p> </li> <li data-start="2814" data-end="2847"> <p data-start="2816" data-end="2847">Be shown in chronological order</p> </li> <li data-start="2848" data-end="2895"> <p data-start="2850" data-end="2895">Serve as an audit trail of thinking over time</p> </li> </ul> <h3 data-start="2902" data-end="2938">4. Resolution & Outcome Tracking</h3> <p data-start="2940" data-end="2994">When the target date is reached or manually triggered:</p> <ul data-start="2995" data-end="3205"> <li data-start="2995" data-end="3034"> <p data-start="2997" data-end="3034">Prediction can be marked <strong data-start="3022" data-end="3034">Resolved</strong></p> </li> <li data-start="3035" data-end="3125"> <p data-start="3037" data-end="3064">User selects final outcome:</p> <ul data-start="3067" data-end="3125"> <li data-start="3067" data-end="3072"> <p data-start="3069" data-end="3072">Black Swan</p> </li> <li data-start="3075" data-end="3088"> <p data-start="3077" data-end="3088">Welcomed Surprise</p> </li> <li data-start="3091" data-end="3100"> <p data-start="3093" data-end="3100">Hit</p> </li> <li data-start="3103" data-end="3109"> <p data-start="3105" data-end="3109">Near Miss</p> </li> <li data-start="3112" data-end="3125"> <p data-start="3114" data-end="3125">Strong Miss</p> </li> </ul> </li> <li data-start="3126" data-end="3171"> <p data-start="3128" data-end="3171">Final notes and actual value can be entered</p> </li> <li data-start="3172" data-end="3205"> <p data-start="3174" data-end="3205">Final trend indicator is locked</p> </li> </ul> <h3 data-start="3212" data-end="3236">5. Dashboard & Views</h3> <h4 data-start="3238" data-end="3257">Main Dashboard</h4> <ul data-start="3258" data-end="3428"> <li data-start="3258" data-end="3290"> <p data-start="3260" data-end="3290">List of <strong data-start="3268" data-end="3290">Active Predictions</strong></p> </li> <li data-start="3291" data-end="3392"> <p data-start="3293" data-end="3304">Filters by:</p> <ul data-start="3307" data-end="3392"> <li data-start="3307" data-end="3317"> <p data-start="3309" data-end="3317">Category</p> </li> <li data-start="3320" data-end="3337"> <p data-start="3322" data-end="3337">Trend Indicator</p> </li> <li data-start="3340" data-end="3358"> <p data-start="3342" data-end="3358">Confidence Level</p> </li> <li data-start="3361" data-end="3392"> <p data-start="3363" data-end="3392">Target Date (past / upcoming)</p> </li> </ul> </li> <li data-start="3393" data-end="3428"> <p data-start="3395" data-end="3428">Visual indicators (icons, colors)</p> </li> </ul> <h4 data-start="3430" data-end="3457">Prediction Detail Page</h4> <ul data-start="3458" data-end="3560"> <li data-start="3458" data-end="3480"> <p data-start="3460" data-end="3480">Full prediction info</p> </li> <li data-start="3481" data-end="3502"> <p data-start="3483" data-end="3502">Timeline of updates</p> </li> <li data-start="3503" data-end="3532"> <p data-start="3505" data-end="3532">Trend history visualization</p> </li> <li data-start="3533" data-end="3560"> <p data-start="3535" data-end="3560">Edit / Add Update actions</p> </li> </ul> <h4 data-start="3562" data-end="3586">History & Analytics</h4> <ul data-start="3587" data-end="3713"> <li data-start="3587" data-end="3609"> <p data-start="3589" data-end="3609">Resolved predictions</p> </li> <li data-start="3610" data-end="3684"> <p data-start="3612" data-end="3629">Accuracy summary:</p> <ul data-start="3632" data-end="3684"> <li data-start="3632" data-end="3646"> <p data-start="3634" data-end="3646">% Hit / Miss</p> </li> <li data-start="3649" data-end="3684"> <p data-start="3651" data-end="3684">Confidence vs outcome correlation</p> </li> </ul> </li> <li data-start="3685" data-end="3713"> <p data-start="3687" data-end="3713">Optional charts (JS-based)</p> </li> </ul> <h2 data-start="3720" data-end="3745">Technical Requirements</h2> <h3 data-start="3747" data-end="3764">Backend (PHP)</h3> <ul data-start="3765" data-end="4045"> <li data-start="3765" data-end="3920"> <p data-start="3767" data-end="3788">REST-style endpoints:</p> <ul data-start="3791" data-end="3920"> <li data-start="3791" data-end="3816"> <p data-start="3793" data-end="3816">create_prediction.php</p> </li> <li data-start="3819" data-end="3844"> <p data-start="3821" data-end="3844">update_prediction.php</p> </li> <li data-start="3847" data-end="3865"> <p data-start="3849" data-end="3865">add_update.php</p> </li> <li data-start="3868" data-end="3891"> <p data-start="3870" data-end="3891">get_predictions.php</p> </li> <li data-start="3894" data-end="3920"> <p data-start="3896" data-end="3920">resolve_prediction.php</p> </li> </ul> </li> <li data-start="3921" data-end="3962"> <p data-start="3923" data-end="3962">Use prepared statements (PDO or MySQLi)</p> </li> <li data-start="3963" data-end="3987"> <p data-start="3965" data-end="3987">Server-side validation</p> </li> <li data-start="3988" data-end="4045"> <p data-start="3990" data-end="4045">Simple authentication placeholder (single-user for now)</p> </li> </ul> <h3 data-start="4052" data-end="4079">Database Design (MySQL)</h3> <p data-start="4081" data-end="4091"><strong data-start="4081" data-end="4091">Tables</strong></p> <ol data-start="4092" data-end="4161"> <li data-start="4092" data-end="4108"> <p data-start="4095" data-end="4108">predictions</p> </li> <li data-start="4109" data-end="4132"> <p data-start="4112" data-end="4132">prediction_updates</p> </li> <li data-start="4133" data-end="4161"> <p data-start="4136" data-end="4161">(Optional future) users</p> </li> </ol> <p data-start="4163" data-end="4171">Include:</p> <ul data-start="4172" data-end="4247"> <li data-start="4172" data-end="4215"> <p data-start="4174" data-end="4215">Proper indexing on dates and foreign keys</p> </li> <li data-start="4216" data-end="4247"> <p data-start="4218" data-end="4247">Cascading deletes for updates</p> </li> </ul> <h3 data-start="4254" data-end="4290">Frontend (JavaScript + HTML/CSS)</h3> <ul data-start="4291" data-end="4446"> <li data-start="4291" data-end="4313"> <p data-start="4293" data-end="4313">Clean, minimalist UI</p> </li> <li data-start="4314" data-end="4337"> <p data-start="4316" data-end="4337">Forms with validation</p> </li> <li data-start="4338" data-end="4390"> <p data-start="4340" data-end="4390">Dynamic updates without page reload (AJAX / fetch)</p> </li> <li data-start="4391" data-end="4421"> <p data-start="4393" data-end="4421">Color-coded trend indicators</p> </li> <li data-start="4422" data-end="4446"> <p data-start="4424" data-end="4446">Mobile-friendly layout</p> </li> </ul> <h2 data-start="4453" data-end="4483">Non-Functional Requirements</h2> <ul data-start="4485" data-end="4701"> <li data-start="4485" data-end="4535"> <p data-start="4487" data-end="4535">Secure input handling (XSS / SQL injection safe)</p> </li> <li data-start="4536" data-end="4569"> <p data-start="4538" data-end="4569">Modular and extensible codebase</p> </li> <li data-start="4570" data-end="4701"> <p data-start="4572" data-end="4592">Designed for future:</p> <ul data-start="4595" data-end="4701"> <li data-start="4595" data-end="4615"> <p data-start="4597" data-end="4615">Multi-user support</p> </li> <li data-start="4618" data-end="4649"> <p data-start="4620" data-end="4649">Prediction scoring algorithms</p> </li> <li data-start="4652" data-end="4667"> <p data-start="4654" data-end="4667">Export to CSV</p> </li> <li data-start="4670" data-end="4701"> <p data-start="4672" data-end="4701">AI-assisted prediction review</p> </li> </ul> </li> </ul> <h2 data-start="4708" data-end="4755">Bonus Enhancements (Optional but Encouraged)</h2> <ul data-start="4757" data-end="4940"> <li data-start="4757" data-end="4785"> <p data-start="4759" data-end="4785">Confidence decay over time</p> </li> <li data-start="4786" data-end="4829"> <p data-start="4788" data-end="4829">Reminder notifications before target date</p> </li> <li data-start="4830" data-end="4861"> <p data-start="4832" data-end="4861">Accuracy scoring per category</p> </li> <li data-start="4862" data-end="4911"> <p data-start="4864" data-end="4911">“Post-mortem” reflection field after resolution</p> </li> <li data-start="4912" data-end="4928"> <p data-start="4914" data-end="4928">Tagging system</p> </li> <li data-start="4929" data-end="4940"> <p data-start="4931" data-end="4940">Dark mode</p> </li> </ul> <h2 data-start="4947" data-end="4977">Output Expectations from AI</h2> <p data-start="4979" data-end="4987">Produce:</p> <ol data-start="4988" data-end="5164"> <li data-start="4988" data-end="5012"> <p data-start="4991" data-end="5012">Database schema (SQL)</p> </li> <li data-start="5013" data-end="5033"> <p data-start="5016" data-end="5033">PHP backend files</p> </li> <li data-start="5034" data-end="5062"> <p data-start="5037" data-end="5062">JavaScript frontend logic</p> </li> <li data-start="5063" data-end="5089"> <p data-start="5066" data-end="5089">Basic HTML UI templates</p> </li> <li data-start="5090" data-end="5117"> <p data-start="5093" data-end="5117">Clear setup instructions</p> </li> <li data-start="5118" data-end="5164"> <p data-start="5121" data-end="5164">Comments explaining architectural decisions</p> </li> </ol> <p data-start="5171" data-end="5375"><strong data-start="5171" data-end="5183">End Goal</strong><br data-start="5183" data-end="5186">Deliver a fully working, local-hostable web application that acts as a long-term personal prediction tracking system with accountability, history, and insight into decision-making accuracy.</p> <p data-start="5409" data-end="5467">Please provide me the full system code including the MySQL schema/script. </p> <p data-start="5559" data-end="5644">Please also add/suggest <strong data-start="5563" data-end="5598">quant finance–specific features</strong> (price thresholds, percent moves, time decay)</p>
Idea Notes:
<h2 data-start="540" data-end="599">Full-Stack Prediction Ledger & Accuracy Scoring Platform</h2> <h2 data-start="606" data-end="613">ROLE</h2> <p data-start="615" data-end="722">You are a <strong data-start="625" data-end="721">senior full-stack software architect, quant-finance system designer, and production engineer</strong>.</p> <p data-start="724" data-end="889">Your task is to <strong data-start="740" data-end="842">design and fully implement a complete web-based Prediction Tracking & Accuracy Scoring Application called BFEM Prediction Tool</strong>, delivered with <strong data-start="859" data-end="882">working source code</strong> using:</p> <ul data-start="891" data-end="983"> <li data-start="891" data-end="910"> <p data-start="893" data-end="910"><strong data-start="893" data-end="900">PHP</strong> (backend)</p> </li> <li data-start="911" data-end="933"> <p data-start="913" data-end="933"><strong data-start="913" data-end="922">MySQL</strong> (database)</p> </li> <li data-start="911" data-end="933">You will need to use following cridentials to reach the database (as I will create the tables on my server):<br> $hostname = "localhost"; $username = "u773187720_jayden"; $password = "BfemSp01!"; $dbname = "u773187720_bfemuniv_bfem"; </li> <li data-start="934" data-end="961"> <p data-start="936" data-end="961"><strong data-start="936" data-end="950">JavaScript</strong> (frontend)</p> </li> <li data-start="962" data-end="983"> <p data-start="964" data-end="983"><strong data-start="964" data-end="978">HTML / CSS</strong> (UI)</p> </li> </ul> <p data-start="985" data-end="1093">The system must run on a standard PHP/MySQL hosting environment and be <strong data-start="1056" data-end="1092">fully functional upon deployment</strong>.</p> <h2 data-start="1100" data-end="1117">CORE OBJECTIVE</h2> <p data-start="1119" data-end="1303">Build a <strong data-start="1127" data-end="1148">Prediction Ledger</strong> that records forecasts, tracks evolving confidence, evaluates outcomes using structured taxonomy, and computes <strong data-start="1260" data-end="1292">quantitative accuracy scores</strong> over time.</p> <p data-start="1305" data-end="1423">This is <strong data-start="1313" data-end="1320">not</strong> a demo or conceptual design — you must output <strong data-start="1367" data-end="1395">complete executable code</strong>, schemas, and instructions.</p> <h2 data-start="1430" data-end="1456">FUNCTIONAL REQUIREMENTS</h2> <h2 data-start="1463" data-end="1488">1. Prediction Creation</h2> <p data-start="1490" data-end="1517">Each prediction must store:</p> <h3 data-start="1519" data-end="1538">Required Fields</h3> <ul data-start="1539" data-end="1855"> <li data-start="1539" data-end="1582"> <p data-start="1541" data-end="1582">prediction_id (INT, PK, auto-increment)</p> </li> <li data-start="1583" data-end="1602"> <p data-start="1585" data-end="1602">title (VARCHAR)</p> </li> <li data-start="1603" data-end="1629"> <p data-start="1605" data-end="1629">prediction_text (TEXT)</p> </li> <li data-start="1630" data-end="1697"> <p data-start="1632" data-end="1697">category (ENUM: Stock, Macro, Career, Health, Personal, Custom)</p> </li> <li data-start="1698" data-end="1724"> <p data-start="1700" data-end="1724">prediction_date (DATE)</p> </li> <li data-start="1725" data-end="1747"> <p data-start="1727" data-end="1747">target_date (DATE)</p> </li> <li data-start="1748" data-end="1778"> <p data-start="1750" data-end="1778">confidence_level (INT 1–5)</p> </li> <li data-start="1779" data-end="1808"> <p data-start="1781" data-end="1808">trend_indicator (INT 1–5)</p> </li> <li data-start="1809" data-end="1855"> <p data-start="1811" data-end="1855">status (ENUM: Active, Resolved, Abandoned)</p> </li> </ul> <h3 data-start="1862" data-end="1900">Quant-Finance Fields (First-Class)</h3> <ul data-start="1902" data-end="2272"> <li data-start="1902" data-end="1938"> <p data-start="1904" data-end="1938">asset_symbol (VARCHAR, nullable)</p> </li> <li data-start="1939" data-end="1967"> <p data-start="1941" data-end="1967">starting_price (DECIMAL)</p> </li> <li data-start="1968" data-end="1994"> <p data-start="1970" data-end="1994">target_price (DECIMAL)</p> </li> <li data-start="1995" data-end="2030"> <p data-start="1997" data-end="2030">price_threshold_upper (DECIMAL)</p> </li> <li data-start="2031" data-end="2066"> <p data-start="2033" data-end="2066">price_threshold_lower (DECIMAL)</p> </li> <li data-start="2067" data-end="2102"> <p data-start="2069" data-end="2102">expected_percent_move (DECIMAL)</p> </li> <li data-start="2103" data-end="2139"> <p data-start="2105" data-end="2139">actual_price (DECIMAL, nullable)</p> </li> <li data-start="2140" data-end="2183"> <p data-start="2142" data-end="2183">actual_percent_move (DECIMAL, nullable)</p> </li> <li data-start="2184" data-end="2238"> <p data-start="2186" data-end="2238">time_decay_model (ENUM: Linear, Exponential, None)</p> </li> <li data-start="2239" data-end="2272"> <p data-start="2241" data-end="2272">time_weighted_score (DECIMAL)</p> </li> </ul> <h3 data-start="2279" data-end="2291">Metadata</h3> <ul data-start="2292" data-end="2338"> <li data-start="2292" data-end="2308"> <p data-start="2294" data-end="2308">notes (TEXT)</p> </li> <li data-start="2309" data-end="2323"> <p data-start="2311" data-end="2323">created_at</p> </li> <li data-start="2324" data-end="2338"> <p data-start="2326" data-end="2338">updated_at</p> </li> </ul> <h2 data-start="2345" data-end="2386">2. Trend Indicator (Progress Tracking)</h2> <p data-start="2388" data-end="2425">Used during the life of a prediction:</p> <ol data-start="2427" data-end="2534"> <li data-start="2427" data-end="2450"> <p data-start="2430" data-end="2450">Strongly Diverging</p> </li> <li data-start="2451" data-end="2465"> <p data-start="2454" data-end="2465">Diverging</p> </li> <li data-start="2466" data-end="2487"> <p data-start="2469" data-end="2487">Flat / Uncertain</p> </li> <li data-start="2488" data-end="2506"> <p data-start="2491" data-end="2506">Tracking Well</p> </li> <li data-start="2507" data-end="2534"> <p data-start="2510" data-end="2534">Exceeding Expectations</p> </li> </ol> <p data-start="2536" data-end="2581">Stored as INT (1–5) with visual color coding.</p> <h2 data-start="2588" data-end="2632">3. Prediction Updates (Immutable History)</h2> <p data-start="2634" data-end="2654">Each update records:</p> <ul data-start="2655" data-end="2833"> <li data-start="2655" data-end="2673"> <p data-start="2657" data-end="2673">update_id (PK)</p> </li> <li data-start="2674" data-end="2696"> <p data-start="2676" data-end="2696">prediction_id (FK)</p> </li> <li data-start="2697" data-end="2712"> <p data-start="2699" data-end="2712">update_date</p> </li> <li data-start="2713" data-end="2727"> <p data-start="2715" data-end="2727">commentary</p> </li> <li data-start="2728" data-end="2757"> <p data-start="2730" data-end="2757">trend_indicator_at_update</p> </li> <li data-start="2758" data-end="2788"> <p data-start="2760" data-end="2788">confidence_level_at_update</p> </li> <li data-start="2789" data-end="2807"> <p data-start="2791" data-end="2807">observed_price</p> </li> <li data-start="2808" data-end="2833"> <p data-start="2810" data-end="2833">observed_percent_move</p> </li> </ul> <p data-start="2835" data-end="2841">Rules:</p> <ul data-start="2842" data-end="2904"> <li data-start="2842" data-end="2855"> <p data-start="2844" data-end="2855">Append-only</p> </li> <li data-start="2856" data-end="2885"> <p data-start="2858" data-end="2885">No edits to historical data</p> </li> <li data-start="2886" data-end="2904"> <p data-start="2888" data-end="2904">Full audit trail</p> </li> </ul> <h2 data-start="2911" data-end="2957">4. Final Outcome Classification (MANDATORY)</h2> <p data-start="2959" data-end="3021">When resolving a prediction, user must select <strong data-start="3005" data-end="3020">exactly one</strong>:</p> <h3 data-start="3023" data-end="3045">Final Outcome ENUM</h3> <ul data-start="3046" data-end="3130"> <li data-start="3046" data-end="3062"> <p data-start="3048" data-end="3062"><strong data-start="3048" data-end="3062">Black Swan</strong></p> </li> <li data-start="3063" data-end="3086"> <p data-start="3065" data-end="3086"><strong data-start="3065" data-end="3086">Welcomed Surprise</strong></p> </li> <li data-start="3087" data-end="3096"> <p data-start="3089" data-end="3096"><strong data-start="3089" data-end="3096">Hit</strong></p> </li> <li data-start="3097" data-end="3112"> <p data-start="3099" data-end="3112"><strong data-start="3099" data-end="3112">Near Miss</strong></p> </li> <li data-start="3113" data-end="3130"> <p data-start="3115" data-end="3130"><strong data-start="3115" data-end="3130">Strong Miss</strong></p> </li> </ul> <p data-start="3132" data-end="3146">Stored fields:</p> <ul data-start="3147" data-end="3196"> <li data-start="3147" data-end="3164"> <p data-start="3149" data-end="3164">final_outcome</p> </li> <li data-start="3165" data-end="3180"> <p data-start="3167" data-end="3180">final_notes</p> </li> <li data-start="3181" data-end="3196"> <p data-start="3183" data-end="3196">resolved_at</p> </li> </ul> <p data-start="3198" data-end="3215">After resolution:</p> <ul data-start="3216" data-end="3269"> <li data-start="3216" data-end="3246"> <p data-start="3218" data-end="3246">Prediction becomes read-only</p> </li> <li data-start="3247" data-end="3269"> <p data-start="3249" data-end="3269">Outcome is immutable</p> </li> </ul> <h2 data-start="3276" data-end="3312">5. Quant Finance Logic (REQUIRED)</h2> <h3 data-start="3314" data-end="3342">Percent Move Calculation</h3> <p> actual_percent_move = (actual_price - starting_price) / starting_price × 100</p> <h3 data-start="3429" data-end="3453">Threshold Evaluation</h3> <ul data-start="3454" data-end="3533"> <li data-start="3454" data-end="3466"> <p data-start="3456" data-end="3466">Hit target</p> </li> <li data-start="3467" data-end="3491"> <p data-start="3469" data-end="3491">Breach upper threshold</p> </li> <li data-start="3492" data-end="3516"> <p data-start="3494" data-end="3516">Breach lower threshold</p> </li> <li data-start="3517" data-end="3533"> <p data-start="3519" data-end="3533">Remain neutral</p> </li> </ul> <h2 data-start="3540" data-end="3581">6. Accuracy Scoring System (MANDATORY)</h2> <p data-start="3583" data-end="3651">You MUST implement and persist an <strong data-start="3617" data-end="3635">accuracy score</strong> per prediction.</p> <h3 data-start="3653" data-end="3679">6.1 Scoring Dimensions</h3> <p>Component Weight Directional Accuracy 40% Magnitude Accuracy 30% Timing Accuracy 20% Confidence Calibration 10%</p> <p data-start="3845" data-end="3879">Total score range: <strong data-start="3864" data-end="3879">0.0 – 100.0</strong></p> <h3 data-start="3886" data-end="3925">6.2 Directional Accuracy (0–40 pts)</h3> <p> If direction correct → 40 If near miss → 25 If incorrect → 0</p> <h3 data-start="4002" data-end="4039">6.3 Magnitude Accuracy (0–30 pts)</h3> <p> magnitude_error = |actual_percent_move - expected_percent_move| score = max(0, 30 - (magnitude_error × k))</p> <p data-start="4158" data-end="4205">Where k is a tunable constant (default: 0.5).</p> <h3 data-start="4212" data-end="4246">6.4 Timing Accuracy (0–20 pts)</h3> <p> timing_error_days = |resolved_date - target_date| score = max(0, 20 - timing_error_days)</p> <p data-start="4347" data-end="4364">Cap minimum at 0.</p> <h3 data-start="4371" data-end="4412">6.5 Confidence Calibration (0–10 pts)</h3> <p> confidence_score = If high confidence & hit → +10 If high confidence & miss → 0 If low confidence & hit → +6 Else → +3</p> <h3 data-start="4547" data-end="4575">6.6 Final Accuracy Score</h3> <p> final_accuracy_score = direction_score + magnitude_score + timing_score + confidence_score</p> <p data-start="4677" data-end="4683">Store:</p> <ul data-start="4684" data-end="4751"> <li data-start="4684" data-end="4702"> <p data-start="4686" data-end="4702">accuracy_score</p> </li> <li data-start="4703" data-end="4751"> <p data-start="4705" data-end="4751">Sub-component scores (optional but encouraged)</p> </li> </ul> <h2 data-start="4758" data-end="4781">7. Time Decay Models</h2> <h3 data-start="4783" data-end="4799">Linear Decay</h3> <p> decayed_score = confidence × (remaining_days / total_days)</p> <h3 data-start="4868" data-end="4889">Exponential Decay</h3> <p> decayed_score = confidence × e^(−λ × elapsed_days)</p> <p data-start="4950" data-end="4985">Persist decay values for analytics.</p> <h2 data-start="4992" data-end="5019">8. Dashboard & Analytics</h2> <h3 data-start="5021" data-end="5035">Dashboards</h3> <ul data-start="5036" data-end="5110"> <li data-start="5036" data-end="5056"> <p data-start="5038" data-end="5056">Active predictions</p> </li> <li data-start="5057" data-end="5075"> <p data-start="5059" data-end="5075">Countdown timers</p> </li> <li data-start="5076" data-end="5094"> <p data-start="5078" data-end="5094">Trend indicators</p> </li> <li data-start="5095" data-end="5110"> <p data-start="5097" data-end="5110">Asset filters</p> </li> </ul> <h3 data-start="5112" data-end="5125">Analytics</h3> <ul data-start="5126" data-end="5244"> <li data-start="5126" data-end="5148"> <p data-start="5128" data-end="5148">Accuracy by category</p> </li> <li data-start="5149" data-end="5173"> <p data-start="5151" data-end="5173">Confidence vs accuracy</p> </li> <li data-start="5174" data-end="5196"> <p data-start="5176" data-end="5196">Outcome distribution</p> </li> <li data-start="5197" data-end="5219"> <p data-start="5199" data-end="5219">Black Swan frequency</p> </li> <li data-start="5220" data-end="5244"> <p data-start="5222" data-end="5244">Score trends over time</p> </li> </ul> <h2 data-start="5251" data-end="5276">TECHNICAL REQUIREMENTS</h2> <h2 data-start="5283" data-end="5299">Backend (PHP)</h2> <ul data-start="5301" data-end="5580"> <li data-start="5301" data-end="5331"> <p data-start="5303" data-end="5331">PDO with prepared statements</p> </li> <li data-start="5332" data-end="5540"> <p data-start="5334" data-end="5355">REST-style endpoints:</p> <ul data-start="5358" data-end="5540"> <li data-start="5358" data-end="5383"> <p data-start="5360" data-end="5383">create_prediction.php</p> </li> <li data-start="5386" data-end="5404"> <p data-start="5388" data-end="5404">add_update.php</p> </li> <li data-start="5407" data-end="5430"> <p data-start="5409" data-end="5430">get_predictions.php</p> </li> <li data-start="5433" data-end="5462"> <p data-start="5435" data-end="5462">get_prediction_detail.php</p> </li> <li data-start="5465" data-end="5491"> <p data-start="5467" data-end="5491">resolve_prediction.php</p> </li> <li data-start="5494" data-end="5520"> <p data-start="5496" data-end="5520">calculate_accuracy.php</p> </li> <li data-start="5523" data-end="5540"> <p data-start="5525" data-end="5540">analytics.php</p> </li> </ul> </li> <li data-start="5541" data-end="5580"> <p data-start="5543" data-end="5580">Business logic separated from routing</p> </li> </ul> <h2 data-start="5587" data-end="5606">Database (MySQL)</h2> <p data-start="5608" data-end="5625">You MUST provide:</p> <ul data-start="5626" data-end="5713"> <li data-start="5626" data-end="5643"> <p data-start="5628" data-end="5643">Full SQL schema</p> </li> <li data-start="5644" data-end="5667"> <p data-start="5646" data-end="5667">Indexes & constraints</p> </li> <li data-start="5668" data-end="5686"> <p data-start="5670" data-end="5686">ENUM definitions</p> </li> <li data-start="5687" data-end="5701"> <p data-start="5689" data-end="5701">Foreign keys</p> </li> <li data-start="5702" data-end="5713"> <p data-start="5704" data-end="5713">Seed data</p> </li> </ul> <p data-start="5715" data-end="5722">Tables:</p> <ul data-start="5723" data-end="5761"> <li data-start="5723" data-end="5738"> <p data-start="5725" data-end="5738">predictions</p> </li> <li data-start="5739" data-end="5761"> <p data-start="5741" data-end="5761">prediction_updates</p> </li> </ul> <h2 data-start="5768" data-end="5792">Frontend (JavaScript)</h2> <ul data-start="5794" data-end="5877"> <li data-start="5794" data-end="5809"> <p data-start="5796" data-end="5809">Dynamic forms</p> </li> <li data-start="5810" data-end="5828"> <p data-start="5812" data-end="5828">AJAX / fetch API</p> </li> <li data-start="5829" data-end="5858"> <p data-start="5831" data-end="5858">Trend & score visualization</p> </li> <li data-start="5859" data-end="5877"> <p data-start="5861" data-end="5877">Charts (pure JS)</p> </li> </ul> <h2 data-start="5884" data-end="5902">REQUIRED OUTPUT</h2> <p data-start="5904" data-end="5920">You MUST output:</p> <ol data-start="5922" data-end="6111"> <li data-start="5922" data-end="5965"> <p data-start="5925" data-end="5965"><strong data-start="5925" data-end="5965">Complete MySQL schema + setup script</strong></p> </li> <li data-start="5966" data-end="5994"> <p data-start="5969" data-end="5994"><strong data-start="5969" data-end="5994">All PHP backend files</strong></p> </li> <li data-start="5995" data-end="6021"> <p data-start="5998" data-end="6021"><strong data-start="5998" data-end="6021">Frontend JavaScript</strong></p> </li> <li data-start="6022" data-end="6047"> <p data-start="6025" data-end="6047"><strong data-start="6025" data-end="6047">HTML/CSS templates</strong></p> </li> <li data-start="6048" data-end="6086"> <p data-start="6051" data-end="6086"><strong data-start="6051" data-end="6086">Setup & deployment instructions</strong></p> </li> <li data-start="6087" data-end="6111"> <p data-start="6090" data-end="6111">Clear inline comments</p> </li> </ol> <p data-start="6113" data-end="6204">Do <strong data-start="6116" data-end="6123">not</strong> summarize.<br data-start="6134" data-end="6137">Do <strong data-start="6140" data-end="6147">not</strong> omit code.<br data-start="6158" data-end="6161">This must be <strong data-start="6174" data-end="6203">deployable and functional</strong>.</p> <h2 data-start="6211" data-end="6222">END GOAL</h2> <p data-start="6224" data-end="6423">Deliver a <strong data-start="6234" data-end="6297">fully working Prediction Ledger with Quant Accuracy Scoring</strong>, enabling long-term accountability, statistical review, and decision-quality improvement across financial and life forecasts.</p>
Update Idea