The Boat Project, Part 1: “Dude, we should just build a damn boat”

Chris Sullivan
8 min readAug 1, 2016

--

This all started a little over a year ago. My brother Tom had recently moved out of the city, to a house on the beach in Pacifica. In his new garage, he was getting back into wood working, and our long-running “Dude, we should just build a damn boat” joke was starting to manifest itself. We’re both trained engineers; he does construction management and is bothersomely good with his hands, and my career has revolved around aerospace vehicle engineering. We grew up immersed in nautical culture.

This was going to happen sooner or later.

Top: Sullivan trio (Tom, Chris, Dad) fishing in 2004. Left: Me and dad in 1986. Right: The Sullivan clan OGs in New York, 1930s: Great Aunt Dorothy, Grandpa Bud, and Great Uncle Dan. Bottom: Tom and I rowing the Grand Canyon, 2012. So, yeah, we like boats.

I’ll keep the backstory brief. Our Sullivan clan is what I’ll call third generation boat people. We grew up spending every weekend in harbors or at sea with our father fishing. Our dad was an impressive sailor and indomitable optimist, which led to plenty of questionable “We got this, no problem” boating adventures in our formative years. These served as a good crash course in the power, danger, and impressive beauty of the sea, planting roots of preoccupation while instilling healthy doses of respect for it.

Dad was brought up in nautical culture by his Uncle Dan, a maritime lawyer in New York (rightmost in the oldest photo), who was part of the post-WW2 social movement of middle class families taking up fairly-affordable leisure boating. This was kind of a big deal, recall that in the early industrialized world, leisure anything was a weird concept for the middle class. Our first family boat, far as I can tell, was The Albacore, a small sailboat (pictured left) in the 1940s, a popular and elegantly simple design of the time.

So Tom and I finally sat down to battle plan how and what kind of sea craft we were going to build from scratch. We settled on a flat-bottom rowboat we could beach-launch, and later convert to a sailboat, for starters. My real bucket list goal is to helm a genuine sailboat I’ve designed and built myself, however long it takes me, and at certain detriment to my savings account.

A few surprising things jumped out after hours of Googling amateur boatbuilding. Most obviously, the hobby is pretty under-represented in the modern digital world (not surprising). It seems comprised of a few basic workflows: (1) Buy our boat building kit and assemble yourself, or (2) Hey here’s some schematics I made once, download them and go for it.

Both paths are pretty limiting. You have little or no control over how your boat looks, sizing, etc. I wanted to create something more individualized, more unique.

There was also a third, equally frustrating but common search result, (3) “Here’s me, the industrial designer, ‘designing’ a boat in some artistic rendering software on YouTube.” It’s beautiful, isn’t it? How does one actually build this work of art, you say? Oh, beats me. But it’s gorgeous, right?

Suffice to say I was pretty underwhelmed that in a burgeoning DIY/open-source movement era, no one had really come up with a prominent, freely available, parametric, community software project that let people create and download their own small craft designs…

Bam.

Incepted. Yep. Instant obsession. No turning back, Christopher. Put down that beer. Tony-Stark-Mark-Watney Mode: Engaged. We’re going to science the shit out of this.

Tom had mixed feelings about his brother’s newfound obsession. On the one hand, it made a lot of sense that the two of us could figure out a boat design ourselves, and make it actually happen. On the other hand, his brother was clearly becoming obsessed with engineering the “general solution”, which was going to sink a lot more time, and delay any actual boat construction.

About this time, fate decided to pile it on. Jumping between drone startups, I took a month traveling Scandinavia, which only fueled the fire. Standing in front of ancient Viking ships, inspecting their design, it really started to sink in: These fucking neanderthals (respectfully) crossed oceans in this shit. And they could barely grasp the concept of zero.

The Oseberg Ship, one of the only remaining fully intact Viking ships. The Viking Ship Museum in Oslo, Norway

Modern Scandinavian’s seafaring pride was also clearly on display, and I noticed a plethora of hand-built wooden boats lining Fjord shores of small towns. It struck me as something of a rural Norwegian rite of passage, building your own aquatic craft, and it resonated with me.

I spent hours on trains during my trip between destinations, digging more and more into nautical engineering. As impressive as the ancient history of shipbuilding was, there were aspects of it that dumbfounded me:

“Traditionally, naval architecture has been more craft than science. The suitability of a vessel’s shape was judged by looking at a half-model of a vessel or a prototype. Ungainly shapes or abrupt transitions were frowned on as being flawed. This included rigging, deck arrangements, and even fixtures. Subjective descriptors such as ungainly, full, and fine were used as a substitute for the more precise terms used today.”

Coming from the aerospace world, where every aspect of vehicle dynamics, structures, and stability are quantified and modeled with doctoral thesis-level scrutiny, I had a hard time wrapping my head around this. For thousands of years, people just looked at hull designs and said, “Yeah, that looks about right. Very… fine?”

I could do better. It was time to science this. I spent a long time thinking about what exactly the scope of the project should be. I knew I wanted to write software that was going to make it easy to create schematics necessary to build a wooden boat from scratch. I wanted it to be easy for anyone to use. I wanted to work out some underlying geometry, and distill it down to a few dozen parameters people could experiment with, interactively, to design their own boat, without a lick of engineering experience. I wanted this to be an open-source project, eventually. I wanted it to run in your browser, so there’s nothing to download except your final layout. I figured, at least at first, I’d need to build a web server application to handle the heavier computation unsuitable for (my abilities in) javascript.

The relationship between Center of Gravity, Weight, Center of Buoyancy, and Buoyant force mostly describes the basic stability of ships.

Having worked in vehicle stability and control, I also wanted to be able to quickly assess the basic stability of these designs, quantitatively. Equally important, I wanted do it in such a way that people would be interested in understanding how these principles worked, no prior physics knowledge required.

This was going to be awesome. The range of disciplines involved would span mechanical engineering, static structures, fluid dynamics, computer science, software engineering, woodworking, and manufacturing processes/CNC milling.

First screenshot of something vaguely resembling a boat design, automatically generated from configuration parameters in Matlab, summer 2015.

A few weeks in, I had worked out a basic parametric algorithm in Matlab to convince myself I wasn’t crazy about my ability to automatically generating hull designs from a few parameters. A couple months later, I ported the algorithm to Python and integrated with Blender, so this could become a proper software project. I found a few designs on the internet I thought would make good references to shoot for (below).

Blender rendering of an early design, generated in python spring 2016 (left), and a reference flat-bottom boat (right)
Laying out parts (poorly) for CNC milling

One critical aspect of the project would be translating the 3d designs into actual 2d layouts for manual cutting, or CNC milling. I’m going to dedicate an entire post to how I’m going about optimizing this step later. It’s an intriguing computer science problem and greatly impacts material cost.

I’d also need some kind of preliminary web interface. My javascript skills are best described as “insulting to the craft”, so pretty soon here I’ll need to buy one of my fellow DroneDeploy engineers with some real javascript know-how a 12-pack, in exchange for a weekend redesign. But I was able to throw together something half-passable, leveraging ThreeJS/WebGL.

Although I wasn’t happy with the UI, once I got this part working, things really started coming together. For the first time, I was able to actually do what I had set out to: Rapidly iterate on a boat design, and export the necessary schematics to build it.

As it’s starting to appear that I might actually pull this off, I’ve been getting encouragement from friends and coworkers that documenting the project should now be considered a must. So over the next few weeks/months, I’ll periodically post updates. This month I’ll mostly back-fill how I’ve gotten to this point. It’s been pretty hard not to word vomit the entire thing right here, right now.

I’ll dedicate a post to the basics of my boat design algorithm and how I’d like to extend it in the future. Then I’ll write about the scale model we’re working on, and how CNC milling is going to come into play. In addition to using the scale model as an iterative verification tool for theory, it’ll just be awesome to have a scale model of a boat we eventual launch.

After iterating on a scale model, it’ll be time to put the finishing touches on a final design. Then we’ll cut the wood, assemble, fiberglass, and then probably die at sea on the maiden voyage, according to my friends taking side bets. All the while, I’ll be working on the software engineering part of the process as well; getting this puppy in shape for public consumption and participation, and building out basic stability analysis visualizations. Once the hardware starts coming to life, I’ll make a few How-To videos, demonstrating us going through the entire design-to-build process.

Should be a trip, however it turns out. I’m still not sure what to call the project. HullDesigner and OpenBoat seem pretty boring, if descriptive. Brother suggested Operation Vaander Splunken, which translates to nothing sensical but does sound pretty great. Open to all suggestions people have, from engineering principles to marketing names :)

The Big Leagues of nautical engineering: Oracle Team USA’s Trimaran USA-17, “The Beast”, circa 2010

--

--

Chris Sullivan

Aerospace engineer, history nerd, maritime romantic, basketball aficionado.