, but this code // executes before the first paint, when

Ƶ

is not yet present. The // classes are added to so styling immediately reflects the current // toolbar state. The classes are removed after the toolbar completes // initialization. const classesToAdd = ['toolbar-loading', 'toolbar-anti-flicker']; if (toolbarState) { const { orientation, hasActiveTab, isFixed, activeTray, activeTabId, isOriented, userButtonMinWidth } = toolbarState; classesToAdd.push( orientation ? `toolbar-` + orientation + `` : 'toolbar-horizontal', ); if (hasActiveTab !== false) { classesToAdd.push('toolbar-tray-open'); } if (isFixed) { classesToAdd.push('toolbar-fixed'); } if (isOriented) { classesToAdd.push('toolbar-oriented'); } if (activeTray) { // These styles are added so the active tab/tray styles are present // immediately instead of "flickering" on as the toolbar initializes. In // instances where a tray is lazy loaded, these styles facilitate the // lazy loaded tray appearing gracefully and without reflow. const styleContent = ` .toolbar-loading #` + activeTabId + ` { background-image: linear-gradient(rgba(255, 255, 255, 0.25) 20%, transparent 200%); } .toolbar-loading #` + activeTabId + `-tray { display: block; box-shadow: -1px 0 5px 2px rgb(0 0 0 / 33%); border-right: 1px solid #aaa; background-color: #f5f5f5; z-index: 0; } .toolbar-loading.toolbar-vertical.toolbar-tray-open #` + activeTabId + `-tray { width: 15rem; height: 100vh; } .toolbar-loading.toolbar-horizontal :not(#` + activeTray + `) > .toolbar-lining {opacity: 0}`; const style = document.createElement('style'); style.textContent = styleContent; style.setAttribute('data-toolbar-anti-flicker-loading', true); document.querySelector('head').appendChild(style); if (userButtonMinWidth) { const userButtonStyle = document.createElement('style'); userButtonStyle.textContent = `#toolbar-item-user {min-width: ` + userButtonMinWidth +`px;}` document.querySelector('head').appendChild(userButtonStyle); } } } document.querySelector('html').classList.add(...classesToAdd); })(); Casting a successful senior engineering design project - News & Stories | Ƶ

Ƶ

Skip to main content

Calvin News

Casting a successful senior engineering design project

Fri, Apr 25, 2025

With a fishing pole harnessed around his waist, senior Jack Doorlag with the push of a button casts a lure about 30 yards into the seminary pond on campus. With another push of a button he begins to slowly reel it in.

“Going from the conception of the idea all the way to making it something that works and something that works well, the satisfaction from that is intense,” said senior John Gibes.

Doorlag, Gibes, Samantha Beebe, Kyle Miedema, and Peter Wright comprise “Cast-A-Ways,” one of the 18 senior design teams of engineering majors who work to design and implement a solution tailored to meet a specific community in need.

Reluctant to set the line

For these five seniors, they almost didn’t even cast their idea …

“We sent Professor Hartemink a list of ideas last fall that we had for the project and during the meeting we were walking through some of the other ideas and then we were like, ‘do we even talk about the fish one or should we skip it?’ recalls Gibes.

They did mention it and the idea got a bite.

“Hartemink was like, ‘oh, I really like that one, a lot of these accessibility projects can make real interesting senior design projects,” said Gibes. “So, we’re glad we brought it up.”

Discovering a novel solution

So this past fall, the team started to get to work, creating a solution for individuals with limited upper-body mobility who find it difficult to participate in the traditional ways of inland lake fishing. Over the past academic year, the group developed a novel solution that leverages their mechanical and electrical engineering background.

“This solution eliminates the repetition of casting and then reeling,” said Gibes. “If you have arthritis or joint issues, that could be an issue or a barrier.”

“There’s really not anything like it,” said Wright. “There are a few that just do the casting or the reeling, but something that combines both and has a harness, there’s nothing like that.”

Learning along the way

While the team’s end product is impressive, they perhaps are most satisfied with the learning process to get there.

Image
Three engineering students testing out a prototype of their fishing pole indoors.

“We have a prototype graveyard covered with all of our old parts,” said Beebe. “You design something on CAD and you’re like ‘that will fit perfect,’ and then you make it and you realize the real world isn’t perfect and so you have to keep testing and keep prototyping stuff, so that’s been a big learning experience for me.”

“Going back and looking at our first sketches, I can’t believe we thought that would work,” said Gibes. “And now it’s refined to the point where it’s not market-ready yet, there are a few bugs to still work out, but we can now demonstrate that our idea works and you could, given enough time, catch a fish on this.”

Team “Cast-A-Way,” along with the other 17 teams of senior design students will present and demonstrate their prototypes during the on Saturday, April 26 from 1:30-3:45 p.m. in the Spoelhof Fieldhouse Complex.


Authors: