Kauai, Hawaii

Dylan
Leitenberg

I build.

Seven projects. March to October 2026.

17 Class of 2027 Island School, Kauai
Dylan Leitenberg playing classical guitar in a tree, in a straw hat and sunglasses, with a chicken perched on the hat

Index

  1. 01AR Glasses RigHardware, worn, running↗
  2. 02Self-Replicating Asteroid MinerDesign program, Mark 5↗
  3. 03Water WormThe asteroid worm, made waterproof for submerged mine tailings · CAD, 3D↗
  4. 04J.A.R.V.I.S.Hands-and-voice control of a computer, no keyboard, tested on macOS. CAD you turn in the air and edit by voice.↗
  5. 05NeuropianTalent scout · research prototype↗
  6. 06ToknxAI-access exchange · live at toknx.ai↗
  7. 07Youth Robotics ProgramPeople, not hardware↗
01

AR Glasses Rig

Worn and runningPython · OpenCV · custom tracker · printed carrier

Dylan wearing the rig: two world cameras on the printed carrier above the glasses, an eye camera on a boom at each temple, cables running back
The rig, worn. Two global-shutter world cameras on the 3D-printed carrier above XREAL One Pro see-through glasses; two eye cameras on booms at the temples, aimed at the inner eye corners.
Measured on this hardware
Optics
XREAL One Pro birdbath optical see-through, driven as a second monitor at 1920×1080.
World cams
2× ELP AR0234 global shutter, 1920×1200, 595 px focal (about 116° wide), 74.76 mm baseline, measured.
Eye cams
2× OV9281 mono NoIR global shutter, 1280×800.
Slip sensing
Skin patches beside the eyes: steady to 0.3–1.9 px with the glasses held still, down from 8–37 px for the earlier eye-corner model (held-out frames).
Overlay accuracy
About 4–5 px, measured on the worn hardware within one wearing.
Reading
Live document translation reads 25–28 lines of a printed page at about 25 cm.
Person tier
Live person-to-character replacement, both eyes, worn: drawn in 89% of rendered frames, a new pose every 38 ms.
Verification
45 self-tests on the translation path; capability inventory across 78 modules, every figure tagged measured or assumed.

What I built

Real-world stereo overlay. Translation, object substitution, and reactive display. Uses eye cameras that sense how the glasses sit on your face, and independent synchronized monitors for realistic stereo display. No off-the-shelf AR glasses do this.

What was hard

One camera never shipped so I had to make do with the 2 eye cams and 2 world cams. Realistic motion tracking was very difficult because it not only required precise, active overlay, but orientation, predictive movement, and an understanding of the person's stance.

What I learned

Start in sim, iterate fast because things rarely work on the first try, never fixate on where you think a bug is and take a broad perspective.

02

Self-Replicating Asteroid Miner

Design program, Mark 5 rev EOpenSCAD · Onshape · Python simulation

Two-view CAD drawing of a two-metre worm test article: exterior, and cut on the axis plane showing the screw, segments and anchor pads
The worm, drawn as a 2 m terrestrial test article for a sand bed: drill, conveyor and anchor in one machine, every dimension in the drawing a value in a single parameter file. The next build is a small printed astroworm, run buried in sand or dry test rock.
The design
Target
162173 Ryugu, a C-type carbonaceous chondrite: iron, nickel and water, the inputs a near-closed replication loop needs.
Goal
A solar-powered machine that builds a copy of itself from asteroid material. In our model, the lander grows into a full plant in about 9 months; then each plant copies itself in about 6 months.
Process
Crush, magnetic separation, hydrogen reduction and sulfur bake, carbonyl nickel, press-and-sinter powder metallurgy, wire drawing, cast basalt structure.
Power
Mirror field onto silicon solar cells by day and a silicon heat store at night. No batteries anywhere in the architecture.
Method
Every decision provenance-tagged recovered / revised / sourced / computed / speculative, so no number hardens without a trace.
CAD shown
The worm (Mark 5 rev E) and its 2 m terrestrial test article are the current design. The aft engine and carbonyl skid are Mark 4, the previous generation, kept because that CAD survived.
Repo
Worm anchor: github.com/dylanleitenberg-tech/astroworm. The full program repository is private.
Toolchain
Parametric CAD with compile-time assertions (the file refuses to render if a mate or rule is violated) plus an economic model that sizes each machine by predicted future dependency and emits the CAD priority queue.

What I built

Detailed design and CAD for the machines of a plant that lands on an asteroid, uses a burrowing worm to anchor, intakes asteroid dust, processes it, and turns it into a duplicate.

What was hard

My laptop fried and I lost the majority of CAD and documentation. I rebuilt with only a few pieces of CAD saved and recreated the entire architecture from memory.

What I learned

Know every piece of your machine down to the screw. That is the only reason I could rebuild the architecture from memory after losing months of work in one afternoon. Back your data up. When in doubt, consult an expert, and if your question is good, they will likely answer.

03

Water Worm

CAD, checked by script · not yet builtOpenSCAD · Python checks · Blender Cycles

Render of the Water Worm W1: a 679 mm burrowing worm with a blue dry vessel at the tail, grey casings with folding setae shoes, and a red crown cutterhead at the front
Water Worm W1, the 100 mm test model, rendered from the OpenSCAD model. Every surface in the image is a surface in the CAD. Turn it in 3D, cut it open and play the gait ↗
The design
Job
Burrow through the mud of flooded mine-tailings ponds and pump the cut to the surface as slurry, for reprocessing.
From
The asteroid miner's worm: the same two-section burrowing gait, 50 mm stroke and auger, with the astroworm's crown cutterhead.
Size
Bore Ø100 mm, 38 parts; every printed one fits a 130 × 130 × 125 mm print bed.
Drive
Hand-cranked from the surface (rev 3.1): a bit brace turns the auger through a flexible shaft and a slip clutch; a push-pull cable and lever work the gait, with a luggage scale on the handle reading the force.
Waterproofing
The dry vessel stays sealed and full of air, ballasted to the electric design's weight, so it floats, sinks and anchors the same way. Rotary lip seals on the drive shaft and the dowel pin; U-cups on the gait rod and pushrod; a hand pump on the air fitting pressure-tests every seal, so a leak shows as bubbles.
Cutterhead
Self-feeding: three right-hand helical blades, swept outer end first, push the cut rearward into the throat and inward from the bore wall, so the reaction pulls the head forward; a screw point threads into the bed ahead of them. Same hand as the auger.
Anchoring
Curved setae shoes fold to 4° going forward and open to 35° slipping back. Estimated hold: 1.24× what the dig stroke needs.
Checks
158 interference runs clear with 41 controls that must fail and do; a leak model of 29 cases finds the leak when any one seal is removed.
Stress test
A 5–10 minute run in the lower Anahola Stream, Kauai, calculated (not run) against USGS flow records: 3 failures found. Two are fixed in the parts list (a check valve at the lid, a B7 alloy auger rod); the third sets the test spot at 1.2 m deep or less.
Drawings
Four A3 sheets: general arrangement, section with seal details, cutterhead and shoe, parts list. PDF
Status
Designed and checked by script. Not yet printed or put in water.
04

J.A.R.V.I.S.

Runninghands and voice, no keyboard · holographic CAD, edited by voice · macOS · Python · MediaPipe · three.js · Claude

Download JARVIS

The full JARVIS heads-up interface: systems gauges, optical array with a live camera view and a tracked hand, command index, a radial gesture map in the center, gesture control panel, activity log, and a spoken status line
The heads-up interface, full screen. The camera tracks a hand in the optical array at left; the gesture map on the right binds it to the machine. Gesture control armed, optics online, microphone live.
What it does
Premise
Control a computer without touching it, tested on macOS (Windows and Linux installers written, not yet run). Hands are tracked by the camera, voice covers everything else, and a heads-up interface shows what the machine is seeing and doing.
Gestures
Hands and body tracked at 14-18 fps measured live: point to move the cursor, pinch to click, pinch-drag, two fingers to scroll, swipe to switch apps, open palm for a radial menu, thumbs up or down to answer a confirmation. Only the user's hands drive: the hand already being followed keeps control, and a second person's hand waits until the first has been gone for a second.
CAD
Say "show the worm" and the model appears in the interface; move an open hand to turn it, pull the hand in or close the fingers to zoom in, push it away or open them to zoom out; pinch and move also turns, two fingers slide. A small camera box in the corner shows the hand doing it. STL is read directly, .scad is compiled live and STEP is converted on first use, so the part you are turning is the current source. The same gestures drive the viewport in OpenSCAD, Blender, Onshape and Fusion, each with its own orbit binding.
Editing
Say what to change and the part on screen is rebuilt. An OpenSCAD model gets a panel of its own dimensions, set by voice ("set the lens width to 52"), slider or pinch-drag; the glasses frame rebuilds in 0.16 s. Anything the dimensions can't express goes to Claude Opus 5.5, which edits the source, or writes a checked script against a STEP assembly's named parts. On the 306-part aft engine, "make the nozzle 20 percent longer" took it from 3,420 to 3,855 mm, throat fixed, nozzle still attached. Nothing is written until "save", and a save never overwrites the original.
Checks
Every STEP geometry edit is checked before it stays (OpenSCAD edits get a build-error repair). The assembly's size is compared before and after, and anything grown past 1.6× goes back for repair; this was added after three stacked stretches wrecked an engine. Then the viewer photographs the result from three angles and the model judges the pictures; an edit that looks wrong is undone and repaired.
Speech
Wake word, spoken reply, and it stops listening for exactly as long as it is speaking so it never transcribes itself.
Control
43 actions (apps, windows, tabs, keyboard, mouse, media, volume, brightness, screenshots, clipboard, Shortcuts, telemetry), one registry, exposed identically to the gestures, the parser, the UI and the model.
Model
Fixed phrases are parsed locally in well under a millisecond, no model involved. Anything else goes to Claude Sonnet with the part's dimensions and the last few turns; a local Qwen3 8B through Ollama is the fallback. When a request is ambiguous it asks which dimension you meant instead of guessing. Geometry edits go to Claude Opus 5.5.
Memory
Facts you tell it to remember survive restarts, and what you opened and edited is kept as a running history. When a project's model is on screen it reads that project's own notes. It speaks up unprompted only when a watched condition becomes true (unsaved edits, low disk), once, not for as long as it stays true.
Verification
Seven test suites pass (152 checks): intents, gestures, CAD driving, dimension editing, STEP editing, memory and alerts, process cleanup. Synthetic hand frames drive the gesture tests.
Status
Runs live: camera, gestures, voice, Claude and the local fallback. Built for macOS, Windows and Linux, with one-line installers that need no administrator rights; installed and run on macOS so far. Local model through Ollama, or bring your own Claude key. The macOS Accessibility grant, which keyboard, mouse and window control need on the Mac, is still pending.
Source
github.com/dylanleitenberg-tech/JARVIS, open source under the MIT license.

What I built

Interactive computer interface controlled entirely by voice and gesture. JARVIS can rotate, move and edit CAD, control games, and interact with both you and your computer.

What was hard

Getting the tracking accurate enough to navigate detailed pages, where a pinch in the air has to land on a small button and stay there. The macOS permissions for letting it control the computer took longer than I expected too.

What I learned

Make the user interface intuitive so learning to use it is seamless.

05

Neuropian

Research prototypePython · public APIs · local open-weight modelneuropian.com

What it is
Premise
Find strong engineers and mathematicians by their public work: contest records, math answers, and code that maintainers merged.
Built
A scout over Codeforces, AtCoder, Math Stack Exchange and GitHub, with out-of-time back-tests, and dossiers written by a model running on my laptop. Before it, from March to September 2026: a six-language site with accounts, a database and chat, now retired.
Result
Back-tested on 11,088 Codeforces players, with traits picked on 2022–24 and tested unchanged on 2024–26: among players of equal rating, it ranked future breakthroughs at 0.65 AUC vs 0.60 for rating alone. Contributor list: 1,857 people across 31 open-source projects (18 Oct run); 30 dossiers written.

What I learned

You can make a great product or site but if nobody knows about it, it's worthless. Advertising is half the product.

06

Toknx

LivePython · FastAPI · PostgreSQL · Redis

Visit toknx.ai

Toknx web app, the Publish an agent page: name, provider, model, how it runs, per-token prices at the model's list value, token and request caps, decision mode, system prompt and filters
Publish an agent: your AI, your rules. Name, provider, model, how it runs, price per input and output token (filled at the model's list value), caps per minute and per day, a system prompt, and refusal filters.
What it is
Premise
Answer other people's prompts on the AI you already pay for, earn request tokens (RT), and spend them on models you don't have. No money and no crypto move; RT has no cash value.
Providers
Fully functional across multiple providers: requests trade live on Claude and ChatGPT keys, and Gemini keys are supported.
Your key
Every agent runs on its owner's own account, inside the caps and rules the owner sets. ChatGPT and Gemini agents run from the owner's browser tab, so the key goes only to the vendor; Claude keys can be hosted, encrypted with AES-256-GCM. Keys are never pooled: a key only ever runs its owner's agent.
Routing
A request goes to the cheapest verified online agent that fits its model, category and price cap. An agent is listed only after it answers a liveness probe; declines and failures re-route up to 3 times.
Always answers
When no member's agent is free, Toknx Open, an open-weight Qwen3 model on its own Oracle servers, answers instead, free and labeled. Visitors can ask without an account; their questions go to members' agents first, paid for by Toknx, so members earn from day one.
Incentives
New members get a starter grant; an agent's first paid answers to three different members unlock a 250,000 RT bonus, and members who serve get far more free answers.
Ledger
Append-only Postgres ledger enforced by a database trigger; escrow, then settle, never above escrow; an hourly audit checks that journal sums equal balances. 1 RT is one millionth of a dollar of vendor list price; 1% fee in RT.
API
OpenAI-compatible: point the OpenAI SDK at toknx.ai/v1 and existing code works, with auto, a named model, or toknx-open. Streaming, idempotency keys, signed webhooks, one-line CLI install.
Security
Two-factor sign-in, scrypt passwords checked against known breaches, verified email; prompts, answers and email addresses encrypted at rest; encrypted nightly backups; red-team reviewed and attack-tested against the live server.
Status
Live at toknx.ai.

What I built

Token exchange where you can put your AI/tokens up for use to answer other people's prompts in exchange for on-site currency. That currency can then be used to prompt other users' AI. Allows you to exchange some of your tokens from one provider for usage in another's AI.

What was hard

Not breaking any TOS: most major companies don't let people do this in a direct exchange so I designed an indirect exchange that follows all rules.

Progress

Live, fully functional across multiple providers.

07

Youth Robotics Program

RunningKauai, Hawaii

What exists because of it
Problem
Most of the school's robotics team was graduating. No STEM program for elementary students; five people on the FTC team.
What I did
Founded the Youth Robotics Program: reached 27 teachers, secured board-member funding, recruited high-school mentors, built the curriculum with the FTC captain.
Now
28 elementary students building real robots alongside high-school mentors, from coding to PID control.

Why I built this

My school's small FTC team was going to lose most of its members upon my graduation. I started the program to prepare elementary students to join next year so the FTC team wouldn't cease.

Elsewhere

  • HonorsNational Merit Semifinalist, 2026. College Board National Rural and Small Town Recognition Award.
  • FIRST RoboticsFTC team of five: build, design and alliance negotiation. Second in Hawaii; competed at the FTC Canada Cup and Governor's Cup.
  • ResearchCo-author on two posters presented at the American Psychological Association national convention, through The Good Student. Data analysis in R.
  • National History DayWon regionals and advanced to states with a paper built around my grandmother's flight from Poland.
  • GuitarEight years, classical and electric. Villa-Lobos Etude 7 through metal bands.