commit 70c29419b68c6bc793e3899e37b1c2c5e421b7f0
Author: root <root@hub.scroll.pub>
Date: 2024-12-26 23:16:47 +0000
Subject: Initial commit
diff --git a/body.html b/body.html
new file mode 100644
index 0000000..24adba9
--- /dev/null
+++ b/body.html
@@ -0,0 +1,59 @@
+<header>
+ <h1>PhD vs OnlyFans Calculator</h1>
+ <p class="tagline">Make a data-driven career decision</p>
+</header>
+
+<main>
+ <section class="calculator">
+ <div class="input-group">
+ <h2>Current PhD Situation</h2>
+ <label for="stipend">Annual Stipend ($)</label>
+ <input type="number" id="stipend" min="0" step="1000" value="25000">
+
+ <label for="years-left">Years Left in Program</label>
+ <input type="number" id="years-left" min="0" max="10" step="0.5" value="3">
+
+ <label for="stress-level">Current Stress Level (1-10)</label>
+ <input type="range" id="stress-level" min="1" max="10" value="7">
+ </div>
+
+ <div class="input-group">
+ <h2>OnlyFans Potential</h2>
+ <label for="attractiveness">Self-Rated Attractiveness (1-10)</label>
+ <input type="range" id="attractiveness" min="1" max="10" value="7">
+
+ <label for="social-media">Current Social Media Following</label>
+ <input type="number" id="social-media" min="0" step="100" value="1000">
+
+ <label for="comfort-level">Content Comfort Level (1-10)</label>
+ <input type="range" id="comfort-level" min="1" max="10" value="5">
+ </div>
+
+ <button id="calculate" class="gradient-button">Calculate Career Path</button>
+
+ <div id="result" class="hidden">
+ <h2>Analysis Results</h2>
+ <div class="result-cards">
+ <div class="card phd-card">
+ <h3>PhD Path</h3>
+ <p id="phd-score"></p>
+ <ul id="phd-factors"></ul>
+ </div>
+ <div class="card of-card">
+ <h3>OnlyFans Path</h3>
+ <p id="of-score"></p>
+ <ul id="of-factors"></ul>
+ </div>
+ </div>
+ <p id="recommendation" class="recommendation"></p>
+ </div>
+ </section>
+
+ <section class="disclaimer">
+ <p>This calculator is for entertainment purposes only. Career decisions should involve careful consideration of multiple factors and consultation with mentors.</p>
+ </section>
+</main>
+
+<footer>
+ <p>Created with humor and algorithms</p>
+</footer>
diff --git a/index.scroll b/index.scroll
new file mode 100644
index 0000000..eb741d4
--- /dev/null
+++ b/index.scroll
@@ -0,0 +1,8 @@
+buildHtml
+baseUrl https://phdonlyfans.scroll.pub
+metaTags
+editButton /edit.html
+title PhD vs OnlyFans Calculator - Make an Informed Career Decision
+style.css
+body.html
+script.js
diff --git a/readme.scroll b/readme.scroll
new file mode 100644
index 0000000..c62e981
--- /dev/null
+++ b/readme.scroll
@@ -0,0 +1,2 @@
+# phdonlyfans.scroll.pub
+Website generated from prompt: I want a website that will help decide if I should drop out of my PhD program to do only Fans. So it should have some numerical tools and interactivity. Be creative.
\ No newline at end of file
diff --git a/script.js b/script.js
new file mode 100644
index 0000000..31d3a34
--- /dev/null
+++ b/script.js
@@ -0,0 +1,79 @@
+document.addEventListener('DOMContentLoaded', () => {
+ const calculateButton = document.getElementById('calculate');
+ const resultDiv = document.getElementById('result');
+
+ calculateButton.addEventListener('click', () => {
+ const stipend = parseFloat(document.getElementById('stipend').value);
+ const yearsLeft = parseFloat(document.getElementById('years-left').value);
+ const stressLevel = parseFloat(document.getElementById('stress-level').value);
+ const attractiveness = parseFloat(document.getElementById('attractiveness').value);
+ const socialMedia = parseFloat(document.getElementById('social-media').value);
+ const comfortLevel = parseFloat(document.getElementById('comfort-level').value);
+
+ // Calculate PhD score (max 100)
+ const phdScore = calculatePhdScore(stipend, yearsLeft, stressLevel);
+
+ // Calculate OnlyFans score (max 100)
+ const ofScore = calculateOnlyFansScore(attractiveness, socialMedia, comfortLevel);
+
+ displayResults(phdScore, ofScore);
+ resultDiv.classList.remove('hidden');
+ });
+
+ function calculatePhdScore(stipend, yearsLeft, stressLevel) {
+ const stipendScore = Math.min(40, (stipend / 50000) * 40);
+ const yearsScore = Math.max(0, 30 - (yearsLeft * 3));
+ const stressScore = Math.max(0, 30 - (stressLevel * 3));
+ return Math.round(stipendScore + yearsScore + stressScore);
+ }
+
+ function calculateOnlyFansScore(attractiveness, socialMedia, comfortLevel) {
+ const attractivenessScore = attractiveness * 4;
+ const socialScore = Math.min(30, (socialMedia / 10000) * 30);
+ const comfortScore = comfortLevel * 3;
+ return Math.round(attractivenessScore + socialScore + comfortScore);
+ }
+
+ function displayResults(phdScore, ofScore) {
+ const phdScoreElement = document.getElementById('phd-score');
+ const ofScoreElement = document.getElementById('of-score');
+ const recommendationElement = document.getElementById('recommendation');
+ const phdFactors = document.getElementById('phd-factors');
+ const ofFactors = document.getElementById('of-factors');
+
+ phdScoreElement.textContent = `Career Score: ${phdScore}/100`;
+ ofScoreElement.textContent = `Career Score: ${ofScore}/100`;
+
+ phdFactors.innerHTML = '';
+ ofFactors.innerHTML = '';
+
+ // Add factors for PhD
+ addFactor(phdFactors, 'Long-term career stability', phdScore > 70);
+ addFactor(phdFactors, 'Academic prestige', phdScore > 60);
+ addFactor(phdFactors, 'Research impact', phdScore > 50);
+
+ // Add factors for OnlyFans
+ addFactor(ofFactors, 'Income potential', ofScore > 70);
+ addFactor(ofFactors, 'Work flexibility', ofScore > 60);
+ addFactor(ofFactors, 'Creative freedom', ofScore > 50);
+
+ const difference = Math.abs(phdScore - ofScore);
+ let recommendation;
+
+ if (difference < 10) {
+ recommendation = "This is a close call! Consider trying OnlyFans as a side hustle while continuing your PhD.";
+ } else if (phdScore > ofScore) {
+ recommendation = "The numbers suggest sticking with your PhD program. Knowledge is power! 🎓";
+ } else {
+ recommendation = "The numbers suggest OnlyFans might be more lucrative. But remember, this is just for fun! 📸";
+ }
+
+ recommendationElement.textContent = recommendation;
+ }
+
+ function addFactor(element, text, positive) {
+ const li = document.createElement('li');
+ li.textContent = `${text}: ${positive ? '✅' : '❌'}`;
+ element.appendChild(li);
+ }
+});
diff --git a/style.css b/style.css
new file mode 100644
index 0000000..3b7948f
--- /dev/null
+++ b/style.css
@@ -0,0 +1,186 @@
+:root {
+ --gradient-1: #ff758c;
+ --gradient-2: #ff7eb3;
+ --dark: #2c3e50;
+ --light: #f5f6fa;
+ --accent: #a8e6cf;
+}
+
+* {
+ box-sizing: border-box;
+ margin: 0;
+ padding: 0;
+}
+
+body {
+ font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
+ line-height: 1.6;
+ color: var(--dark);
+ background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
+ min-height: 100vh;
+}
+
+header {
+ text-align: center;
+ padding: 3rem 1rem;
+ background: linear-gradient(to right, var(--gradient-1), var(--gradient-2));
+ color: white;
+ box-shadow: 0 4px 12px rgba(0,0,0,0.1);
+}
+
+h1 {
+ font-size: 2.5rem;
+ margin-bottom: 0.5rem;
+ text-shadow: 2px 2px 4px rgba(0,0,0,0.2);
+}
+
+.tagline {
+ font-size: 1.2rem;
+ opacity: 0.9;
+}
+
+main {
+ max-width: 800px;
+ margin: 2rem auto;
+ padding: 0 1rem;
+}
+
+.calculator {
+ background: white;
+ padding: 2rem;
+ border-radius: 1rem;
+ box-shadow: 0 10px 30px rgba(0,0,0,0.1);
+}
+
+.input-group {
+ margin-bottom: 2rem;
+}
+
+h2 {
+ color: var(--dark);
+ margin-bottom: 1.5rem;
+}
+
+label {
+ display: block;
+ margin: 1rem 0 0.5rem;
+ color: var(--dark);
+}
+
+input {
+ width: 100%;
+ padding: 0.8rem;
+ border: 2px solid #e1e1e1;
+ border-radius: 0.5rem;
+ font-size: 1rem;
+ transition: border-color 0.3s;
+}
+
+input:focus {
+ border-color: var(--gradient-2);
+ outline: none;
+}
+
+input[type="range"] {
+ -webkit-appearance: none;
+ height: 8px;
+ background: #e1e1e1;
+ border-radius: 4px;
+ padding: 0;
+}
+
+input[type="range"]::-webkit-slider-thumb {
+ -webkit-appearance: none;
+ height: 24px;
+ width: 24px;
+ border-radius: 50%;
+ background: var(--gradient-2);
+ cursor: pointer;
+ transition: transform 0.2s;
+}
+
+input[type="range"]::-webkit-slider-thumb:hover {
+ transform: scale(1.1);
+}
+
+.gradient-button {
+ display: block;
+ width: 100%;
+ padding: 1rem;
+ border: none;
+ border-radius: 0.5rem;
+ background: linear-gradient(to right, var(--gradient-1), var(--gradient-2));
+ color: white;
+ font-size: 1.1rem;
+ cursor: pointer;
+ transition: transform 0.3s, box-shadow 0.3s;
+}
+
+.gradient-button:hover {
+ transform: translateY(-2px);
+ box-shadow: 0 5px 15px rgba(255,117,140,0.4);
+}
+
+.result-cards {
+ display: grid;
+ grid-template-columns: 1fr 1fr;
+ gap: 1rem;
+ margin-top: 2rem;
+}
+
+.card {
+ padding: 1.5rem;
+ border-radius: 0.5rem;
+ box-shadow: 0 4px 12px rgba(0,0,0,0.1);
+}
+
+.phd-card {
+ background: linear-gradient(135deg, #a8e6cf 0%, #dcedc1 100%);
+}
+
+.of-card {
+ background: linear-gradient(135deg, #ffd3b6 0%, #ffaaa5 100%);
+}
+
+.hidden {
+ display: none;
+}
+
+.recommendation {
+ margin-top: 2rem;
+ padding: 1rem;
+ background: var(--light);
+ border-radius: 0.5rem;
+ text-align: center;
+ font-weight: bold;
+}
+
+.disclaimer {
+ margin-top: 2rem;
+ padding: 1rem;
+ background: rgba(255,255,255,0.5);
+ border-radius: 0.5rem;
+ font-size: 0.9rem;
+ text-align: center;
+}
+
+footer {
+ text-align: center;
+ padding: 2rem;
+ color: var(--dark);
+ font-size: 0.9rem;
+}
+
+@media (max-width: 768px) {
+ .result-cards {
+ grid-template-columns: 1fr;
+ }
+
+ header {
+ padding: 2rem 1rem;
+ }
+
+ h1 {
+ font-size: 2rem;
+ }
+}