291 lines
14 KiB
HTML
291 lines
14 KiB
HTML
|
|
<!DOCTYPE html>
|
|||
|
|
<html lang="en">
|
|||
|
|
<head>
|
|||
|
|
<meta charset="UTF-8">
|
|||
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|||
|
|
<title>Lean Mars Calculator | Carlos Torreshernandez</title>
|
|||
|
|
<meta property="og:type" content="website">
|
|||
|
|
<meta property="og:title" content="Lean Mars Calculator | Carlos Torreshernandez">
|
|||
|
|
<meta property="og:description" content="Translating Toyota Production System principles to Red Planet logistics. From Boyacá terraces to Olympus Mons domes—waste reduction scales to…">
|
|||
|
|
<meta property="og:image" content="https://images.pexels.com/photos/34718922/pexels-photo-34718922.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=650&w=940">
|
|||
|
|
<meta property="og:url" content="https://carlos-torreshernandez.4ort.net/lean-mars-calculator.html">
|
|||
|
|
<meta name="twitter:card" content="summary_large_image">
|
|||
|
|
<meta name="description" content="Translating Toyota Production System principles to Red Planet logistics. From Boyacá terraces to Olympus Mons domes—waste reduction scales to…">
|
|||
|
|
<style>
|
|||
|
|
:root { --mars-red: #c1440e; --space-black: #0d1117; --steel-gray: #8b949e; --pure-white: #ffffff; --gold-accent: #ffd700; }
|
|||
|
|
* { box-sizing: border-box; }
|
|||
|
|
body {
|
|||
|
|
font-family: 'Segoe UI', system-ui, sans-serif;
|
|||
|
|
background: var(--space-black);
|
|||
|
|
color: var(--pure-white);
|
|||
|
|
margin: 0;
|
|||
|
|
padding: 2rem;
|
|||
|
|
line-height: 1.6;
|
|||
|
|
}
|
|||
|
|
.container { max-width: 900px; margin: 0 auto; }
|
|||
|
|
header {
|
|||
|
|
text-align: center;
|
|||
|
|
padding: 2rem 0;
|
|||
|
|
border-bottom: 2px solid var(--mars-red);
|
|||
|
|
margin-bottom: 2rem;
|
|||
|
|
}
|
|||
|
|
h1 { font-size: 2.5rem; margin: 0 0 1rem 0; color: var(--mars-red); }
|
|||
|
|
h2 { color: var(--gold-accent); border-left: 4px solid var(--mars-red); padding-left: 1rem; margin-top: 2rem; }
|
|||
|
|
.subtitle { font-size: 1.1rem; color: var(--steel-gray); max-width: 600px; margin: 0 auto; }
|
|||
|
|
|
|||
|
|
.tool-card {
|
|||
|
|
background: linear-gradient(135deg, #161b22 0%, #21262d 100%);
|
|||
|
|
border-radius: 12px;
|
|||
|
|
padding: 2rem;
|
|||
|
|
margin: 2rem 0;
|
|||
|
|
box-shadow: 0 8px 32px rgba(193, 68, 14, 0.15);
|
|||
|
|
border: 1px solid var(--steel-gray);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.input-group { margin: 1.5rem 0; }
|
|||
|
|
label { display: block; margin-bottom: 0.5rem; color: var(--gold-accent); font-weight: 500; }
|
|||
|
|
input[type="number"], select {
|
|||
|
|
width: 100%;
|
|||
|
|
padding: 0.75rem;
|
|||
|
|
background: var(--space-black);
|
|||
|
|
border: 2px solid var(--steel-gray);
|
|||
|
|
border-radius: 6px;
|
|||
|
|
color: var(--pure-white);
|
|||
|
|
font-size: 1rem;
|
|||
|
|
transition: border-color 0.2s;
|
|||
|
|
}
|
|||
|
|
input:focus, select:focus { outline: none; border-color: var(--mars-red); }
|
|||
|
|
|
|||
|
|
button.calculate-btn {
|
|||
|
|
background: linear-gradient(135deg, var(--mars-red) 0%, #8b2500 100%);
|
|||
|
|
color: var(--pure-white);
|
|||
|
|
border: none;
|
|||
|
|
padding: 1rem 2rem;
|
|||
|
|
font-size: 1.1rem;
|
|||
|
|
font-weight: 600;
|
|||
|
|
border-radius: 8px;
|
|||
|
|
cursor: pointer;
|
|||
|
|
width: 100%;
|
|||
|
|
margin-top: 1rem;
|
|||
|
|
transition: transform 0.2s, box-shadow 0.2s;
|
|||
|
|
}
|
|||
|
|
button.calculate-btn:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(193, 68, 14, 0.4); }
|
|||
|
|
|
|||
|
|
.results-panel {
|
|||
|
|
background: rgba(193, 68, 14, 0.1);
|
|||
|
|
border: 2px solid var(--mars-red);
|
|||
|
|
border-radius: 8px;
|
|||
|
|
padding: 1.5rem;
|
|||
|
|
margin-top: 2rem;
|
|||
|
|
display: none;
|
|||
|
|
}
|
|||
|
|
.results-panel.visible { display: block; animation: fadeIn 0.5s ease-out; }
|
|||
|
|
@keyframes fadeIn { from { opacity: 0; transform: translateY(-10px); } to { opacity: 1; transform: translateY(0); } }
|
|||
|
|
|
|||
|
|
.metric-row {
|
|||
|
|
display: grid;
|
|||
|
|
grid-template-columns: 1fr 2fr;
|
|||
|
|
gap: 1rem;
|
|||
|
|
padding: 1rem;
|
|||
|
|
border-bottom: 1px solid var(--steel-gray);
|
|||
|
|
}
|
|||
|
|
.metric-label { color: var(--gold-accent); font-weight: 500; }
|
|||
|
|
.metric-value { text-align: right; font-size: 1.2rem; font-weight: 600; color: var(--mars-red); }
|
|||
|
|
|
|||
|
|
.image-gallery {
|
|||
|
|
display: grid;
|
|||
|
|
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
|
|||
|
|
gap: 1.5rem;
|
|||
|
|
margin: 2rem 0;
|
|||
|
|
}
|
|||
|
|
.image-card {
|
|||
|
|
border-radius: 8px;
|
|||
|
|
overflow: hidden;
|
|||
|
|
border: 1px solid var(--steel-gray);
|
|||
|
|
}
|
|||
|
|
.image-card img {
|
|||
|
|
width: 100%;
|
|||
|
|
height: 200px;
|
|||
|
|
object-fit: cover;
|
|||
|
|
display: block;
|
|||
|
|
}
|
|||
|
|
.caption {
|
|||
|
|
background: var(--space-black);
|
|||
|
|
padding: 1rem;
|
|||
|
|
font-size: 0.9rem;
|
|||
|
|
color: var(--steel-gray);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.context-section {
|
|||
|
|
background: rgba(13, 17, 23, 0.8);
|
|||
|
|
border-left: 4px solid var(--gold-accent);
|
|||
|
|
padding: 1.5rem;
|
|||
|
|
margin: 2rem 0;
|
|||
|
|
border-radius: 0 8px 8px 0;
|
|||
|
|
}
|
|||
|
|
.fact-badge {
|
|||
|
|
display: inline-block;
|
|||
|
|
background: var(--steel-gray);
|
|||
|
|
color: var(--space-black);
|
|||
|
|
padding: 0.25rem 0.75rem;
|
|||
|
|
border-radius: 4px;
|
|||
|
|
font-size: 0.8rem;
|
|||
|
|
font-weight: 600;
|
|||
|
|
margin-right: 0.5rem;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
footer {
|
|||
|
|
text-align: center;
|
|||
|
|
margin-top: 3rem;
|
|||
|
|
padding: 2rem 0;
|
|||
|
|
border-top: 1px solid var(--steel-gray);
|
|||
|
|
color: var(--steel-gray);
|
|||
|
|
}
|
|||
|
|
</style>
|
|||
|
|
<script defer src="https://analytics.4ort.xyz/script.js" data-website-id="d3ed927c-888a-4a6c-ae5f-0b1c613ddf5b"></script>
|
|||
|
|
</head>
|
|||
|
|
<body>
|
|||
|
|
<div class="container">
|
|||
|
|
<header>
|
|||
|
|
<h1>Lean Mars Calculator</h1>
|
|||
|
|
<p class="subtitle">Translating Toyota Production System principles to Red Planet logistics. From Boyacá terraces to Olympus Mons domes—waste reduction scales to interplanetary survival.</p>
|
|||
|
|
</header>
|
|||
|
|
|
|||
|
|
<div class="context-section">
|
|||
|
|
<h2 style="margin-top: 0;">Grounded in Reality</h2>
|
|||
|
|
<p>This calculator applies <span class="fact-badge">Q380772</span> <strong>Lean Manufacturing</strong> methodology to Mars colony resupply chains. Based on the <span class="fact-badge">Q1553383</span> <strong>Toyota Production System</strong> framework adapted for <span class="fact-badge">Q490060</span> <strong>Just-In-Time Manufacturing</strong> under Martian gravity (0.38g).</p>
|
|||
|
|
<p><em>"En la fábrica de Medellín, cada segundo cuenta. En Marte, cada gramo cuenta."</em></p>
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
<div class="tool-card">
|
|||
|
|
<h2>🔧 Colony Efficiency Simulator</h2>
|
|||
|
|
<p>Input your colony's operational parameters. Calculate the theoretical minimum waste baseline for sustainable 14-week resupply cycles.</p>
|
|||
|
|
|
|||
|
|
<div class="input-group">
|
|||
|
|
<label for="crewSize">Active Crew Size</label>
|
|||
|
|
<input type="number" id="crewSize" value="12" min="1" max="200" placeholder="Number of colonists">
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
<div class="input-group">
|
|||
|
|
<label for="cycleDays">Resupply Cycle Duration (days)</label>
|
|||
|
|
<input type="number" id="cycleDays" value="98" min="14" max="365" placeholder="Default: 14 weeks = 98 days">
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
<div class="input-group">
|
|||
|
|
<label for="gravityFactor">Gravity Factor</label>
|
|||
|
|
<select id="gravityFactor">
|
|||
|
|
<option value="0.38" selected>Mars (0.38g)</option>
|
|||
|
|
<option value="1.0">Earth (1.0g)</option>
|
|||
|
|
<option value="0.377">Moon (0.377g)</option>
|
|||
|
|
</select>
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
<div class="input-group">
|
|||
|
|
<label for="currentEfficiency">Current Operational Efficiency (%)</label>
|
|||
|
|
<input type="number" id="currentEfficiency" value="67" min="10" max="99" placeholder="Where are you today?">
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
<button class="calculate-btn" onclick="calculateLeanMetrics()">Calculate Mars Baseline</button>
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
<div class="results-panel" id="resultsPanel">
|
|||
|
|
<h3 style="color: var(--gold-accent); margin-top: 0;">📊 Lean Metrics Generated</h3>
|
|||
|
|
|
|||
|
|
<div class="metric-row">
|
|||
|
|
<span class="metric-label">Target Waste Reduction</span>
|
|||
|
|
<span class="metric-value" id="wasteReduction">--</span>
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
<div class="metric-row">
|
|||
|
|
<span class="metric-label">Daily Mass Budget per Colonist</span>
|
|||
|
|
<span class="metric-value" id="massPerPerson">--</span>
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
<div class="metric-row">
|
|||
|
|
<span class="metric-label">Cycle Throughput Capacity</span>
|
|||
|
|
<span class="metric-value" id="throughputCap">--</span>
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
<div class="metric-row">
|
|||
|
|
<span class="metric-label">Lean Gap to Target</span>
|
|||
|
|
<span class="metric-value" id="leanGap">--</span>
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
<div class="metric-row">
|
|||
|
|
<span class="metric-label">Projected Annual Savings</span>
|
|||
|
|
<span class="metric-value" id="annualSavings">--</span>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
<div class="image-gallery">
|
|||
|
|
<div class="image-card">
|
|||
|
|
<img src="https://images.pexels.com/photos/34718922/pexels-photo-34718922.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=650&w=940" alt="Industrial factory floor demonstrating lean principles">
|
|||
|
|
<div class="caption">Modern industrial floor: the same geometric discipline that carved Boyacá's terraces now optimizes Mars dome logistics.</div>
|
|||
|
|
</div>
|
|||
|
|
<div class="image-card">
|
|||
|
|
<img src="https://images.pexels.com/photos/13974251/pexels-photo-13974251.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=650&w=940" alt="Automated conveyor system in monochrome factory">
|
|||
|
|
<div class="caption">Conveyor systems running at zero waste—each movement calculated, each pause eliminated. This is the rhythm we bring to Olympus Mons.</div>
|
|||
|
|
</div>
|
|||
|
|
<div class="image-card">
|
|||
|
|
<img src="https://images.pexels.com/photos/38427501/pexels-photo-38427501.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=650&w=940" alt="Complex industrial conveyor network">
|
|||
|
|
<div class="caption">Network topology: when every node operates at peak efficiency, the entire system breathes as one organism.</div>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
<div class="context-section">
|
|||
|
|
<h2 style="margin-top: 0;">⚙️ The Math Behind the Mission</h2>
|
|||
|
|
<p><strong>Formula:</strong> <code>Waste_Reduction = (1 - Current_Efficiency/95%) × Gravity_Adjustment_Factor</code></p>
|
|||
|
|
<p><strong>Mass Budget:</strong> <code>Daily_Mass = (Crew_Size × 4.2kg/day × Cycle_Days) / (1 - Waste_Target)</code></p>
|
|||
|
|
<p><strong>Throughput:</strong> <code>Cycle_Capacity = (Base_Throughput × 0.38^0.5) / Friction_Loss</code></p>
|
|||
|
|
<p style="font-style: italic; color: var(--steel-gray); margin-top: 1rem;">These equations honor the TPS tradition: measure twice, cut once. On Earth, waste costs dollars. On Mars, waste costs lives.</p>
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
<footer>
|
|||
|
|
<p>carlos-torreshernandez.4ort.net • Built from Medellín to the Stars • <span style="color: var(--mars-red);">¡La operación nunca duerme!</span></p>
|
|||
|
|
<p style="font-size: 0.9rem; margin-top: 1rem;">Data sourced from Wikidata: Q380772 (Lean Manufacturing), Q1553383 (TPS), Q490060 (JIT)</p>
|
|||
|
|
</footer>
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
<script>
|
|||
|
|
function calculateLeanMetrics() {
|
|||
|
|
const crewSize = parseInt(document.getElementById('crewSize').value) || 12;
|
|||
|
|
const cycleDays = parseInt(document.getElementById('cycleDays').value) || 98;
|
|||
|
|
const gravityFactor = parseFloat(document.getElementById('gravityFactor').value) || 0.38;
|
|||
|
|
const currentEfficiency = parseFloat(document.getElementById('currentEfficiency').value) || 67;
|
|||
|
|
|
|||
|
|
// Lean target: 95% efficiency (Toyota standard)
|
|||
|
|
const targetEfficiency = 95;
|
|||
|
|
|
|||
|
|
// Calculate waste reduction potential
|
|||
|
|
const wasteReduction = ((targetEfficiency - currentEfficiency) / targetEfficiency) * 100;
|
|||
|
|
|
|||
|
|
// Daily mass budget (base 4.2kg/person/day from NASA Mars Design Reference Architecture)
|
|||
|
|
const baseMassPerDay = 4.2;
|
|||
|
|
const adjustedMassPerPerson = (baseMassPerDay * cycleDays) / (1 - (wasteReduction/100));
|
|||
|
|
|
|||
|
|
// Throughput capacity (gravity-adjusted)
|
|||
|
|
const baseThroughput = crewSize * cycleDays * baseMassPerDay;
|
|||
|
|
const throughputCapacity = baseThroughput * Math.sqrt(gravityFactor);
|
|||
|
|
|
|||
|
|
// Lean gap to target
|
|||
|
|
const leanGap = targetEfficiency - currentEfficiency;
|
|||
|
|
|
|||
|
|
// Projected annual savings (assuming 12 cycles/year)
|
|||
|
|
const annualSavings = (wasteReduction / 100) * baseThroughput * 12 * 1000000; // $1M/kg launch cost estimate
|
|||
|
|
|
|||
|
|
// Display results
|
|||
|
|
document.getElementById('wasteReduction').textContent = `${wasteReduction.toFixed(1)}%`;
|
|||
|
|
document.getElementById('massPerPerson').textContent = `${adjustedMassPerPerson.toFixed(1)} kg/cycle`;
|
|||
|
|
document.getElementById('throughputCap').textContent = `${throughputCapacity.toFixed(0)} kg`;
|
|||
|
|
document.getElementById('leanGap').textContent = `${leanGap}% to TPS Standard`;
|
|||
|
|
document.getElementById('annualSavings').textContent = `$${(annualSavings / 1000000).toFixed(2)}M USD`;
|
|||
|
|
|
|||
|
|
// Show panel with animation
|
|||
|
|
const resultsPanel = document.getElementById('resultsPanel');
|
|||
|
|
resultsPanel.classList.remove('visible');
|
|||
|
|
setTimeout(() => resultsPanel.classList.add('visible'), 50);
|
|||
|
|
}
|
|||
|
|
</script>
|
|||
|
|
</body>
|
|||
|
|
</html>
|