From 295d2c51a74c3f84dec00eef78d29263b82779d8 Mon Sep 17 00:00:00 2001 From: mileswa1q22 Date: Fri, 28 Aug 2026 17:04:27 -0500 Subject: [PATCH] working --- index3.html | 539 ++++++++++++++++++++++ redesign/attempt6.html | 589 ++++++++++++++++++++++++ redesign/hub.html | 31 +- redesign/redesign nine.HTML | 184 ++++++++ remake/broadside.css | 192 ++++++++ remake/command-move-devlog.html | 100 +++++ remake/diskette-devlog.html | 98 ++++ remake/fedl-devlog.html | 95 ++++ remake/gelectron-devlog.html | 123 +++++ remake/index.html | 765 ++++++++++++++++++++++++++++++++ remake/omniemu-devlog.html | 104 +++++ test.html | 527 ++++++++++++++++++++++ 12 files changed, 3344 insertions(+), 3 deletions(-) create mode 100644 index3.html create mode 100644 redesign/attempt6.html create mode 100644 redesign/redesign nine.HTML create mode 100644 remake/broadside.css create mode 100644 remake/command-move-devlog.html create mode 100644 remake/diskette-devlog.html create mode 100644 remake/fedl-devlog.html create mode 100644 remake/gelectron-devlog.html create mode 100644 remake/index.html create mode 100644 remake/omniemu-devlog.html create mode 100644 test.html diff --git a/index3.html b/index3.html new file mode 100644 index 0000000..20af0a8 --- /dev/null +++ b/index3.html @@ -0,0 +1,539 @@ + + + + + + Miles Wolf Allen | Developer & 3D Artist + + + + + + + + + +
+ + +
+
+
+

Independent developer & creative technologist

+

Build things that refuse to whisper.

+

+ I design weird tools, playful software, and 3D experiments that turn ideas into experiences people actually remember. +

+ Start a conversation ↗ +
+ + +
Good ideas
move fast
+
+
+
+ +
+ + Developer ✳ 3D Artist ✳ Emulator Builder ✳ Game Maker ✳ Toolsmith ✳ Developer ✳ 3D Artist ✳ Emulator Builder ✳ Game Maker ✳ Toolsmith ✳ + +
+ +
+
+ + +

+ I build the kinds of projects that feel like a point of view, not just a product. +

+ +
+
+ 01 +

Prototype
Systems

+

+ Explore, test, and ship weird ideas fast — from game mechanics to emulator tooling and browser experiments. +

+
+ +
+ 02 +

Creative
Code

+

+ Turn visuals, motion, and interaction into expressive interfaces with attention to feeling and clarity. +

+
+ +
+ 03 +

3D + UI
Direction

+

+ Shape side projects, concepts, and production-facing systems with a strong visual and technical identity. +

+
+
+
+
+ +
+
+ + +
+
+

FEDL

+

Emulator engineering / Game tooling

+
+ +
+

OmniEmu

+

Platform experimentation / Browser emulation

+
+ +
+

Gelectron

+

Creative software / UI prototypes

+
+ +
+

Nova

+

Game concept / Iterative design

+
+
+
+
+ +
+
+
+
+ “The work feels intentional, curious, and impossible to ignore — it turns complex ideas into something people instantly understand.” +
+ — Personal note from building around the internet +
+
+
+ +
+
+

Make your next idea impossible to ignore.

+ + miles@wolfallen.dev ↗ + + + +
+
+ + + + diff --git a/redesign/attempt6.html b/redesign/attempt6.html new file mode 100644 index 0000000..12908aa --- /dev/null +++ b/redesign/attempt6.html @@ -0,0 +1,589 @@ + + + + + +MILES — Wolf Allen | Developer & 3D Artist + + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+ USUALLYONLINE @mileswolfallen2 +
+ Hi, I'm — + MILES
WOLF
ALLEN
+
+

I make games, tools, and websites. I'm still in school and building a full Electron replacement — send help. I also work at Diskette Labs.

+
usually online
+ +
+ + +
+

I believe pancakes are better than waffles, cereal is soup, and software should feel good to use.

+
+ + +
+
+ * building emulators ** send help ** 160 repos and counting ** still debugging ** geometry dash addict ** usually online ** ↑ ↑ ↓ ↓ ← → ← → B A * + * building emulators ** send help ** 160 repos and counting ** still debugging ** geometry dash addict ** usually online ** ↑ ↑ ↓ ↓ ← → ← → B A * +
+
+ + +
+
160
Repos online
+
91
Stars earned
+
13
Watching me
+
37
I watch
+
+ + +
+ Level 01 // Identity +

Who's Miles?

+

the human behind the commits

+
+
+
Miles Wolf Allen
+
Miles Wolf Allen
+
@mileswolfallen2
+
+
+

I build things on the internet. Some of them are games, some are tools, and some are just because I thought it would be fun. 160 repos, 91 stars, and a growing list of things I'm figuring out as I go.

+
+ Pull Shark x2 + YOLO + Quickdraw +
+ +
+ +
+
+
+ + +
+ Level 02 // Loadout +

My Loadout

+

what I actually know how to use

+ +
Ready to use
+
+
JavaScript
+
Node.jsBackend JS
+
HTML5
+
CSS3
+
Python
+
Git
+
Blender
+
Unity
+
Unreal
+
Cloudflare
+
Linux
+
Netlify
+
Bash
+
GitHub
+
Electron
+
Gelectron
+
+ +
Currently unlocking
+
+
PHP
+
.NET
+
Nix
+
Yarn
+
+
+ + +
+ Level 03 // Builds +

The Projects

+

stuff I've made (and some I forked)

+ +
+ +
ActiveTypeScript / v0.3.2
+
OmniEmu 2.0
+
All your emulators in one place. Install 20+ emulators, scan your ROMs, and launch games without opening 15 different apps.
+
+ +
EarlyRust + Node.js
+
Gelectron
+
Drop-in replacement for Electron using native web views (WKWebView / WebView2 / WebKitGTK) instead of bundling Chromium.
+
+ +
UnreleasedVanilla JS
+
Vanilla
+
A clean, minimal web experiment. Pure vanilla JS, no frameworks, no cruft.
+
+ +
Live2196 commits
+
FEDL
+
The demon list for Geometry Dash. Ranked levels, run submissions, and a community of people way better at the game than me.
+
+ +
SwiftmacOS / MIT
+
CommandMove
+
True cut-and-paste for Finder on macOS. Select files, Cmd+X, navigate, Cmd+V. What Apple forgot to build.
+
+ +
ActiveFlutter / AI
+
Noto
+
Note-taking app with AI built in. Built with Flutter, powered by Cortex AI, and actually good at organizing my chaos.
+
+ +
PythonDesktop / Web / CLI
+
Nova AI
+
AI assistant that runs on your machine. Desktop GUI, web interface, and CLI. No cloud, no subscriptions, just vibes.
+
+ +
JSApache-2.0
+
Music App
+
Music player that doesn't interrupt you with ads. Inspired by YouTube Music but without the annoying parts.
+
+ +
HTMLMPL-2.0
+
Rhythm Game
+
Hit keys to the beat. Song selection, real-time notes, and keyboard controls. My fingers hurt.
+
+ +
WIPMIT
+
FEDL Geode Mod
+
Geometry Dash mod that shows the demon list in-game. Roulette mode, banned mod detection, and more.
+
+ +
HTMLMIT
+
Decompilations
+
Native PC ports and decompilations of games. Progress tracking for projects that probably shouldn't exist.
+
+ +
HTMLNode.js
+
Issue Tracker
+
Built my own issue tracker because why not. Node.js backend, no frameworks, just raw determination.
+
+ +
HTML1,542 commits
+
Moon Gaming
+
Game hub with 1,500+ commits. Browse, play, and explore a growing library of browser games I made at 2am.
+
+
+
+ + +
+ Level 04 // Scoreboard +

Scoreboard

+

what my projects have achieved

+ +
+

FEDL

+
+
3,839
Verified runs
+
341
Ranked levels
+
250+
Active players
+
3,800+
YouTube videos
+
+
+
+

OmniEmu 2.0

+
+
20+
Emulators
+
3
Platforms
+
v0.3.2
Latest
+
TS
Built with
+
+
+
+

Other projects

+
+
3
Nova interfaces
+
5
Noto AI features
+
1,542
Moon Gaming commits
+
MIT
Licensed
+
+
+
+ + +
+ Level 05 // GitHub +

Stats

+

the raw numbers, straight from the API

+
+ GitHub stats + GitHub languages + GitHub streak +
+
+ + +
+ Level 06 // Devlog +

Devlog

+

things I've learned, broken, and fixed

+ +
+ + +
+ Level 07 // Reach out +

Get In Touch

+

unless you're a bot, then please go away

+ +
+ + + + +
+ + + diff --git a/redesign/hub.html b/redesign/hub.html index 3f7188d..df9834d 100644 --- a/redesign/hub.html +++ b/redesign/hub.html @@ -266,7 +266,7 @@ html.js .card.featured:hover { transform: translate(-3px,-3px) !important; } @@ -278,8 +278,8 @@ html.js .card.featured:hover { transform: translate(-3px,-3px) !important; }

Experimental redesigns of milesallen.site — exploring different design languages, - animation approaches, and visual directions. Nineteen experiments so far, - newest first: a 1976 punk zine, a Daily Bugle newspaper, retro intros, web cartoons, whimsical, loud/quiet, space stations, handhelds, and terminals. + animation approaches, and visual directions. Twenty experiments so far, + newest first: a loud SICK AGENCY printed broadside, a 1976 punk zine, a Daily Bugle newspaper, retro intros, web cartoons, whimsical, loud/quiet, space stations, handhelds, and terminals.

@@ -288,6 +288,31 @@ html.js .card.featured:hover { transform: translate(-3px,-3px) !important; }
History — all experiments, newest first
+ + +
+ +
+
+
+
19
+
SICK BROADSIDE
+

+ The portfolio as a loud printed broadside on a brick wall — a maximalist zine spread in the SICK AGENCY system: three saturated full-bleed color bands (voltage yellow, radioactive orange, electric cobalt) stacked with zero gap and hard color cuts. Anton/Morganite condensed display at up to 229px with 0.70 line-height (type as a solid printed block), Thunder 300 subheads, Sentient body with negative tracking, circular sticker badges as CAT/CTA anchors (USUALLY ONLINE, TEXT US), pill-shaped buttons as the only softness, sharp 0px corners everywhere else, hairline black rules, and no shadows, gradients, or neutrals — only #000 and #fff. +

+
+ +
+
+
diff --git a/redesign/redesign nine.HTML b/redesign/redesign nine.HTML new file mode 100644 index 0000000..e1b604a --- /dev/null +++ b/redesign/redesign nine.HTML @@ -0,0 +1,184 @@ + + + + + + + Miles Wolf Allen — Creative Technology + + + + + + +
+
+ +
+
+ +
+
+
+
+

Independent developer / creative technologist

+

Build things that refuse to whisper.

+

I design weird tools, playful software, and 3D experiments that turn ideas into experiences people actually remember.

+ Start a conversation +
+ +
+
+ +
Developer ✳ 3D Artist ✳ Emulator Builder ✳ Game Maker ✳ Toolsmith ✳ Developer ✳ 3D Artist ✳ Emulator Builder ✳ Game Maker ✳ Toolsmith ✳
+ +
+
+
+

01 / What I do

+

A point of view, not just a product.

+
+
+
01

Prototype
Systems

Explore, test, and ship weird ideas fast — from game mechanics to emulator tooling and browser experiments.

+
02

Creative
Code

Turn visuals, motion, and interaction into expressive interfaces with attention to feeling and clarity.

+
03

3D + UI
Direction

Shape side projects, concepts, and production-facing systems with a strong visual and technical identity.

+
+
+
+ +
+
+

02 / Selected work

Made to be remembered.

+
+

FEDL

Emulator engineering / Game tooling

+

OmniEmu

Platform experimentation / Browser emulation

+

Gelectron

Creative software / UI prototypes

+

Nova

Game concept / Iterative design

+
+
+
+ +
“The work feels intentional, curious, and impossible to ignore — it turns complex ideas into something people instantly understand.”
— Personal note from building around the internet
+ +
+
+

Make your next idea impossible to ignore.

+ miles@wolfallen.dev + +
+
+
+ +
© 2026 Miles Wolf AllenBuilt with intent, not templates.
+ + diff --git a/remake/broadside.css b/remake/broadside.css new file mode 100644 index 0000000..a57c813 --- /dev/null +++ b/remake/broadside.css @@ -0,0 +1,192 @@ +/* ============================================================ + REMAKES — SICK AGENCY broadside design system (shared) + Loud printed broadside. Maximalist zine spread. + Yellow / orange / cobalt full-bleed bands, no shadows, + no gradients, no rounded corners except 999px pills. + ============================================================ */ + +:root{ + --yellow:#f5b700; + --orange:#ff4e27; + --cobalt:#0029ff; + --sienna:#4d170c; + --black:#000000; + --white:#ffffff; + --morganite:'Anton','Bebas Neue',Impact,sans-serif; + --thunder:'Josefin Sans',ui-sans-serif,sans-serif; + --sentient:'Spectral',Georgia,serif; + --fine:Georgia,'Times New Roman',times,serif; +} + +*{margin:0;padding:0;box-sizing:border-box;} +html{scroll-behavior:smooth;overflow-x:hidden;} +body{ + background:var(--yellow);color:var(--black); + font-family:var(--sentient);line-height:1.5; + overflow-x:hidden;-webkit-font-smoothing:antialiased; +} +a{color:inherit;text-decoration:none;} +img{display:block;max-width:100%;} + +.band{width:100%;} +.yellow{background:var(--yellow);color:var(--black);} +.orange{background:var(--orange);color:var(--white);} +.cobalt{background:var(--cobalt);color:var(--white);} +.ink{background:var(--black);color:var(--white);} + +/* Pill buttons — the only softness in the system */ +.btn{ + display:inline-block;font-family:var(--sentient);font-size:16px; + padding:8px 26px;border-radius:999px;border:2px solid var(--cobalt); + color:var(--cobalt);transition:background .2s,color .2s; +} +.btn:hover{background:var(--cobalt);color:var(--white);} +.btn.primary{background:var(--cobalt);border-color:var(--cobalt);color:var(--white);} +.btn.primary:hover{background:var(--black);border-color:var(--black);} +.btn.on-dark{border-color:var(--white);color:var(--white);} +.btn.on-dark:hover{background:var(--white);color:var(--black);} + +/* Sticker badges — circular, contrasting, CTA punctuation */ +.sticker{ + position:absolute;display:grid;place-items:center;align-content:center; + width:140px;height:140px;border-radius:50%; + font-family:var(--fine);font-size:11px;line-height:1.2;text-align:center; + letter-spacing:.05em;text-transform:uppercase; +} +.sticker b{font-size:20px;font-family:var(--morganite);font-weight:400;display:block;line-height:1;} +.sticker small{display:block;margin-top:4px;font-size:9px;} + +/* ================= ARTICLE (devlog / about) ================= */ +.article-nav{ + position:sticky;top:0;z-index:50;background:var(--yellow);color:var(--black); + display:flex;align-items:center;justify-content:space-between;gap:16px; + padding:14px 5vw;border-bottom:3px solid var(--black);flex-wrap:wrap; +} +.article-nav .brand{font-family:var(--morganite);font-weight:400;font-size:30px;line-height:1;display:flex;align-items:center;gap:10px;} +.article-nav .brand .swatch{width:16px;height:16px;border-radius:50%;background:var(--cobalt);display:inline-block;} +.article-nav .links{display:flex;gap:8px;flex-wrap:wrap;align-items:center;} +.article-nav .links a{font-family:var(--sentient);font-size:13px;letter-spacing:-.01em;padding:6px 16px;border-radius:999px;border:2px solid var(--black);transition:background .2s,color .2s;} +.article-nav .links a:hover{background:var(--black);color:var(--yellow);} +.article-nav .links a.cta{background:var(--cobalt);border-color:var(--cobalt);color:var(--white);} +.article-nav .links a.cta:hover{background:var(--black);border-color:var(--black);color:var(--yellow);} +@media(max-width:640px){.article-nav .links{width:100%;order:3;}} + +.article-wrap{max-width:880px;margin:0 auto;padding:0 5vw;} + +.article-hero{padding:70px 0 50px;position:relative;} +.article-hero .sticker{right:-20px;top:10px;} +.article-eyebrow{font-family:var(--fine);font-size:12px;text-transform:uppercase;letter-spacing:.18em;display:inline-flex;align-items:center;gap:12px;margin-bottom:26px;} +.article-eyebrow::before{content:'';width:34px;height:2px;background:var(--black);display:inline-block;} +.article-hero h1{ + font-family:var(--morganite);font-weight:400; + font-size:clamp(66px,13vw,150px);line-height:.72;letter-spacing:.01em; + text-transform:uppercase;margin-bottom:34px; +} +.article-tagline{font-size:16px;line-height:1.44;letter-spacing:-.015em;max-width:520px;} +.article-tags{display:flex;gap:10px;flex-wrap:wrap;margin-top:30px;} +.article-tag{font-family:var(--fine);font-size:12px;text-transform:uppercase;letter-spacing:.1em;border:2px solid var(--black);border-radius:999px;padding:4px 16px;} +.article-date{font-family:var(--fine);font-size:12px;text-transform:uppercase;letter-spacing:.1em;opacity:.6;} + +/* Body */ +.article-body{ + padding:44px clamp(24px,5vw,60px) 90px; + background:var(--white); + color:var(--black); + border:3px solid var(--black); + border-top:none; + box-shadow:8px 8px 0 var(--black); + max-width:1000px; + margin:0 auto; +} +.hairline{height:3px;background:var(--black);width:100%;} +.article-body h2{ + font-family:var(--morganite);font-weight:400; + font-size:clamp(40px,7vw,64px);line-height:.75;text-transform:uppercase; + margin:70px 0 24px; +} +.article-body h3{font-family:var(--morganite);font-weight:400;font-size:clamp(26px,4vw,38px);line-height:.8;text-transform:uppercase;margin:44px 0 16px;} +.article-body p{font-size:17px;line-height:1.6;letter-spacing:-.012em;margin-bottom:22px;max-width:66ch;} +.article-body strong{font-weight:700;} +.article-body a{color:var(--cobalt);border-bottom:2px solid var(--cobalt);} +.article-body a:hover{background:var(--cobalt);color:var(--white);} +.article-body ul{margin:6px 0 26px;list-style:none;} +.article-body ul li{ + position:relative;padding:14px 0 14px 34px;font-size:17px;line-height:1.5;letter-spacing:-.012em; + border-bottom:2px solid var(--black);max-width:66ch; +} +.article-body ul li::before{content:'→';position:absolute;left:0;top:15px;font-size:18px;color:var(--cobalt);} +.article-body blockquote{ + font-family:var(--thunder);font-weight:300; + font-size:clamp(24px,4vw,36px);line-height:1.1; + padding:30px 0;margin:50px 0;border-top:4px solid var(--cobalt);border-bottom:4px solid var(--cobalt); + max-width:24ch; +} +.article-body blockquote::before{content:'“';display:block;font-family:var(--fine);font-size:44px;color:var(--cobalt);} +.article-body code{background:rgba(0,0,0,.06);border:1px solid rgba(0,0,0,.2);padding:1px 7px;font-family:var(--fine);font-size:.92em;} + +/* Footer band */ +.article-footer{background:var(--black);color:var(--white);padding:70px 5vw;text-align:center;} +.article-footer .foot-brand{font-family:var(--morganite);font-weight:400;font-size:clamp(48px,10vw,110px);line-height:.7;color:var(--yellow);text-transform:uppercase;margin-bottom:28px;} +.article-footer .foot-links{display:flex;gap:16px;flex-wrap:wrap;justify-content:center;margin-bottom:26px;} +.article-footer .foot-links a{font-family:var(--fine);font-size:12px;text-transform:uppercase;letter-spacing:.1em;border-radius:999px;border:1px solid var(--white);padding:7px 18px;transition:background .2s,color .2s;} +.article-footer .foot-links a:hover{background:var(--yellow);color:var(--black);border-color:var(--yellow);} +.article-footer .foot-note{color:rgba(255,255,255,.55);font-size:13px;line-height:1.7;} +.article-footer .foot-note a{color:var(--yellow);border-bottom:1px solid var(--yellow);} + +/* Back to devlog pill */ +.back-row{display:flex;gap:16px;flex-wrap:wrap;margin-top:60px;} + +/* ============================================================ + FUN — hover pops, ambient float, playful touches + Shared: applies to both the index and every article page. + ============================================================ */ + +/* --- keyframes --- */ +@keyframes bounceDown{0%,100%{transform:translateY(0);}50%{transform:translateY(6px);}} +@keyframes bob{0%,100%{transform:translateY(0) rotate(-1deg);}50%{transform:translateY(-10px) rotate(1deg);}} +@keyframes wiggle{0%,100%{transform:rotate(-2deg);}25%{transform:rotate(3deg);}75%{transform:rotate(-3deg);}} +@keyframes spinSlow{to{transform:rotate(360deg);}} +@keyframes blinkText{0%,100%{opacity:1;}50%{opacity:.35;}} +@keyframes jiggle{0%,100%{transform:rotate(0) translateY(0);}20%{transform:rotate(-8deg);}40%{transform:rotate(8deg);}60%{transform:rotate(-5deg);}80%{transform:rotate(5deg);}} + +/* --- buttons: springy pop + press --- */ +.btn{ + transition:transform .18s cubic-bezier(.34,1.56,.64,1),background .2s,color .2s,box-shadow .2s; + will-change:transform; +} +.btn:hover{transform:translateY(-3px) rotate(-1deg);} +.btn:active{transform:translateY(1px) scale(.94);} + +/* --- sticker badge: gently bobs; heavier wiggle on hover --- */ +.sticker{animation:bob 5s ease-in-out infinite;transition:filter .2s;} +.sticker:hover{animation:wiggle .5s ease-in-out infinite;} +.sticker b{transition:transform .18s cubic-bezier(.34,1.56,.64,1);} +.sticker:hover b{transform:scale(1.12);} + +/* --- nav links: bounce in to say hi --- */ +.article-nav .brand .swatch{transition:transform .3s;} +.article-nav .brand:hover .swatch{transform:scale(1.35) rotate(180deg);} +.article-nav .links a{transition:transform .16s cubic-bezier(.34,1.56,.64,1),background .2s,color .2s;} +.article-nav .links a:hover{transform:translateY(-3px);} + +/* --- footer links --- */ +.article-footer .foot-brand{transition:letter-spacing .3s;} +.article-footer .foot-brand:hover{letter-spacing:.06em;color:var(--white);} +.article-footer .foot-links a{transition:transform .16s cubic-bezier(.34,1.56,.64,1),background .2s,color .2s;} +.article-footer .foot-links a:hover{transform:translateY(-3px) rotate(-2deg);} + +/* --- article hero title: cheeky hover shift --- */ +.article-hero h1{ + transition:transform .3s cubic-bezier(.34,1.56,.64,1),letter-spacing .3s; +} +.article-hero h1:hover{letter-spacing:.015em;} + +/* --- article tags: wiggle --- */ +.article-tag{transition:background .2s,color .2s,transform .15s;} +.article-tag:hover{background:var(--black);color:var(--yellow);transform:rotate(-6deg);} + +/* --- body links --- */ +.article-body a{transition:background .2s,color .2s,padding .2s;} +.article-body a:hover{padding:0 4px;} + +@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important;}} diff --git a/remake/command-move-devlog.html b/remake/command-move-devlog.html new file mode 100644 index 0000000..32f72fb --- /dev/null +++ b/remake/command-move-devlog.html @@ -0,0 +1,100 @@ + + + + + +Why I Built Command-Move | Miles Wolf Allen + + + + + + + + + + + + + + + + + + +
+
// DEVLOG 003 · 2026
+

Why I Built Command-Move

+ + +
+ +
+ +
+ +

The Irritation

+

I spend most of my day in the terminal. Paths are second nature to me. But every so often I have to leave the warm embrace of the command line and deal with Finder — and every time, I hit the same wall. I want to copy the absolute path of a file, or I want to move a file into the folder that's sitting right there. And Finder just... won't let me. Not conveniently, anyway.

+

Sure, there are hidden shortcuts. You can Command+Option+C to copy a path, if you remember that exact combo across a network share. There are third-party extensions. But all of them feel like bandaids on a wound that shouldn't exist.

+ +

The Should-Have-Been-Obvious Features

+

I want two things, and I refuse to believe I'm the only one:

+
    +
  • Absolute path display: Show me where I am. Don't make me guess the path to the file I'm looking at.
  • +
  • Quick copy: Copy a file's path in one click, so I can paste it anywhere — a terminal, a setting, a docs snippet.
  • +
  • Move-to-folder: Drag a file onto a folder and have it actually move there without a step-by-step dialog dance.
  • +
+

These are things every power user wants. They're the reasons apps like Path Finder exist and sell for $39.99. But I didn't want to pay for a file manager — I wanted Finder fixed. And since Apple wasn't going to do it, I built the context-menu command myself.

+ +

Building It in Swift

+

macOS gives you one genuinely great hook for this: the Finder Sync extension. It lets a small Swift app inject items into the Finder's context menu. From there it's a native Swift + AppKit app with a menu bar icon, a settings window, and the extension doing the real work.

+

Swift is the right tool here. AppKit gives you first-class access to all the things that matter — the pasteboard, the file manager, URL handling. And because it's a native Mac app, it starts instantly and uses almost no memory. No Electron runtime. No bundled browser. Just a small, fast, focused utility.

+ +
Every power-user feature Apple doesn't ship is a missing-party app built once, alone, and quietly.
+ +

The Result

+

Command-Move is a tiny app that lives in your menu bar. Click it (or use a keyboard shortcut) and you get a floating window showing the current absolute path of your frontmost Finder window. One button copies it to your clipboard. Drag a file onto the folder icon and it moves there instantly. Done.

+

It's not flashy. It doesn't have a 47-tab settings panel. It does exactly three things and does them well — the way macOS utilities used to be.

+ + + +
+ + + + + diff --git a/remake/diskette-devlog.html b/remake/diskette-devlog.html new file mode 100644 index 0000000..9925b3b --- /dev/null +++ b/remake/diskette-devlog.html @@ -0,0 +1,98 @@ + + + + + +The Diskette Project | Miles Wolf Allen + + + + + + + + + + + + + + + + + + +
+
// DEVLOG 006 · 2026
+

The Diskette Project

+ + +
+ +
+ +
+ +

How It Started

+

The Diskette Project started with a question: what if we thought about software the way we think about the objects that used to hold it? A floppy disk was small, physical, and precious. It held something complete and self-contained. You could hand it to someone. It had a weight to it.

+

We started printing saves — little releases, zines, and resources — as beautiful portable files that look and feel like a small object rather than another link in a feed. Each one gets its own retro-styled landing page, like a physical sleeve sliding out of a desk drawer. Something you'd want to keep.

+ +

Design as a Frame

+

The name "Diskette" leans into the nostalgia, but the design language is its own thing. Lots of white, near-infinite blank space, thin rules, and a tiny serif for the fine print. It feels like the cover of a pamphlet from 1989 that somehow lives on the internet. Understated is the point — the files are the stars, not the chrome.

+

There's a deliberate tension in the whole thing. On one hand it's resolutely nostalgic and physical. On the other it's a fully digital, link-shareable, instant-access thing. We never let one win over the other. The absurdity is the appeal.

+ +

Community Happened Anyway

+

We never really planned for people to show up. The Diskette Project was meant to be mostly for us — an ongoing illustration exercise where a handful of us design fake products, absurd little files, and tiny print-flavored web pages. But then people started sharing them. And then more people. And then it became a full-blown community project.

+

At our peak, over 5,000 people joined our community. Not bad for a thing that started as "wouldn't it be funny if..." Actually, the community did what good communities do — they made it better. They built their own diskettes, riffed on the design, and pushed the whole thing somewhere none of us could have gotten to alone. It's equal parts mine and everyone's.

+ +
The best projects are the ones the internet insists on finishing for you.
+ +

It's Still Kind of Silly

+

Let's be honest — it's a project about digital floppy disks. It's absurd. And that's exactly why it works. The internet desperately wants to play. The second you hand people permission to be silly and make something beautiful while they do it, they'll show up in droves.

+

The Diskette Project taught me that the best creative work usually starts as a joke, a bet, or a dare — never as a "strategic initiative." Give people something tactile-feeling and strange, and give them room to add to it. You'll be surprised what comes back.

+ +

What's Next

+

We're not sure where Diskette goes from here. And honestly, that's part of the fun. It might keep growing. It might plateau. It might just exist as a strange little archive of playful internet objects. Any of those outcomes beats never having made it at all.

+ + + +
+ + + + + diff --git a/remake/fedl-devlog.html b/remake/fedl-devlog.html new file mode 100644 index 0000000..b6d04c9 --- /dev/null +++ b/remake/fedl-devlog.html @@ -0,0 +1,95 @@ + + + + + +Fedl: A Discord Community for Gamers | Miles Wolf Allen + + + + + + + + + + + + + + + + + + +
+
// DEVLOG 002 · 2025
+

Fedl

+ + +
+ +
+ +
+ +

It Started on Valentine's Day

+

Fedl began as a Valentine's Day special. A small server, a silly name, a handful of friends who wanted a place to hang out and play games without the noise. It wasn't supposed to become anything. But it did — because it filled a real gap.

+

Gaming communities are loud. They're full of memes and cliques and, often, genuinely toxic behavior. I wanted the exact opposite: a quiet, supportive space where people could show up, be themselves, and game. So I built it around a single, non-negotiable principle.

+ +

The One Rule That Matters

+

The entire philosophy of Fedl comes down to one line: zero tolerance for toxic behavior, total support for the people there to game. That's it. No endless lists of what's allowed and what isn't. No gray areas to lawyer your way around. If you're here to bring other people down, you're out. If you're here to game and be kind, you're home.

+

That rule is easy to state and genuinely hard to run. It means actually moderating, not just posting a rules channel that nobody reads. It means having a mod team that cares. The result is a community where people feel safe enough to be themselves — which is the whole point.

+ +

The Powered-By-Next.js Detail

+

There's a fun little technical footnote to all this. I connected the site to Discord using a Next.js API route — a single API route that acts as a bridge between a beautiful, hand-built website and a fast, modern Discord community. It's a reminder that the community tech stack doesn't have to be ugly or bloated.

+

Every time I build a small bot or a little integration, I'm reminded how far "cozy internet" has come. You can stand up something thoughtful and homey with a few lines of TypeScript and a clear vision for what you want the space to feel like.

+ +
Toxicity isn't a personality trait; it's a choice. And we don't have to make room for it.
+ +

Why It Matters

+

The internet can feel huge and hostile. Fedl is my small argument that it doesn't have to be. You can curate the noise out, you can set the tone, and you can build a corner of the internet where people actually want to spend their evenings.

+

Growing a community is slow work. You earn it one good conversation at a time, one game night, one person deciding to stick around because the room felt safe. That's the real devlog — not the code, but the thousands of small moments that turned a Valentine's Day joke into a home.

+ + + +
+ + + + + diff --git a/remake/gelectron-devlog.html b/remake/gelectron-devlog.html new file mode 100644 index 0000000..31d29c2 --- /dev/null +++ b/remake/gelectron-devlog.html @@ -0,0 +1,123 @@ + + + + + +Why I Built Gelectron | Miles Wolf Allen + + + + + + + + + + + + + + + + + + +
+
// DEVLOG 005 · 2026
+

Why I Built Gelectron

+ + +
+ +
+ +
+ +

The Electron Problem

+

Electron is everywhere. VS Code, Discord, Slack, Figma — some of the best desktop apps in the world are built with it. And for good reason: you write one web app, and it runs on macOS, Windows, and Linux. The developer experience is fantastic.

+

But there's a cost. Every single Electron app bundles its own copy of Chromium. That's not a shared system library — it's a full copy of Chrome, embedded inside your app. A simple todo app? 150MB on disk. A chat app? 200MB. A complex tool like VS Code? Over 300MB.

+

And it's not just disk space. Each Electron app spins up its own Chromium renderer process, its own GPU compositing pipeline, its own memory space. If you have three Electron apps open, you have three copies of Chromium running. On a laptop with 8GB of RAM, that adds up fast.

+ +

The Memory Issue

+

This is what bothered me the most. Memory usage in Electron apps is genuinely high. A minimal "hello world" Electron app uses 80-120MB of RAM. That's more than some full desktop applications. The reason is Chromium — it's a full web browser, and browsers are memory hogs.

+

Chromium keeps multiple processes running: the main process, renderer processes for each window, GPU processes, utility processes. Each one consumes memory. Even when your app is idle, Chromium is still managing tabs you don't have, networking you don't need, and features you'll never use.

+

On my Mac, I routinely have 5-6 apps open at once. If three of them are Electron-based, that's easily 1-1.5GB of RAM just for those apps. On a machine where I'm also running Docker, VS Code, and a browser with 30 tabs... something has to give.

+ +

The Native Web View Approach

+

There are alternatives to Electron. Tauri uses the system's webview, which solves the disk space problem but introduces consistency issues — Safari's webview on macOS is different from WebView2 on Windows, which is different from WebKitGTK on Linux. You lose predictability.

+

I wanted something closer to Electron's developer experience. Same Node.js runtime. Same IPC model. Same APIs. But instead of bundling a full Chromium binary, Gelectron maps Electron's rendering layer to the OS-native web view. WKWebView on macOS/iOS, WebView2 on Windows, WebKitGTK on Linux. Each platform gets its own optimized renderer — no browser to bundle, no 150MB tax.

+ +

Why Native Web Views Win

+

The efficiency gains come from not duplicating what the OS already provides:

+
    +
  • Shared system libraries: The OS already has its web rendering engine loaded. No need to bundle another one.
  • +
  • No process-per-app overhead: Each Electron app spins up its own Chromium process tree. Native web views share the system renderer.
  • +
  • Smaller binary: No Chromium bundle means binaries measured in megabytes, not hundreds of megabytes.
  • +
  • Lower baseline memory: Without a full browser engine in-process, your app starts with a fraction of Electron's baseline RAM.
  • +
  • OS-level optimizations: Apple, Microsoft, and the GNOME team all optimize their web views for their own platforms. You get that for free.
  • +
+

I'm not claiming Gelectron is faster than Electron today. It's early, experimental, and many APIs are stubs. But the foundation is fundamentally more efficient. The ceiling is higher. And that's what matters.

+ +

How It Works

+

Gelectron is a drop-in replacement for Electron. You run gelectron . instead of electron ., and your app should just work. Under the hood:

+
    +
  • A JavaScript compatibility layer maps Electron's API surface (BrowserWindow, ipcMain, Menu, Tray, etc.) to Gelectron's internals
  • +
  • A Rust N-API addon handles the heavy lifting: window management via winit, native menus via muda, system tray via tray-icon, file dialogs via rfd
  • +
  • The platform's native web view handles all rendering — HTML, CSS, JavaScript execution
  • +
  • Node.js runs the main process, just like Electron
  • +
+

The goal is zero changes to existing Electron apps. Same require('electron') imports, same APIs, same code. Just no bundled browser.

+ +
The best infrastructure is the one you don't notice. If your app framework is using 200MB of RAM, you notice it.
+ +

Where It's At

+

Let me be clear: Gelectron is very early. This is a proof of concept, not a production tool. Many Electron APIs are stubs. Some things break. Auto-updater doesn't exist yet. Multi-window support is limited.

+

But the core works. You can create windows, handle IPC, build menus, show dialogs. The foundation is there. And every week, more APIs get filled in.

+ +

Why It Matters

+

Desktop apps aren't going away. And the web platform keeps getting more powerful. The question is: how do we build cross-platform desktop apps without burning 300MB of disk and 200MB of RAM per app?

+

Gelectron is my answer to that question. It's early, it's rough, and it might not go anywhere. But if it works — if we can get Electron's developer experience without bundling a full browser — that changes the economics of desktop app development.

+

Smaller apps. Less memory. Same code. That's the dream.

+ + + +
+ + + + + diff --git a/remake/index.html b/remake/index.html new file mode 100644 index 0000000..e34bea2 --- /dev/null +++ b/remake/index.html @@ -0,0 +1,765 @@ + + + + + +MILES — Wolf Allen | Developer & 3D Artist + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ + +
+ USUALLYONLINE @mileswolfallen2 +
+ Hi, I'm — + MILES
WOLF
ALLEN
+
+

I make games, tools, and websites. I'm still in school and building a full Electron replacement — send help. I also work at Diskette Labs.

+
usually online
+ +
+ + +
+

I believe pancakes are better than waffles, cereal is soup, and software should feel good to use.

+
+ + +
+
+ * building emulators ** send help ** 160 repos and counting ** still debugging ** geometry dash addict ** usually online ** ↑ ↑ ↓ ↓ ← → ← → B A * + * building emulators ** send help ** 160 repos and counting ** still debugging ** geometry dash addict ** usually online ** ↑ ↑ ↓ ↓ ← → ← → B A * +
+
+ + +
+
160
Repos online
+
91
Stars earned
+
13
Watching me
+
37
I watch
+
+ + +
+ Level 01 // Identity +

Who's Miles?

+

the human behind the commits

+
+
+
Miles Wolf Allen
+
Miles Wolf Allen
+
@mileswolfallen2
+
+
+

I build things on the internet. Some of them are games, some are tools, and some are just because I thought it would be fun. 160 repos, 91 stars, and a growing list of things I'm figuring out as I go.

+
+ Pull Shark x2 + YOLO + Quickdraw +
+ +
+ +
+
+
+ + +
+ Level 02 // Loadout +

My Loadout

+

what I actually know how to use

+ +
Ready to use
+
+
JavaScript
+
Node.js
+
HTML5
+
CSS3
+
Python
+
Git
+
Blender
+
Unity
+
Unreal
+
Cloudflare
+
Linux
+
Netlify
+
Bash
+
GitHub
+
Electron
+
Gelectron
+
+ +
Currently unlocking
+
+
PHP
+
.NET
+
Nix
+
Yarn
+
+
+ + +
+ Level 03 // Builds +

The Projects

+

stuff I've made (and some I forked)

+ +
+ +
ActiveTypeScript / v0.3.2
+
OmniEmu 2.0
+
All your emulators in one place. Install 20+ emulators, scan your ROMs, and launch games without opening 15 different apps.
+
+ +
EarlyRust + Node.js
+
Gelectron
+
Drop-in replacement for Electron using native web views (WKWebView / WebView2 / WebKitGTK) instead of bundling Chromium.
+
+ +
UnreleasedVanilla JS
+
Vanilla
+
A clean, minimal web experiment. Pure vanilla JS, no frameworks, no cruft.
+
+ +
Live2196 commits
+
FEDL
+
The demon list for Geometry Dash. Ranked levels, run submissions, and a community of people way better at the game than me.
+
+ +
SwiftmacOS / MIT
+
CommandMove
+
True cut-and-paste for Finder on macOS. Select files, Cmd+X, navigate, Cmd+V. What Apple forgot to build.
+
+ +
ActiveFlutter / AI
+
Noto
+
Note-taking app with AI built in. Built with Flutter, powered by Cortex AI, and actually good at organizing my chaos.
+
+ +
PythonDesktop / Web / CLI
+
Nova AI
+
AI assistant that runs on your machine. Desktop GUI, web interface, and CLI. No cloud, no subscriptions, just vibes.
+
+ +
JSApache-2.0
+
Music App
+
Music player that doesn't interrupt you with ads. Inspired by YouTube Music but without the annoying parts.
+
+ +
HTMLMPL-2.0
+
Rhythm Game
+
Hit keys to the beat. Song selection, real-time notes, and keyboard controls. My fingers hurt.
+
+ +
WIPMIT
+
FEDL Geode Mod
+
Geometry Dash mod that shows the demon list in-game. Roulette mode, banned mod detection, and more.
+
+ +
HTMLMIT
+
Decompilations
+
Native PC ports and decompilations of games. Progress tracking for projects that probably shouldn't exist.
+
+ +
HTMLNode.js
+
Issue Tracker
+
Built my own issue tracker because why not. Node.js backend, no frameworks, just raw determination.
+
+ +
HTML1,542 commits
+
Moon Gaming
+
Game hub with 1,500+ commits. Browse, play, and explore a growing library of browser games I made at 2am.
+
+
+
+ + +
+ Level 04 // Scoreboard +

Scoreboard

+

what my projects have achieved

+ +
+

FEDL

+
+
3,839
Verified runs
+
341
Ranked levels
+
250+
Active players
+
3,800+
YouTube videos
+
+
+
+

OmniEmu 2.0

+
+
20+
Emulators
+
3
Platforms
+
v0.3.2
Latest
+
TS
Built with
+
+
+
+

Other projects

+
+
3
Nova interfaces
+
5
Noto AI features
+
1,542
Moon Gaming commits
+
MIT
Licensed
+
+
+
+ + +
+ Level 05 // GitHub +

Stats

+

the raw numbers, straight from the API

+
+ GitHub stats + GitHub languages + GitHub streak +
+
+ + +
+ Level 06 // Devlog +

Devlog

+

things I've learned, broken, and fixed

+ +
+ + +
+ Level 07 // Reach out +

Get In Touch

+

unless you're a bot, then please go away

+ +
+ + + + +
+
+ + + + + diff --git a/remake/omniemu-devlog.html b/remake/omniemu-devlog.html new file mode 100644 index 0000000..7f04e4d --- /dev/null +++ b/remake/omniemu-devlog.html @@ -0,0 +1,104 @@ + + + + + +Why I Built OmniEmu | Miles Wolf Allen + + + + + + + + + + + + + + + + + + +
+
// DEVLOG 001 · 2026
+

Why I Built OmniEmu

+ + +
+ +
+ +
+ +

The Problem

+

I play a lot of retro games. Like, a lot. And over the years I've collected a ridiculous number of emulators — Dolphin for GameCube, PCSX2 for PS2, PPSSPP for PSP, melonDS for DS, RetroArch for everything else. The problem wasn't that these emulators were bad. Most of them are incredible. The problem was that I had 15+ apps installed, each with their own UI, their own update cycle, and their own way of handling things.

+

Every time I wanted to play a game, I had to remember which emulator handled which system, open that specific app, navigate its interface, find my ROM, and then launch it. On a Tuesday night when I just wanted to play something, this was exhausting.

+ +

The Idea

+

The idea was simple: one app to rule them all. A single place where I could see all my emulators, all my ROMs, and launch anything with one click. No more guessing which emulator handles PS2. No more opening RetroArch just to find out it doesn't have the right core installed.

+

But it went further than just launching. I wanted the app to install emulators for me. On Mac especially, setting up emulators is a pain. You download a DMG, drag it to Applications, figure out which core to install, configure paths... it's a whole thing. I wanted one-click install. Download, configure, done.

+ +

The Mac Problem

+

This is where OmniEmu really shines. On Windows, you can just download an exe and run it. On Mac? It's a nightmare. Half the emulators don't have native Mac builds. The ones that do require Homebrew or manual compilation. RPCS3 doesn't even work on Mac. And don't get me started on trying to get Wii U emulators running.

+

I built OmniEmu specifically because there was nothing out there that handled this gracefully. EmuDeck is great for Steam Deck. LaunchBox is Windows-only and costs money. RetroArch is... RetroArch. Nobody was solving the "I just want to click install and play" problem on Mac.

+ +
The best tool is the one you build because nothing else does what you need.
+ +

What It Became

+

What started as "I'll just make a quick launcher" turned into a full Electron app with TypeScript, a custom ROM library scanner, game art scraping from SteamGridDB, RetroAchievements integration, controller navigation, cloud save sync via Syncthing, and support for 20+ emulators across three platforms.

+

Sometimes the best projects come from the most selfish reasons. I just wanted to play my games without opening 15 apps. Now everyone can.

+ +

Lessons Learned

+
    +
  • Electron gets a lot of hate, but it genuinely works for cross-platform desktop apps
  • +
  • AppleScript is both powerful and infuriating at the same time
  • +
  • Building for Mac means dealing with Accessibility permissions, code signing, and notarization
  • +
  • The hardest part isn't the code — it's keeping up with emulator updates across 20+ projects
  • +
  • User feedback is worth more than any design document
  • +
+ + + +
+ + + + + diff --git a/test.html b/test.html new file mode 100644 index 0000000..2d8a295 --- /dev/null +++ b/test.html @@ -0,0 +1,527 @@ + + + + + + Miles Wolf Allen | Developer & 3D Artist + + + + + + + + + +
+ + +
+
+
+

Independent brand strategy & copywriting

+

Words that refuse to whisper.

+

+ I help ambitious brands find their voice, sharpen their message, + and turn casual attention into meaningful action. +

+ Start a conversation ↗ +
+ + +
Good brands
have opinions
+
+
+
+ +
+ + Strategy ✳ Positioning ✳ Copywriting ✳ Messaging ✳ Strategy ✳ Positioning ✳ Copywriting ✳ Messaging ✳ + +
+ +
+
+ + +

+ Your brand does not need more content. It needs a clearer point of view. +

+ +
+
+ 01 +

Message
Reset

+

+ Find the sharpest version of what you do, who it is for, and why + anyone should care. +

+
+ +
+ 02 +

Conversion
Copy

+

+ Websites, landing pages, emails, product pages, and campaigns that + make the next step obvious. +

+
+ +
+ 03 +

Fractional
Creative Lead

+

+ Senior-level thinking for teams that need direction, momentum, and + someone willing to challenge the safe idea. +

+
+
+
+
+ +
+
+ + +
+
+

Northstar

+

Brand positioning / Website copy

+
+ +
+

Good Goods

+

Messaging system / Product launch

+
+ +
+

Orbit

+

Campaign concept / Conversion copy

+
+ +
+

Fieldwork

+

Brand voice / Content direction

+
+
+
+
+ +
+
+
+
+ “They turned a complicated offer into a message our customers + understood immediately.” +
+ — Jamie Lee, Founder at Northstar +
+
+
+ +
+
+

Make your brand impossible to ignore.

+ + hello@example.com ↗ + +
+
+ + + +