Some of them ship. Some of them just exist. All of them are built like they matter.
↓ Scroll down begins at the top↑ Scroll up begins at the end
Switch the scene
// Who We Are
Builders. Full Stop.
Energy platforms. AI products. Sensor networks. Venue safety systems. Desktop assistants. WebGL art that exists for no reason other than craft. We build across disciplines because the interesting problems don't stay in one lane. Des Moines and Seattle, remote everywhere.
2
Locations
24/7
Ops Tempo
100%
Builders
Des Moines, Iowa
Home base. Central US, close to infrastructure, close to the ground.
Seattle, Washington
West coast ops. Cloud-native engineering and talent where the tech industry lives.
Remote-First
We work where the work is. No office politics, just shipping.
// Our Edge
Senior Judgment. New-Tooling Speed.
A small team with modern AI tooling ships what used to take fifty people. That's not a pitch — it's just the math now. We pass that leverage forward. Hard problem, compressed timeline, craft that doesn't get cut. That's the offer.
Five custom WebGL worlds. One HTML file. Theme-reactive everything — the email you get back matches the scene you were in when you wrote us. Client systems look nothing like this, but the discipline is identical.
01
Stack fits the job.
This site is intentionally a single index.html because that's what a fast, immersive portfolio needed — no build pipeline, one request to the wire, smooth on a modern phone. A distributed energy platform is a different animal: services, queues, telemetry, audit trails, live data at scale. We pick the stack that serves the problem.
02
Five real-time 3D worlds.
Each theme is a custom WebGL scene on Three.js r170 — GLSL fragment and vertex shaders, instanced geometry, GPU particle systems. Aurora drifts fourteen borealis curtains. Orb is volumetric raymarching. Cathedral floats 60,000 crystals through a 16-pillar nave. Elysian grows roughly 850,000 blades of grass, understory, and wildflowers in real time — same density on an iPhone as on desktop.
03
Craft in the corners.
Framerate-independent camera damping. A transform-driven virtual scroll on iOS because Safari's momentum compositor can't be adjusted mid-fling. A custom bright-pass / 9-tap Gaussian / composite post-processing pipeline. The hard parts are where taste shows.
04
AI as leverage, not autopilot.
We move fast because we direct modern AI tooling with real architectural judgment — the stack, the shaders, the performance budget, the failure modes. Every decision on screen is one we own and can defend.
// Let's Build
What Are You Working On?
Tell us what you're building. A real human replies within 24 hours.
Privacy Policy
Last updated: May 2026
Who We Are
ÆtherYield is an engineering and operations group with principals operating as independent sole proprietors in the states of Iowa and Washington. Our organizational structure is currently being formalized. References to "ÆtherYield," "we," "us," or "our" refer to the individuals operating under the ÆtherYield name.
Information We Collect
This website does not use cookies, analytics trackers, or third-party data collection tools. When you submit the contact form, we collect: your name, company (optional), email address, project description, and optional fields (timeline, scope, constraints). This information is transmitted via a Netlify Function and delivered to our team via Resend (transactional email service). A themed auto-reply is sent to your email address confirming receipt.
How We Use Information
Information submitted through the contact form is used solely to respond to your inquiry and discuss potential project engagements. We do not sell, share, or distribute your information to third parties beyond the delivery services described below.
Third-Party Services
This site is hosted on Netlify. Contact form submissions are processed by a Netlify Function and delivered via Resend (transactional email). Netlify may collect standard server logs (IP addresses, browser type, access times) as part of normal web hosting operations. Resend processes your email address solely for delivery of the auto-reply confirmation. Please refer to Netlify's and Resend's respective privacy policies for details.
Project-Specific Terms
Data handling for specific client engagements is governed by the individual contracts and agreements established for each project. This policy applies only to the ÆtherYield website and general inquiries.
This website is operated by the individuals doing business as ÆtherYield, an engineering and operations group with principals in Iowa and Washington. By accessing this site, you agree to these terms.
Nature of Content
The content on this website is for general informational purposes only. It describes the types of work we do and is not a guarantee of specific outcomes, availability, or suitability for any particular project. Nothing on this site constitutes a binding offer, proposal, or contract.
Engagement Terms
All project engagements are governed by separate, individually negotiated contracts and agreements between the relevant parties. Scope, deliverables, timelines, liability, payment terms, and all other material terms are defined within those project-specific agreements. No engagement begins without a written agreement in place.
Organizational Structure
ÆtherYield currently operates as a collaborative group of independent sole proprietors. Our organizational and legal structure is actively being formalized. Each principal is independently responsible for their own professional obligations unless otherwise specified in a project agreement.
Limitation of Liability
To the fullest extent permitted by law, ÆtherYield and its principals shall not be held liable for any indirect, incidental, or consequential damages arising from the use of this website or any reliance on the information presented here. This site is provided "as is" without warranties of any kind.
Intellectual Property
All content, design, and code on this website are the property of ÆtherYield unless otherwise noted. You may not reproduce, distribute, or create derivative works from this site's content without written permission.
Governing Law
These terms are governed by the laws of the State of Iowa. Any disputes arising from the use of this website shall be resolved in the courts of the State of Iowa, unless a project-specific agreement specifies otherwise.
Changes
We may update these terms at any time. Continued use of the site constitutes acceptance of any changes.
A portfolio page can describe what a group builds. It can't prove how. We wanted the second thing. So this site became a demonstration — a tight constraint (single HTML file, no build step, no framework, no npm), solved with real engineering, delivering a continuous 3D experience instead of a scroll-brochure.
Don't read the constraint as dogma. Real client systems look nothing like a single HTML file. They're orchestrated services, distributed data platforms, React or Next front-ends where that serves the product, Python and Go and whatever the job demands. The stack fits the job. What's consistent across everything we ship is the posture: start from zero, question every default, own every trade-off.
The Rendering Engine
Three.js r170 (ESM import map, CDN-hosted) is the only runtime dependency. Everything on top is written for this site: custom ShaderMaterial instances with bespoke GLSL vertex and fragment programs, InstancedMesh for draw-call discipline, and a full post-processing pipeline assembled from scratch — bright-pass extraction, 9-tap Gaussian blur at quarter resolution, composite pass with chromatic aberration, vignette, film grain, and Reinhard tonemapping. Not an off-the-shelf EffectComposer; a pipeline we can tune at every stage.
Color management is explicitly disabled to preserve a linear pass-through workflow — the scenes were tuned against the older color space and the newer sRGB-managed pipeline double-corrects custom fragment outputs. A small pin, a big win.
The Five Worlds
Aurora
// Borealis Drift
Fourteen aurora borealis curtains drift along the camera path. Each is an additive-blended PlaneGeometry driven by a custom vertex-displacement and fragment-color shader — no particle fakery, the undulation is pure noise-warped geometry. Three "mega" curtains dominate the horizon; eleven vary in aspect so the sky feels organic. Four color ramps cycle across the set — green→blue, teal→purple, bright-green→blue, cyan→blue — and the bloom pass picks them up as the hot glow that makes an aurora read as an aurora.
Orb
// Volumetric Raymarch
Not a sphere. A volumetric metaball cluster rendered by real-time raymarching in a fragment shader — up to 120 march steps per ray on desktop (48 on mobile), evaluating a signed-distance field of 10 primary plus 5 secondary blobs on desktop (6 + 3 on mobile), smooth-unioned with smin(). Each blob carries its own Lissajous orbit. Cursor projects into the SDF and repels the cluster live — no re-tesselation, just field deformation. Liquid glass shading: real GLSL refract() at IOR 1.48, fresnel-driven alpha (see-through face-on, reflective at edges), clearcoat highlights, anti-aliased silhouette via closest-approach tracking, and a pulsing bright-white rim glow breathing at 1.6 Hz. Click anywhere and the orbs scatter off-screen, then drift back over three seconds.
Terrain
// Layered Ridge Noise
A warm wireframe mountain range scrolling beneath the camera. An 800×800 world-unit plane with 160×160 subdivisions (120×120 mobile) displaced in the vertex shader by multi-scale value noise. Layers: macro mass, meso hills, two ridged passes, a broad "monument" noise, and a rare "super-peak" mask that stacks +42 units for the holy-shit-look-at-that-one mountains. Fragment paints gold → orange → pink with a slow forward color wave.
Cathedral
// Instanced Nave
Sixteen instanced purple-crystal pillars (eight per side, 45 units tall), connected overhead by eight custom-built parabolic Gothic arches. Pillars carry vertical data streams via procedural sine + Fresnel crown glow. Suspended in the nave: 60,000 instanced octahedron crystals (15,000 mobile), each on a hash-seeded drift trajectory with additive-blended Fresnel shimmer. Diagonal god-ray shafts angle across the void. Scroll drives a fract-based build animation — pillars construct upward as you descend.
Elysian
// 850k Instances
A photoreal dusk meadow on its own dedicated canvas. Three stacked instanced layers grow in real time: 400,000 grass blades, 450,000 understory shoots, and 650 wildflowers (300 on weaker devices) — ~850,000 total instances. Grass and understory hold the same density on mobile as on desktop. Each blade is an 8-vertex strip indexed into 6 triangles, with per-instance offset, rotation, scale, color seed. Vertex shader: quadratic forward curl per-blade, terrain-height snapping against a height function shared between CPU and GPU, three-layer wind (sine + value-noise + hash-seeded tip twinkle).
The Scroll Engine
Infinite scroll, both directions. Content is cloned once in the DOM so scroll position wraps invisibly at either end. On desktop, native scroll handles momentum and we intercept scrollY in the animation loop to reset silently once per loop. On iOS Safari, native scroll is replaced entirely — Safari's momentum compositor can't be adjusted during a fling, so a window.scrollTo() mid-scroll kills the gesture. The fix: lock body overflow, make .scroll-wrap a fixed transform-driven layer, and run custom drag / inertia / wrap physics so the visual loop stays seamless even during an active fling.
Scroll-wheel input goes through a two-stage glide — targetScroll → currentScroll (fixed-step lerp at 0.04 per frame) → pathT (delta-clamped accumulation) — so fast scrolling can't ballistically fling the camera, and a GC pause can't catapult shader time forward. Elysian's camera parallax is framerate-independent via 1 - Math.pow(k, dt) damping, giving identical feel at 60fps, 120fps, or on a throttled background tab.
Theme-Reactive Everything
Every theme switch triggers a coordinated reveal: hero headline fades out, text swaps, the h1 runs a character scramble on re-entry, the tagline fades in on a staggered timeline. The favicon itself is recomposited in-canvas per theme — source-in compositing on the SVG mark, filled with the theme's gradient, exported as a data URL, swapped into the live <link rel="icon">.
Scroll loops auto-advance the theme. Scroll past the footer going down and the next scene slides in under a radial color wipe and a glowing theme-name announcement, color-matched to the palette. Reverse-scrolling never triggers a change — users who bounce up a few pixels while reading the footer don't get blindsided. Manual picks from the hero buttons or the fixed bottom pill work any time; same reveal plays either way.
The contact form auto-reply email inherits whatever theme was active when the visitor hit submit. Five full HTML email templates — aurora greens, orb silver-blues, terrain violets, cathedral royal blues, elysian meadow greens — each with theme-accent gradient bars, a quoted echo of the submitted brief, and a three-step "what happens next" sequence. The site's vibe follows them into their inbox.
Performance Engineering
Mobile-specific budgets throughout. Pixel ratio caps at 1.5× on mobile (2× on desktop). Orb drops from 120 raymarch steps to 48 and from 10+5 SDF blobs to 6+3. Terrain subdivides at 120×120 instead of 160×160. Cathedral drops 45,000 drifting crystals (60,000 → 15,000). Wildflowers thin to 300 on weaker devices. Camera FOV widens for the narrower aspect. Elysian's 400k grass blades and 450k understory shoots intentionally hold the same density on mobile — a flex the pipeline earns. An IntersectionObserver fires a radial vignette behind each content section when it's 35%+ in view, dimming the 3D scene; a 450ms scroll-idle timer separately firms up text cards. Cards gain opacity, firefly bleed-through fades, text becomes bulletproof readable without ever hiding the scene behind a flat color.
The contact form also demonstrates the same ethic: one textarea becomes a three-part structured brief, chip selectors glow in the active theme, a monospace character whisper reassures the visitor as they type. Required fields stay minimal so friction doesn't tank submission rate. Resend handles outbound email through a Netlify Function; the API key lives in environment variables, never the repo.
AI as Leverage, Not Autopilot
The honest part: this site was built fast, and speed at this fidelity isn't possible in 2026 without modern AI tooling. We use it. We use it well. We direct it with architectural judgment, review every output, tune the performance ourselves, and own every trade-off that shipped. AI didn't decide that Orb should be raymarched instead of a sphere, or that Safari needs a transform-driven virtual scroll, or that the auto-reply email should inherit the visitor's theme. Those are calls we made — and could defend in a design review.
That's the real leverage: senior judgment moving at new-tooling speed. It's how you get a site this dense shipped in weeks instead of quarters, and it's how we compress timelines for client systems without compressing craft.
What This Implies for Client Work
Client systems don't look like this site. They're orchestrated services, distributed data platforms, front-end applications in whatever framework the product needs (yes, including React or Next), infrastructure-as-code, observability, SLOs, on-call rotations. The stack is always chosen for the job.
What's consistent is everything underneath: constraint-first design, bespoke code where it matters and boring code where it doesn't, framerate-independent thinking applied to latency budgets, systems instrumented so we can see what they're actually doing. The site you're on is the smallest possible proof of that posture — fully visible, top to bottom, reload-to-refresh.