mirror of
https://github.com/mileswolfallen2/miles-web.git
synced 2026-09-08 11:23:17 +00:00
189 lines
12 KiB
HTML
189 lines
12 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>Focusing on Diskette Labs | Miles Wolf Allen</title>
|
|
<meta name="description" content="Why I'm now co-founder of Diskette Labs, a product design collective started by Owen. And why I'm still looking for projects to collaborate on.">
|
|
<link rel="canonical" href="https://milesallen.site/blog/diskette-devlog.html">
|
|
<meta property="og:title" content="Focusing on Diskette Labs | Miles Wolf Allen">
|
|
<meta property="og:description" content="Why I'm now co-founder of Diskette Labs, a product design collective started by Owen. And why I'm still looking for projects to collaborate on.">
|
|
<meta property="og:image" content="https://milesallen.site/og.png">
|
|
<meta property="og:type" content="article">
|
|
<meta property="article:published_time" content="2026-08-11">
|
|
<script type="application/ld+json">
|
|
{
|
|
"@context": "https://schema.org",
|
|
"@type": "Article",
|
|
"headline": "Focusing on Diskette Labs | Miles Wolf Allen",
|
|
"description": "Why I'm now co-founder of Diskette Labs, a product design collective started by Owen. And why I'm still looking for projects to collaborate on.",
|
|
"author": {
|
|
"@type": "Person",
|
|
"name": "Miles Wolf Allen",
|
|
"url": "https://milesallen.site/"
|
|
},
|
|
"datePublished": "2026-08-11",
|
|
"url": "https://milesallen.site/blog/diskette-devlog.html",
|
|
"mainEntityOfPage": "https://milesallen.site/blog/diskette-devlog.html"
|
|
}
|
|
</script>
|
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
<link href="https://fonts.googleapis.com/css2?family=Press+Start+2P&family=Space+Mono:wght@400;700&family=Inter:wght@400;500;600;800&display=swap" rel="stylesheet">
|
|
<link rel="icon" type="image/png" href="../favicon.png">
|
|
<link rel="stylesheet" href="../projects/style.css">
|
|
<style>
|
|
.article-header{padding:100px 0 40px;}
|
|
.article-eyebrow{font-family:var(--font-pixel);font-size:10px;color:var(--tape);margin-bottom:12px;text-transform:uppercase;letter-spacing:.1em;}
|
|
.article-date{font-family:var(--font-mono);font-size:12px;color:var(--muted);margin-bottom:8px;}
|
|
.article-header h1{font-family:var(--font-pixel);font-size:clamp(24px,5vw,44px);line-height:1.2;margin-bottom:16px;transform:rotate(-1deg);transform-origin:left center;text-shadow:3px 3px 0 var(--accent),-2px -2px 0 var(--tape);animation:glitch 5s ease-in-out infinite;}
|
|
@keyframes glitch{0%,90%,100%{text-shadow:3px 3px 0 var(--accent),-2px -2px 0 var(--tape);}92%{text-shadow:3px 3px 0 var(--red),-2px -2px 0 var(--accent);transform:rotate(-1deg) translateX(2px);}94%{text-shadow:3px 3px 0 var(--accent),-2px -2px 0 var(--red);transform:rotate(-1deg) translateX(-2px);}}
|
|
.article-tagline{font-size:16px;color:var(--muted);max-width:600px;line-height:1.7;font-family:var(--font-mono);margin-bottom:24px;}
|
|
.article-tags{display:flex;gap:8px;flex-wrap:wrap;}
|
|
.article-tag{font-family:var(--font-pixel);font-size:8px;padding:6px 12px;background:var(--accent);color:#000;text-transform:uppercase;}
|
|
.article-body{max-width:720px;}
|
|
.article-body h2{font-family:var(--font-pixel);font-size:16px;color:var(--accent);margin:40px 0 16px;text-transform:uppercase;}
|
|
.article-body h3{font-family:var(--font-mono);font-weight:700;font-size:16px;margin:32px 0 12px;color:var(--text);}
|
|
.article-body p{font-size:14px;color:#ccc;line-height:1.9;font-family:var(--font-mono);margin-bottom:16px;}
|
|
.article-body a{color:var(--accent);text-decoration:underline;}
|
|
.article-body code{background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.12);padding:2px 6px;font-size:12px;font-family:var(--font-mono);}
|
|
.article-body blockquote{border-left:3px solid var(--accent);padding:12px 20px;margin:24px 0;background:rgba(255,255,255,0.02);font-style:italic;color:var(--muted);font-family:var(--font-mono);font-size:13px;}
|
|
.article-body ul{margin:12px 0 16px 20px;font-family:var(--font-mono);font-size:13px;color:#ccc;line-height:1.8;}
|
|
.article-body ul li{margin-bottom:6px;}
|
|
.article-body ul li::marker{color:var(--accent);}
|
|
.back-link{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:12px;color:var(--muted);margin-top:40px;text-decoration:none;transition:color .2s;}
|
|
.back-link:hover{color:var(--accent);}
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<div class="cursor-dot" id="cursorDot"></div>
|
|
<div class="cursor-ring" id="cursorRing"></div>
|
|
<div class="progress-bar" id="progressBar"></div>
|
|
<button class="theme-toggle" id="themeToggle" aria-label="Toggle theme"></button>
|
|
<div class="shortcut-modal" id="shortcutModal">
|
|
<div class="shortcut-card">
|
|
<h3>Keyboard Shortcuts</h3>
|
|
<div class="shortcut-row"><span>Go Home</span><kbd>H</kbd></div>
|
|
<div class="shortcut-row"><span>Go to GitHub</span><kbd>G</kbd></div>
|
|
<div class="shortcut-row"><span>Toggle theme</span><kbd>T</kbd></div>
|
|
<div class="shortcut-row"><span>Show shortcuts</span><kbd>?</kbd></div>
|
|
<div class="close-hint">Press Esc or ? to close</div>
|
|
</div>
|
|
</div>
|
|
<div class="flash" id="flash"></div>
|
|
<div class="toast-stack" id="toastStack"></div>
|
|
<nav class="mobile-nav">
|
|
<a href="../index.html">Home</a>
|
|
<a href="fedl.html">FEDL</a>
|
|
<a href="omniemu.html">OmniEmu</a>
|
|
<a href="command-move.html">CommandMove</a>
|
|
<a href="https://github.com/mileswolfallen2" target="_blank">GitHub</a>
|
|
</nav>
|
|
|
|
<div class="container">
|
|
<nav>
|
|
<a href="../index.html" class="nav-logo"><span class="logo-dot"></span> milesallen</a>
|
|
<div class="nav-links">
|
|
<a href="../index.html#about">About</a>
|
|
<a href="../index.html#skills">Skills</a>
|
|
<a href="../index.html#projects">Projects</a>
|
|
<a href="../index.html#contact">Contact</a>
|
|
</div>
|
|
</nav>
|
|
|
|
<section class="article-header">
|
|
<div class="breadcrumb">
|
|
<a href="../index.html">Home</a>
|
|
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="9 18 15 12 9 6"/></svg>
|
|
<a href="../index.html#blog">Devlog</a>
|
|
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="9 18 15 12 9 6"/></svg>
|
|
<span>Focusing on Diskette Labs</span>
|
|
</div>
|
|
<div class="article-eyebrow">// DEVLOG 006</div>
|
|
<div class="article-date">2026</div>
|
|
<h1>Focusing on Diskette Labs</h1>
|
|
<p class="article-tagline">Where my focus is right now — and why I'm still very much open to building things with other people.</p>
|
|
<div class="article-tags">
|
|
<span class="article-tag">Design</span>
|
|
<span class="article-tag">Collective</span>
|
|
</div>
|
|
</section>
|
|
|
|
<section class="reveal">
|
|
<div class="article-body">
|
|
<h2>What I'm Focusing On</h2>
|
|
<p>Right now, most of my time and energy is going into <a href="https://diskettelabs.com/" target="_blank" rel="noopener">Diskette Labs</a>. It's a product design collective — a group that builds interfaces, identities, and products that feel like they were made by actual humans who care. I've been putting the bulk of my focus there, and it's been the most fun I've had building in a long time.</p>
|
|
<p>That doesn't mean the other projects are dead. FEDL, OmniEmu, Gelectron — they're still around, still running, still getting maintenance. But when it comes to where my attention goes, Diskette is what I'm building toward.</p>
|
|
|
|
<h2>The Founders</h2>
|
|
<p>Diskette Labs was started by <strong>Owen</strong>. He's the founder — he had the vision, the design sensibility, and the taste to make it real. I came on as <strong>co-founder</strong>. Together we split the work: he brings the design direction, and I bring the code and the product engineering.</p>
|
|
<p>It's a good split. Owen thinks in layouts, typography, and microinteractions. I think in architecture, performance, and shipping. When those two things meet in the same project, you get products that both look good and actually work.</p>
|
|
|
|
<h2>Still Looking to Collaborate</h2>
|
|
<p>Here's the part I want to be loud about: I'm <strong>still looking for projects to collaborate on</strong>. Focusing on Diskette doesn't mean closing the door. It means I've got a base of operations now — but I'm always down to build something with someone else.</p>
|
|
<ul>
|
|
<li>Got a product idea and need a developer? I'm in.</li>
|
|
<li>Building something open source and want an extra pair of hands? Message me.</li>
|
|
<li>Stuck on a hard technical problem and want to pair? That's my favorite.</li>
|
|
<li>Need design + code done together? That's literally what Diskette exists for.</li>
|
|
</ul>
|
|
|
|
<h2>What I'm Looking For</h2>
|
|
<p>I'm not interested in just doing grunt work. I want projects where the person building it actually cares — where the goal is something polished, intentional, and useful, not just "shipping a thing to ship a thing."</p>
|
|
<p>If that sounds like you, reach out. I check my email, and I'm around on GitHub. The best collaborations usually start with someone just asking.</p>
|
|
|
|
<blockquote>Focus is where you put your energy. It's not where you stop being open to the next thing.</blockquote>
|
|
|
|
<h2>The Ask</h2>
|
|
<p>If you want to build something together, hit me up at <a href="mailto:[email protected]">[email protected]</a> or over on <a href="https://github.com/mileswolfallen2" target="_blank" rel="noopener">GitHub</a>. And if you're curious about what Diskette Labs is building, check out <a href="https://diskettelabs.com/" target="_blank" rel="noopener">diskettelabs.com</a>.</p>
|
|
|
|
<a href="../index.html#blog" class="back-link">
|
|
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" width="14" height="14"><polyline points="15 18 9 12 15 6"/></svg>
|
|
Back to Devlog
|
|
</a>
|
|
</div>
|
|
</section>
|
|
|
|
<footer>
|
|
<div class="footer-links" style="margin-bottom: 12px;">
|
|
<a href="../uses.html" style="color:var(--muted);text-decoration:none;">Uses</a>
|
|
<span style="color:var(--muted);margin:0 8px;">·</span>
|
|
<a href="../now.html" style="color:var(--muted);text-decoration:none;">Now</a>
|
|
<span style="color:var(--muted);margin:0 8px;">·</span>
|
|
<a href="../colophon.html" style="color:var(--muted);text-decoration:none;">Colophon</a>
|
|
<span style="color:var(--muted);margin:0 8px;">·</span>
|
|
<a href="../experiments.html" style="color:var(--accent);text-decoration:none;">Internet History</a>
|
|
</div>
|
|
Built by Miles · 2026 · Powered by too much coffee and the Konami code
|
|
</footer>
|
|
</div>
|
|
<script>
|
|
const observer = new IntersectionObserver((entries) => {
|
|
entries.forEach(e => { if (e.isIntersecting) e.target.classList.add('visible'); });
|
|
}, { threshold: 0.1, rootMargin: '0px 0px -40px 0px' });
|
|
document.querySelectorAll('.reveal').forEach(el => observer.observe(el));
|
|
</script>
|
|
<script src="../projects/script.js"></script>
|
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/[email protected]/gsap.min.js"></script>
|
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/[email protected]/ScrollTrigger.min.js"></script>
|
|
<script>
|
|
gsap.registerPlugin(ScrollTrigger);
|
|
const heroTl = gsap.timeline({ defaults: { ease: 'power3.out' } });
|
|
heroTl
|
|
.from('.breadcrumb', { x: -30, opacity: 0, duration: 0.6 })
|
|
.from('.article-header h1', { y: 50, opacity: 0, duration: 0.8 }, '-=0.3')
|
|
.from('.article-tagline', { y: 30, opacity: 0, duration: 0.7 }, '-=0.4')
|
|
.from('.article-tag', { y: 20, opacity: 0, scale: 0.8, duration: 0.4, stagger: 0.06 }, '-=0.3');
|
|
gsap.from('nav', { y: -20, opacity: 0, duration: 0.6, ease: 'power2.out' });
|
|
document.querySelectorAll('.article-body h2').forEach(title => {
|
|
gsap.from(title, { scrollTrigger: { trigger: title, start: 'top 85%' }, y: 30, opacity: 0, duration: 0.7, ease: 'power3.out' });
|
|
});
|
|
document.querySelectorAll('.article-body p, .article-body ul, .article-body blockquote').forEach(el => {
|
|
gsap.from(el, { scrollTrigger: { trigger: el, start: 'top 88%' }, y: 20, opacity: 0, duration: 0.6, ease: 'power3.out' });
|
|
});
|
|
gsap.from('footer', { scrollTrigger: { trigger: 'footer', start: 'top 95%' }, opacity: 0, duration: 0.8 });
|
|
window.addEventListener('load', () => ScrollTrigger.refresh());
|
|
</script>
|
|
|
|
</body>
|
|
</html>
|