commit cb6fac4d433044c174f11db1cf4ad447f91ec66a
Author: root <root@hub.scroll.pub>
Date: 2025-01-04 02:02:08 +0000
Subject: Initial commit
diff --git a/body.html b/body.html
new file mode 100644
index 0000000..d696a83
--- /dev/null
+++ b/body.html
@@ -0,0 +1,45 @@
+<header>
+ <h1>Should I Retire?</h1>
+ <p>Evaluate if it's time to retire as a software engineer</p>
+</header>
+
+<main>
+ <form id="retirementForm">
+ <div class="form-group">
+ <label for="age">Your Age:</label>
+ <input type="number" id="age" name="age" required min="18" max="120">
+ </div>
+
+ <div class="form-group">
+ <label for="experience">Years of Experience:</label>
+ <input type="number" id="experience" name="experience" required min="0" max="100">
+ </div>
+
+ <div class="form-group">
+ <label for="burnout">Burnout Level (1-10):</label>
+ <input type="number" id="burnout" name="burnout" required min="1" max="10">
+ </div>
+
+ <div class="form-group">
+ <label for="savings">Retirement Savings ($):</label>
+ <input type="number" id="savings" name="savings" required min="0">
+ </div>
+
+ <div class="form-group">
+ <label for="passion">Passion for Coding (1-10):</label>
+ <input type="number" id="passion" name="passion" required min="1" max="10">
+ </div>
+
+ <button type="submit">Evaluate</button>
+ </form>
+
+ <div id="result" class="hidden">
+ <h2>Evaluation Result</h2>
+ <p id="resultText"></p>
+ <button id="resetButton">Evaluate Again</button>
+ </div>
+</main>
+
+<footer>
+ <p>Disclaimer: This is a fun evaluation tool, not financial advice.</p>
+</footer>
\ No newline at end of file
diff --git a/index.scroll b/index.scroll
new file mode 100644
index 0000000..9dd7b46
--- /dev/null
+++ b/index.scroll
@@ -0,0 +1,8 @@
+buildHtml
+baseUrl https://retiredev.scroll.pub
+metaTags
+editButton /edit.html
+title Should I Retire? - Software Engineer Retirement Evaluator
+style.css
+body.html
+script.js
\ No newline at end of file
diff --git a/prompt.json b/prompt.json
new file mode 100644
index 0000000..97f3800
--- /dev/null
+++ b/prompt.json
@@ -0,0 +1,25 @@
+{
+ "id": "307df3e9-a77a-423b-8089-7b302cdda3c3",
+ "object": "chat.completion",
+ "created": 1735956100,
+ "model": "deepseek-chat",
+ "choices": [
+ {
+ "index": 0,
+ "message": {
+ "role": "assistant",
+ "content": "---domain---\nretiredev.scroll.pub\n---index.scroll---\nbuildHtml\nbaseUrl https://retiredev.scroll.pub\nmetaTags\neditButton /edit.html\ntitle Should I Retire? - Software Engineer Retirement Evaluator\nstyle.css\nbody.html\nscript.js\n---body.html---\n<header>\n <h1>Should I Retire?</h1>\n <p>Evaluate if it's time to retire as a software engineer</p>\n</header>\n\n<main>\n <form id=\"retirementForm\">\n <div class=\"form-group\">\n <label for=\"age\">Your Age:</label>\n <input type=\"number\" id=\"age\" name=\"age\" required min=\"18\" max=\"120\">\n </div>\n\n <div class=\"form-group\">\n <label for=\"experience\">Years of Experience:</label>\n <input type=\"number\" id=\"experience\" name=\"experience\" required min=\"0\" max=\"100\">\n </div>\n\n <div class=\"form-group\">\n <label for=\"burnout\">Burnout Level (1-10):</label>\n <input type=\"number\" id=\"burnout\" name=\"burnout\" required min=\"1\" max=\"10\">\n </div>\n\n <div class=\"form-group\">\n <label for=\"savings\">Retirement Savings ($):</label>\n <input type=\"number\" id=\"savings\" name=\"savings\" required min=\"0\">\n </div>\n\n <div class=\"form-group\">\n <label for=\"passion\">Passion for Coding (1-10):</label>\n <input type=\"number\" id=\"passion\" name=\"passion\" required min=\"1\" max=\"10\">\n </div>\n\n <button type=\"submit\">Evaluate</button>\n </form>\n\n <div id=\"result\" class=\"hidden\">\n <h2>Evaluation Result</h2>\n <p id=\"resultText\"></p>\n <button id=\"resetButton\">Evaluate Again</button>\n </div>\n</main>\n\n<footer>\n <p>Disclaimer: This is a fun evaluation tool, not financial advice.</p>\n</footer>\n---style.css---\n:root {\n --primary-color: #2c3e50;\n --secondary-color: #3498db;\n --accent-color: #e74c3c;\n --bg-color: #ecf0f1;\n --text-color: #2c3e50;\n --font-family: 'Segoe UI', system-ui, sans-serif;\n}\n\n* {\n margin: 0;\n padding: 0;\n box-sizing: border-box;\n}\n\nbody {\n font-family: var(--font-family);\n line-height: 1.6;\n color: var(--text-color);\n background-color: var(--bg-color);\n padding: 2rem;\n min-height: 100vh;\n display: flex;\n flex-direction: column;\n align-items: center;\n}\n\nheader {\n text-align: center;\n margin-bottom: 2rem;\n}\n\nheader h1 {\n color: var(--primary-color);\n font-size: 2.5rem;\n margin-bottom: 0.5rem;\n}\n\nheader p {\n color: var(--secondary-color);\n font-size: 1.2rem;\n}\n\nmain {\n max-width: 600px;\n width: 100%;\n background: white;\n padding: 2rem;\n border-radius: 12px;\n box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);\n}\n\n.form-group {\n margin-bottom: 1.5rem;\n}\n\nlabel {\n display: block;\n margin-bottom: 0.5rem;\n color: var(--primary-color);\n font-weight: 500;\n}\n\ninput {\n width: 100%;\n padding: 0.8rem;\n border: 2px solid #ddd;\n border-radius: 8px;\n font-size: 1rem;\n transition: border-color 0.3s ease;\n}\n\ninput:focus {\n outline: none;\n border-color: var(--secondary-color);\n}\n\nbutton {\n width: 100%;\n padding: 1rem;\n background-color: var(--secondary-color);\n color: white;\n border: none;\n border-radius: 8px;\n font-size: 1rem;\n cursor: pointer;\n transition: background-color 0.3s ease;\n}\n\nbutton:hover {\n background-color: var(--primary-color);\n}\n\n#result {\n margin-top: 2rem;\n text-align: center;\n padding: 2rem;\n border-radius: 8px;\n background-color: var(--bg-color);\n}\n\n#result.hidden {\n display: none;\n}\n\n#resultText {\n font-size: 1.2rem;\n margin: 1rem 0;\n}\n\n#resetButton {\n background-color: var(--accent-color);\n max-width: 200px;\n}\n\nfooter {\n margin-top: 2rem;\n text-align: center;\n color: #666;\n font-size: 0.9rem;\n}\n\n@media (max-width: 600px) {\n body {\n padding: 1rem;\n }\n \n header h1 {\n font-size: 2rem;\n }\n \n main {\n padding: 1rem;\n }\n}\n---script.js---\ndocument.getElementById('retirementForm').addEventListener('submit', function(e) {\n e.preventDefault();\n \n // Get form values\n const age = parseInt(document.getElementById('age').value);\n const experience = parseInt(document.getElementById('experience').value);\n const burnout = parseInt(document.getElementById('burnout').value);\n const savings = parseInt(document.getElementById('savings').value);\n const passion = parseInt(document.getElementById('passion').value);\n \n // Calculate retirement score\n let score = 0;\n \n // Age factor\n if (age >= 65) score += 30;\n else if (age >= 55) score += 20;\n else if (age >= 45) score += 10;\n \n // Experience factor\n if (experience >= 30) score += 20;\n else if (experience >= 20) score += 15;\n else if (experience >= 10) score += 10;\n \n // Burnout factor\n if (burnout >= 8) score += 20;\n else if (burnout >= 5) score += 10;\n \n // Savings factor\n if (savings >= 1000000) score += 20;\n else if (savings >= 500000) score += 15;\n else if (savings >= 250000) score += 10;\n \n // Passion factor\n if (passion <= 3) score += 10;\n \n // Determine result\n let resultText = '';\n if (score >= 80) {\n resultText = \"It's time to retire! You've earned it.\";\n } else if (score >= 50) {\n resultText = \"You're getting close to retirement. Start planning!\";\n } else {\n resultText = \"You're not ready to retire yet. Keep coding!\";\n }\n \n // Show result\n document.getElementById('resultText').textContent = resultText;\n document.getElementById('result').classList.remove('hidden');\n});\n\ndocument.getElementById('resetButton').addEventListener('click', function() {\n document.getElementById('retirementForm').reset();\n document.getElementById('result').classList.add('hidden');\n});\n---end---"
+ },
+ "logprobs": null,
+ "finish_reason": "stop"
+ }
+ ],
+ "usage": {
+ "prompt_tokens": 272,
+ "completion_tokens": 1646,
+ "total_tokens": 1918,
+ "prompt_cache_hit_tokens": 0,
+ "prompt_cache_miss_tokens": 272
+ },
+ "system_fingerprint": "fp_3a5770e1b4"
+}
\ No newline at end of file
diff --git a/readme.scroll b/readme.scroll
new file mode 100644
index 0000000..c4418ba
--- /dev/null
+++ b/readme.scroll
@@ -0,0 +1,2 @@
+# retiredev.scroll.pub
+Website generated by DeepSeek from prompt: I want to have a web site to evaluate whether one software engineer should be retired now. it should have more factors with users' input, then decide whether he/she could be retired now.
\ No newline at end of file
diff --git a/script.js b/script.js
new file mode 100644
index 0000000..86ed84f
--- /dev/null
+++ b/script.js
@@ -0,0 +1,54 @@
+document.getElementById('retirementForm').addEventListener('submit', function(e) {
+ e.preventDefault();
+
+ // Get form values
+ const age = parseInt(document.getElementById('age').value);
+ const experience = parseInt(document.getElementById('experience').value);
+ const burnout = parseInt(document.getElementById('burnout').value);
+ const savings = parseInt(document.getElementById('savings').value);
+ const passion = parseInt(document.getElementById('passion').value);
+
+ // Calculate retirement score
+ let score = 0;
+
+ // Age factor
+ if (age >= 65) score += 30;
+ else if (age >= 55) score += 20;
+ else if (age >= 45) score += 10;
+
+ // Experience factor
+ if (experience >= 30) score += 20;
+ else if (experience >= 20) score += 15;
+ else if (experience >= 10) score += 10;
+
+ // Burnout factor
+ if (burnout >= 8) score += 20;
+ else if (burnout >= 5) score += 10;
+
+ // Savings factor
+ if (savings >= 1000000) score += 20;
+ else if (savings >= 500000) score += 15;
+ else if (savings >= 250000) score += 10;
+
+ // Passion factor
+ if (passion <= 3) score += 10;
+
+ // Determine result
+ let resultText = '';
+ if (score >= 80) {
+ resultText = "It's time to retire! You've earned it.";
+ } else if (score >= 50) {
+ resultText = "You're getting close to retirement. Start planning!";
+ } else {
+ resultText = "You're not ready to retire yet. Keep coding!";
+ }
+
+ // Show result
+ document.getElementById('resultText').textContent = resultText;
+ document.getElementById('result').classList.remove('hidden');
+});
+
+document.getElementById('resetButton').addEventListener('click', function() {
+ document.getElementById('retirementForm').reset();
+ document.getElementById('result').classList.add('hidden');
+});
\ No newline at end of file
diff --git a/style.css b/style.css
new file mode 100644
index 0000000..912a38a
--- /dev/null
+++ b/style.css
@@ -0,0 +1,135 @@
+:root {
+ --primary-color: #2c3e50;
+ --secondary-color: #3498db;
+ --accent-color: #e74c3c;
+ --bg-color: #ecf0f1;
+ --text-color: #2c3e50;
+ --font-family: 'Segoe UI', system-ui, sans-serif;
+}
+
+* {
+ margin: 0;
+ padding: 0;
+ box-sizing: border-box;
+}
+
+body {
+ font-family: var(--font-family);
+ line-height: 1.6;
+ color: var(--text-color);
+ background-color: var(--bg-color);
+ padding: 2rem;
+ min-height: 100vh;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+}
+
+header {
+ text-align: center;
+ margin-bottom: 2rem;
+}
+
+header h1 {
+ color: var(--primary-color);
+ font-size: 2.5rem;
+ margin-bottom: 0.5rem;
+}
+
+header p {
+ color: var(--secondary-color);
+ font-size: 1.2rem;
+}
+
+main {
+ max-width: 600px;
+ width: 100%;
+ background: white;
+ padding: 2rem;
+ border-radius: 12px;
+ box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
+}
+
+.form-group {
+ margin-bottom: 1.5rem;
+}
+
+label {
+ display: block;
+ margin-bottom: 0.5rem;
+ color: var(--primary-color);
+ font-weight: 500;
+}
+
+input {
+ width: 100%;
+ padding: 0.8rem;
+ border: 2px solid #ddd;
+ border-radius: 8px;
+ font-size: 1rem;
+ transition: border-color 0.3s ease;
+}
+
+input:focus {
+ outline: none;
+ border-color: var(--secondary-color);
+}
+
+button {
+ width: 100%;
+ padding: 1rem;
+ background-color: var(--secondary-color);
+ color: white;
+ border: none;
+ border-radius: 8px;
+ font-size: 1rem;
+ cursor: pointer;
+ transition: background-color 0.3s ease;
+}
+
+button:hover {
+ background-color: var(--primary-color);
+}
+
+#result {
+ margin-top: 2rem;
+ text-align: center;
+ padding: 2rem;
+ border-radius: 8px;
+ background-color: var(--bg-color);
+}
+
+#result.hidden {
+ display: none;
+}
+
+#resultText {
+ font-size: 1.2rem;
+ margin: 1rem 0;
+}
+
+#resetButton {
+ background-color: var(--accent-color);
+ max-width: 200px;
+}
+
+footer {
+ margin-top: 2rem;
+ text-align: center;
+ color: #666;
+ font-size: 0.9rem;
+}
+
+@media (max-width: 600px) {
+ body {
+ padding: 1rem;
+ }
+
+ header h1 {
+ font-size: 2rem;
+ }
+
+ main {
+ padding: 1rem;
+ }
+}
\ No newline at end of file