Build / Report 001

Intent on Dreaming

Camp FruitPOP!, Burning Man 2026

The installation at night on the playa, its frame and hanging mirrors glowing pink and violet under UV, with lit-up bikes parked in front

Highlights

Size
10 × 10 × 10 ft
Pixels
96
Mirrors
192
Welds
158
Light
4 × 50 W, 395 nm UV
Budget
$1,670
Build
~3 months
Setup on playa
~1 hour
Daytime walkaround on playa.

This is “Intent on Dreaming”, my first large-ish scale installation art. I’ve started many many projects in my life, big and small, and finished a small percentage. This was an exercise in “GET IT DONE, PERIOD.” Reduce scope, figure it out, but put something on playa at Burning Man 2026. I’m very happy with the result, which stood at Camp FruitPOP! for the full week.

The piece comprises a take-down welded/painted steel frame in five pieces, four 50W blacklight LED panels, and 192 “passive infinity mirrors” made from fluorescent and mirrored acrylic, mounted on 96 3D-printed PETG housings, suspended by high-test monofilament. The whole thing packs down into two storage bins plus the wrapped steel legs. It survived the 40MPH wind and rain without a fuss.

TL;DR: I built this for $1700 over ~3 months and it rocked.

“Infinity Pixel” Development

The passive infinity mirror concept was born out by the trash fence a few years ago when I was thinking about how to make a big rotating “portal” without having to deal with slip rings or other methods of routing electricity through moving mechanical joints. Just use fluorescent materials and bulk light the whole thing with an external UV source. I experimented with this format for a few months before settling on this design, sandwiching fluorescent acrylic donuts between standard one-way and two-way mirrored acrylic. The working title for each module was an “infinity pixel” and it stuck.

Proof of concept: Standard infinity mirror sandwich between mirror acrylic and two-way mirror acrylic, but instead of LEDs, using a fluorescent acrylic “donut” between the mirrors which can be edge-lit with a blacklight.

A fluorescent acrylic ring glowing orange in a hand, lit from the edge by a blacklight
Proof of concept: a fluorescent acrylic donut between a mirror and a two-way mirror, edge-lit with UV.
Proof of concept, spinning under UV.

I initially wanted these to sit on a rigid structure, so the second proof of concept had press fit bearings in the printed mount that rotated on a metal rod with 100mm OD mirrors. This is a cool mechanical design project and would spin the most freely in the wind, but requires a bunch of mounting hardware and somewhat precise pre-fab that I then have to integrate on playa. Also, even with sealed bearings, I’m not confident they will remain free spinning through the burn.

So the question is how do I do this 1) relatively affordably, 2) maximize ease of setup on playa, 3) still allow free rotation and movement in the wind?

The idea then moved to erecting a rigid frame, hanging these pixels on paracord at regular intervals to create a grid in the air, and then securing the bottom of each cord to the playa on a lag bolt.

The key here is the edge of the fluorescent acrylic needs to be exposed for maximum brightness in the finished piece, so this needs to be a “frameless” design without side support for the acrylic stack. It would be possible to do this in a clear filament, but getting “clear” filament anywhere near optically clear is a real fine-tuning challenge I didn’t want to rabbit hole into.

I designed a FFF version I can print at home, and a more optimal geometry for resin/powderbed printing overseas. Exploring pricing via Craftcloud3D and other onshore options, the cheapest non-filament option was $8/pc at $800 total for tough resin, and $1.5/pc at $150 total for filament printed ABS or similar.

That resin cost is too high, and I can’t justify outsourcing filament printing without a truly high volume of parts. For 100 pixels, estimating 36 per batch @ 1d17hr print time, 1.5kg material = ~$90 material + a week of print time on my Bambu P1S. For big structural parts like this I’m running a 0.8mm nozzle with HF PETG. This combo hits the volumetric flow ceiling for this machine pretty quickly, but I get thick two-perimeter walls, and thicker layers = less interlayer bonds = stronger parts, plus additional surface area for glue up.

I wanted a sleeker look with a more rounded top and bottom to reduce friction against when spinning in the wind, printed at an angle to provide a “flat” for the first layer:

CAD render of a rounded mount with an angled printing flat
Mount A: rounded profile, printed at an angle.
Slicer screenshot of mount A laid out at an angle on the build plate
Mount A on the build plate.

This worked alright. Not the best quality—I probably could’ve dialed something in here—but ultimately decided a vertical central axis would provide more consistent channel quality printing at this speed over 100 parts. I went with a design between the two, with a small flat added to the top and bottom face and an angled section on the top ID to reduce overhang angle and print without supports.

CAD render of the final mount with a vertical central axis
Mount B, final: vertical axis, flats top and bottom.
Slicer screenshot of 21 mounts with supports and brims
Production plate: 21 mounts, 19 h, 830 g HF PETG.

This worked perfectly. At 19hr per print for 21pcs, I could flip the machine each night and print the required 96 (+extras) over five prints in a week. The build setup above included supports and brims for insurance… these can print fully unsupported (and I did so successfully in development), but I was running the production prints while at work and on a tight timeline. It was easier/cheaper to break off a few supports and clean the brim versus potentially failing full builds, losing that day and scrapping the filament.

Acrylic Design & Sourcing

I dug fairly deep on acrylic pricing here.

Option 1: full outsource online

Buy everything already cut and ready to assemble.

The standard online sources were $1100 for the mirror discs and fluorescent donuts, but most sites don’t cut two-way mirror as a standard material. I’ve gotten it cut via custom Ponoko order before and it is not cheap, I’d expect 1.5X the price below so closer to $2000 total.

120 mm diameter, qty 200SendCutSendPonoko
Mirror acrylic$372$633
2-way mirror acrylic——
Fluorescent donuts$534$586
Printed mounts——
Online quotes for 200 pieces at 120 mm.

I did do some outreach on aliexpress and other sketchier direct overseas options, but honestly the pricing wasn’t so competitive. Sendcutsend does a great job reducing cost via 2D shape packing.

Option 2: full outsource locally

I spoke with a few laser cutting companies local to LA. Most were significantly more expensive than the above options, even sourcing my own acrylic for them to cut to pull some margin off.

americanlaserco.com were communicative and helpful, with cutting cost at $200 per full 4x8ft sheet of discs, $360 per full sheet of donuts, so $760 + material. They also offer laser rental for $70/hr for a larger 120W CO2 system with a two hour initial setup/training. I estimated ~6hr total cutting time so 9hrs of rental at $630 total + material. But they’re only open during the week while I’m working.

Tony at lasersoverlosangeles.com was quite responsive with quick turnaround, with cut-only cost around $1100 total for 400x discs and 200x donuts.

Between these two laser shops I got three local acrylic supplier recommendations: https://santamonicaplastics.com/ and https://solterplastics.com/ on the west side, and https://plasticpointinc.com/ in the valley.

Plastic Point Inc was the most responsive with the best pricing for material + cutting.

Plastic Point quote listing three acrylic sheets plus laser cutting, total $1,355.41
Local quote, material and cutting: $1,355.41.

Option 3: Buy acrylic and DIY lasercut

It was killing me to spend this much to save myself a few hours of weekend work, if only I could find a big CO2 laser to play with…

Enter Crash Space, an exceptional maker space in Culver City that I’d had on my list forever. I didn’t think this kind of low-cost/co-op business model was possible to sustain in LA–this 2013 Makezine article is canonical and cites overhead cost differences of 10-30X between a VHCOL city like LA and a dirt cheap city like Detroit (home of the exceptional i3Detroit). Somehow they make it work, housing a surprising density of useful tooling and a plethora of other delightful nerds building impressive projects. It’s been a real joy joining the community.

Key for this project: they have a 36”x48” 120W Boss CO2 laser system and it’s free to use with a monthly membership and training.

So, back to Plastic Point Inc for material only. Total cost for one full 4x8ft sheet of each material cut down to 32”x48” was $682. $20 per cut sucks but I have to fit these in a hatchback.

Plastic Point invoice for three acrylic sheets cut to 32 by 48 inches, total $682.14
Material only, cut to 32 × 48 in: $682.14.
Online, cut to part · estimate, with 2-way mirror
~$2,000
Local shop · material and cutting
$1,355
Crash Space · material only, plus ~10 h of my own laser time
$682
Acrylic for 100 pixels (200 of each part), by sourcing route.

I got 201 sets out of each full sheet, cutting 67 at a time from the ⅓ sheet sections. Roughly 10 hours of cut time. I know I could’ve pushed the system faster, but the bed isn’t perfectly plane and I didn’t feel like dealing with the stragglers that would need a second exposure.

Trust me, this layout maximizes the number of 120mm circles printable on a 48”x32” sheet. I also added small mounting holes in the “scrap” circles from the donut cuts, which will make pretty fluorescent hanging flourishes for something in the future.

Nesting layout of 67 tightly packed circles on a rectangular sheet
Disc nest: 67 per 32 × 48 in sheet.
Nesting layout of donuts, each centre offcut with a small mounting hole
Donut nest, with hanging holes in the offcuts.
A CO2 laser head cutting rows of circles from a glowing red acrylic sheet
Cutting on the 120 W Boss CO2 laser at Crash Space.

This #991 pink fluorescent acrylic is awesome, by the way. More orange in normal light, bright pink with light through it, and fluoresces a bright pink-orange

An arm holding a sheet of fluorescent pink acrylic up against the sky
#991 fluorescent acrylic in daylight.
A cardboard box full of glowing orange acrylic offcuts
Donut offcuts.

Module Assembly

Exploded CAD view of one pixel: mirror, fluorescent donut, two-way mirror and printed mount, twice over
One pixel, exploded: two acrylic stacks on a printed mount.

How to connect all these layers?

Initially I wanted to spend more for an adhesive tape solution so I wouldn’t have to mess with gluing 100 assemblies total, 200 acrylic stacks, 600 individual bonds, and 700 total pieces. This would also let me apply the tape to the full acrylic sheets and lasercut in the same operation, making assembly super straightforward.

I spec’d out 3M 9495LE to connect the acrylic layers, and then classic 3M VHB to absorb the thermal expansion mismatch between acrylic and printed PETG, given these will see direct sunlight/desert heat during the day, and down to 40-50°F temps at night. The math isn’t too bad–even taking a worst case 100°F (55°C) temp swing and conservative CTE gap of 60-90 10⁻⁶/°C, over 120mm diameter we’re talking (55°C)(30*10⁻⁶/°C)(120mm) ~ 0.2mm, but it’s enough that I’d worry about crazing/cracking on the acrylic with a rigid epoxy bond over time.

Probably overthinking it.

I tested this and it worked perfectly… but big rolls/sheets of 9495LE and VHB are expensive at this scale. I’d need to cover ~40sqft between the acrylic layers and 20sqft between acrylic and PETG (if I covered the entire panel prior to cutting).

Cheapest I could find via findtape.com was ~$300 for the 9495LE, and a similar amount for VHB. I have a moral opposition to spending half my BOM and over $500 on tape.

Back in glue world, I wanted to make sure it was viscous enough not to leak out of the glue joint and ruin the reflectivity of the mirror layers. Permabond UV639 looked like a great option–viscous enough not to flow, curable in seconds with the same 395nm UV panels I’m using to lighting the art. But, again, $300 incl shipping at over $1000/liter is absurd to me for this project.

Definitely overthinking it.

Back to where I should’ve started–readily accessible basics. GE Advanced Silicone 2 is neutral-cure and shouldn’t screw with the mirror coating on the two-way mirror acrylic, flexible enough to handle any CTE mismatch, silicone so temp is not an issue, comes in clear, and will cost something like $30 total for the entire project. But is it strong enough?

After some quick tests–definitely.

I had a group of friends over for my birthday and they helped remove the acrylic backings, clean up the central mounts, and glue up the 600 component parts. Thank you Dusty for organizing this (and SO MUCH MORE 🧡), and thank you Ryan, Andrew, Alex, John, Dillon, Kevin, Carlos, and Max for your assistance.

But of course I’m a manufacturing engineer so I had to make good work instructions! Critical to understand how you can screw up the process and then mitigate those possibilities with guidelines and training beforehand.

Hand-drawn work instructions: three assembly steps and a list of ways to mess up the glue-up
Work instructions for the glue-up.
Sketch of the layer order: two-way mirror, fluorescent donut, mirror, central mount
Layer order.

It came together quickly with extra hands and honestly less issues than I expected. Don’t mind me completely maxing out available single car garage space.

A garage workbench covered in finished mirror modules
Glue-up.
A grid of finished mirror modules reflecting Julien several times over
Finished modules.

Suspended Array

I sketched out several different patterns to suspend the individual pixels in space, and modeled a few in CAD. These needed to hang on individual strings, and I wanted to use as many as possible up to the max of 100 (this limit was set by the number of acrylic stacks I could cut from a full 4’x8’ sheet).

Ultimately I settled on this two-plane intersecting hexagon. 96 total pixels: a central stack of eight, and then four-fold radial symmetry with decreasing stacks of seven/six/five/four pixels.

Sketch of the 96 pixels arranged as two intersecting hexagonal planes
Two intersecting hexagonal planes, 96 pixels.

Frame Design and Fabrication

Cheaper and easier ways to do this, but I used my tax refund this year for a basic MIG welding setup and (something like this) was the intended project.

Requirements:

  • Pack relatively flat for transport
  • Maximum prefab, minimum active work on playa
  • Bolts to the playa, freestanding without additional ratchet strapping or other supports

After a few iterations I ended up with the design below. The four legs sleeve into the central crown and get secured with a single bolt, and then each foot gets lag screws into the playa.

CAD render of the full frame with the pixel array hanging inside
Full assembly in CAD.

I did price out custom bent steel tubes for the legs to be a little more elegant, but went with this design due to price and lead time.

Each leg is made from three lengths of 1.5” x .083” square steel tube with mitered butt welds, 2x custom cut 148.3° gussets (why make things easy?), a custom foot (both in .119” sheet from Sendcutsend), and 2x 90° 1/8” gussets.

CAD render of a leg’s miter joints with welded gussets
Leg miter joints from 1.5” square tube with custom welded gussets.
CAD render of a leg foot plate with gussets and lag bolt holes
Custom welded footpad with 2× 90° gussets.

The crown is made from 4x mitered ~12” lengths of 1.75” x .095” square steel tube, welded to a central ~2” vertical length of 2” x .120” square steel tube. This is capped on top and bottom with scrap plate, and supported by 4x 90° 1/8” gussets. This tube size + thickness combination was harder to find locally and I ended up purchasing online for far too much, but I wanted to make sure it would sleeve nicely with the 1.5” leg tubes for ease of installation, without too much clearance that would lead to a wobbly structure.

CAD render of the crown: four tube arms welded to a central square tube
Crown assembly with welded 90° gussets and tabs.

I also welded tabs to the legs at measured intervals to clip on each strand of pixels, and welded 2x ¼”-20 nuts to the inside of each leg to for blacklight panel mounting options.

I designed and printed layout tools that slide over the steel tube and let me mark out the correct angles for each cut. These worked perfectly, and honestly I’m surprised how consistent I was able to hold everything using a handheld bandsaw. Anything is possible with good fixturing, consistent technique, and attention to detail.

CAD render of a printed layout sleeve on a leg tube
3× printed layout tools to cut leg miters.
CAD render of a printed layout sleeve at the crown
Printed layout tool to cut crown miters.
A black printed layout sleeve slid over square steel tube
Layout tool on the tube.
Square tubes on a fixture table, marked for cutting
4× crown arms cut, nicely consistent.

I also printed weld fixtures to let me precisely set the miter angles on the legs, but the cuts were accurate enough (and required tolerances open enough) that I mostly ignored those during the process.

(Psst no one tell him that these are the same miter angle and he only needed to print one)

CAD render of a printed weld fixture holding a mitered joint
2× printed weld fixtures, top view. Space cut out to allow tack welding while installed.
CAD render of the second weld fixture on a bent leg
2× printed weld fixtures, bottom view.
A steel fixturing table with a leg clamped in printed fixtures
The reality of welding these leg butt joints on the fixture table.

I tacked up all the leg segments first to make sure I was in the ballpark.

Tack-welded leg segments leaning against a bench
Leg segments, tacked.
Steel tubes laid out on a picnic table in the backyard
Checking the fit.

A few degrees of variation with the lower segments matched is good enough for this application. The tolerance stackup from the crown to leg fit combined with flex through the full leg will be more than enough to eat this variation. Honestly, a little tension through the structure when bolted down will make it more rigid.

Four welded legs lined up against a wooden fence
4× legs, miters and footpads welded on. Still waiting for gussets.

Not bad! Once I finished the leg butt joints I added the feet and the two sets of gussets. This required some creative setups but I’m pleased with how well this cheapo fixturing table worked out.

A backyard welding setup with a fixture table and tools
Welding setup for gussets on leg miters and footpads.
Four legs with gussets welded on, stacked on concrete
Gussets welded.
Four legs with round foot plates welded on
Feet welded.
The welded crown with the four legs sleeved in, lying on concrete
Crown and legs fully welded.

I then moved onto the central crown, this went quickly after dialing in my process on the legs. Some tight internal corners to deal with, but doable especially with the more forgiving thicker walled tube. I added all of the tabs to the legs and crown, and then welded on nuts to serve as threaded bosses for blacklight mounting later on.

No in-process photos here but I drilled thru-holes and tack welded two ¼-20” nuts to each leg to serve as mounting points for the blacklight panels. I wasn’t sure whether I’d need more than four panels to properly light the modules, and figured it would be nice to have some adjustability on playa.

CAD view of the frame with arrows marking where nuts are welded on to mount the UV panels
Location for welded nuts to secure UV panels.
A UV panel bolted to the frame on playa
UV panels secured on playa.

Lessons learned MIG welding small nuts: keeping a bolt inside the nut while welding seems like a good idea to keep the threads in shape, but it will in fact lock the bolt inside the nut and you’ll break off the head trying to remove it, requiring you to grind the nut off and redo the whole thing. I had much better success keeping tight control over the amount of heat into the nut, and then chasing the thread with a tap once cooled.

I did all the fabrication over a few weekends in my backyard, roughly 20-25 hrs work including cutting, grinding/weld prep, welding, drilling, and cleanup. I’ve welded before in my life and had some instruction, but this was my first real set of volume welds. I started with the hardest first (butt joints on relatively thin .083” steel) and ran through a half dozen sacrificial test pieces to dial it in. Moving down to a thinner .023” wire really helped there. The tees and corner joints in thicker material were a breeze after that.

Finished bare-steel legs laid out on concrete
Welds complete.
Julien in a welding helmet and jacket in the backyard
Backyard welding on a hot LA day.

Ultimately I’m confident over 158 individual welds on the structure there are at least a few good ones. See: garbage butt joints and reasonably mediocre corner joints.

Close-up of a rough butt weld on square tube
Butt joints on .083” tube. Pretty shit.
Close-up of a corner weld where a tube meets a foot plate
Corner joints on .083” tube to .119” plate. Mediocre to ok!

With the help of my incredible partner Dusty (on a VERY hot and humid LA afternoon), we surface prepped the steel by cleaning with acetone and then wire brushing the surface. Then spray painted the legs and crown with Rust-Oleum Universal gloss white.

I will put some respect on Claude Opus 5’s name here, it really nailed the required number of cans (8) for this structure including two coats and overspray. This would have been cheaper and easier with an air compressor and some proper primer+epoxy paint, but it worked out nicely.

Legs painted gloss white, drying on a tarp
Two coats of gloss white.
The painted white crown resting on concrete
Crown, painted.

Putting it all together

The initial plan was to suspend the modules on 4mm paracord and tie knots to retain each one, with a washer above the knot to reduce friction and let them spin more freely in the wind. Dusty’s feedback (extremely correct, per usual) was the lines should be transparent so the whole piece looks more like it’s floating in air vs. hanging on cord.

I researched a number of options but ultimately settled on high-test monofilament secured with crimped aluminum fittings. I went with the strongest easily available option I found at 200 Lb test and 1.7mm crimping sleeves. I was concerned these wouldn’t hold over the week, but this is what offshore fisherman use for tuna rigs and other big fish, and when properly crimped they’re extremely strong.

A loop of clear monofilament closed with an aluminum crimp sleeve, against blue sky
200 lb monofilament, 1.7 mm aluminum crimp.

I drew out the required overall lengths and spacing, marked a quick jig to make crimping go faster, and went ahead and crimped the ~100 fittings, again with Dusty and John’s help, adding a mini carabiner to the top loop of each.

I certainly didn’t forget, on multiple occasions, to assemble the washer below the mirror module before crimping, requiring me to redo the whole line.

Hand-drawn cut list for the monofilament lines, with lengths and pixel spacing
Line lengths and pixel spacing.

After each line was fully crimped, the pre-fab work was complete! You never want to do it, but you always need a full dry fit to catch stupid assembly issues. In this case, with tons of good design work and pre-planning, this came together super smoothly.

Dry fit under UV: a single line.
Dry fit under UV: the full array.
Dry fit in daylight.
Dry fit from above.

On-Playa Assembly

The intention here was to pre-fab everything and make life as easy as possible when setting up on playa, and it worked exactly as intended.

Frame setup is easy with two people: one person stands on a ladder and holds the crown while the other inserts the legs one by one. The frame is freestanding at this point, and then each leg is pinned to the crown sleeves with a ¼-20 bolt and a nylon locknut. The frame is moved to its final position and lag bolted into the playa with ⅜” 14” hex head lag bolts (frankly overkill for this structure, but SOP for securing structures out there).

Two people raising the frame on the playa beside RVs
Raising the frame.
Julien on a stepladder clipping lines to the frame on playa
Clipping the lines on.

The 17 lines are clipped onto their respective tabs on the frame, 4x blacklight LED panels are attached to the integral nuts with a flanged bolt, and then white extension cords (2x 10ft, 2x 15ft) are run to each panel and secured neatly with zip ties, each terminating at the bottom of a single leg and run to a trenched junction box for power.

This whole process is complete in about an hour.

The only real work I didn’t do off-playa (but could have) was securing the bottoms of each monofilament line. Not strictly necessary under ordinary conditions, but I was worried about the modules banging into each other or the frame in high winds.

I had a few ideas for how to deal with this including putting 17 lag bolts directly below each line, but I wanted to allow some motion and ended up going with a simpler (and more pre-fabbed option for the future).

Each line (red) was terminated in a crimped loop 1-2” above the ground, and then I ran two tensioned lines horizontally between opposite footpads (green) through each loop. I put one lag bolt in the center with a chainlink holding both horizontal lines to control tension.

Elevation diagram: red monofilament lines ending in loops, threaded by two green tension lines between the feet
Securing: crimped loops (red) retained by tensioned lines (green).

The green horizontal lines were scrapped after this burn, in the future I can fabricate those with 4x crimps on-site, or figure out something more reusable.

Lighting & Power

The whole concept here is “passive infinity mirror” which is accomplished by lighting the fluorescent acrylic with blacklights. Here I’m using 4x 50W 395nm UV LED panels, ordered on the cheap from Aliexpress for ~$20 per panel. Using 365nm panels would be more effective, but I wanted to err on the side of eye safety in case random people were staring into them in the middle of the night.

I thought I might need eight panels to fully fluoresce all 192 mirrors, but four did the trick at half the power draw.

Power is a non-issue if you have access to an electrical grid, but in this case we’re running under our own generator/solar + battery system. With a fully charged 2kWh battery I could run this piece for 9+ hours at 200W draw, and with some additional lighting/projection on the same circuit we had about ~350W draw, allowing us to run the battery down and keep the lights on for most of the night, usually through 4-5AM.

Interestingly these 50W cheapo panels do actually draw 49-50W continuous, while the Everbeam branded “50W” panel I got at 3x the price for early testing only pulls ~34W continuous and is notably dimmer. The Aliexpress panels also got way hotter, uncomfortably hot to the touch, and I assume they would burn out faster with long duration use…but no issues over a week which included high winds carrying abrasive dust and ~10hr/0.1” of rain.

Two UV LED floodlights side by side on a workbench, labelled $20 AliExpress unbranded and $60 Everbeam branded
Two “50 W” 395 nm UV panels.

Finished Installation

The installation at night, glowing pink and violet under UV, with lit-up bikes parked in front

Bill of Materials

Cost by category $1,669.69
  1. Infinity pixels $752.09 45%
  2. Steel frame $469.81 28%
  3. Lighting & power $182.01 11%
  4. Rigging & hardware $161.31 10%
  5. Paint $104.47 6%
Item Qty Unit Total Source
Infinity pixels $752.09
2-way mirror acrylic - 48x96" sheet 1 $196.00 $196.00 Plastic Point
Mirror acrylic - 48x96" sheet 1 $191.00 $191.00 Plastic Point
Acrylic sheet cutting/processing/tax 1 $182.14 $182.14 Plastic Point
Fluorescent acrylic - 48x96" sheet 1 $113.00 $113.00 Plastic Point
Matte black PETG filament 5 $13.99 $69.95 Amazon
Steel frame $469.81
1.5" x .083" square steel tube (24ft, cut to 8ft sections) 2 $97.30 $194.60 MK Metal
1.75" x .095" square steel tube (2ft) 4 $25.53 $102.12 Online Metals
Custom cut .119" A36 feet (2 extras) 5 $15.88 $79.41 SendCutSend
2"x2"x1/8" weld on steel gussets 2 $18.76 $37.51 eBay
Custom cut .119" A36 gussets (2 extras) 10 $2.45 $24.50 SendCutSend
Weld on steel tabs (20 pack) 1 $17.15 $17.15 Amazon
2"x .120" square steel tube (1ft) 1 $12.00 $12.00 MK Metal
1/4"-20 stainless steel nuts (for weld on) 6 $0.42 $2.52 Lowe's
Lighting & power $182.01
50W 395nm IP66 LED UV panel 6 $20.71 $124.26 AliExpress
15ft white extension cords (3 pack) 1 $35.96 $35.96 Amazon
10ft white extension cords (3 pack) 1 $21.79 $21.79 Amazon
Rigging & hardware $161.31
1.7mm aluminum crimp sleeves (500 pack) 1 $38.14 $38.14 Amazon
GE silicone adhesive 3 $11.43 $34.30 Amazon
200LB monofilament 1 $16.34 $16.34 Amazon
Cheap crimping tool 1 $15.90 $15.90 Amazon
1/4"-20 x 1/2" flanged bolts (bulk pack) 1 $15.25 $15.25 Amazon
Mini carabiners (20 pack) 1 $13.07 $13.07 Amazon
#8 stainless steel flat washers (36 pack) 3 $4.34 $13.01 Lowe's
1/4-20 x 2-1/4" hex head bolts (10 pack) 1 $8.77 $8.77 Amazon
1/4-20 nylon locking nuts (bulk pack) 1 $6.53 $6.53 Amazon
Paint $104.47
Rust-Oleum Universal Gloss White spraypaint 8 $13.06 $104.47 Lowe's
Total $1,669.69