OR you could use a smarty function in combination with the existing menu.
Currently the Site Builder menu is created with the /modules/jrSiteBuilder/templates/menu.tpl file.
You can over-ride that with normal system by copying it to the skin your using and calling it jrSiteBuilder_menu.tpl.
Docs: "Altering a modules template"
https://www.jamroom.net/the-jamroom-network/documentation/module-developer-guide/1051/altering-a-modules-template
The current menu.tpl file looks like this:
{foreach $_list as $_l0}
<li {if $_post.module_url == $_l0.menu_url}class="active"{/if}>
<a href="{if $_l0.menu_url|substr:0:4 === 'http'}{$_l0.menu_url}{elseif $_l0.menu_url|substr:0:1 === '#'}{$_l0.menu_url}{else}{$jamroom_url}/{$_l0.menu_url}{/if}" onclick="{$_l0.menu_onclick}" class="menu_0_link" data-topic="{$_l0.menu_url}">{$_l0.menu_title}</a>
{if is_array($_l0._children)}
<ul>
{foreach $_l0._children as $_l1}
<li>
<a href="{if $_l1.menu_url|substr:0:4 === 'http'}{$_l1.menu_url}{elseif $_l1.menu_url|substr:0:1 === '#'}{$_l1.menu_url}{else}{$jamroom_url}/{$_l1.menu_url}{/if}" onclick="{$_l1.menu_onclick}" >{$_l1.menu_title}</a>
{if is_array($_l1._children)}
<ul>
{foreach $_l1._children as $_l2}
<li><a href="{if $_l2.menu_url|substr:0:4 === 'http'}{$_l2.menu_url}{elseif $_l2.menu_url|substr:0:1 === '#'}{$_l2.menu_url}{else}{$jamroom_url}/{$_l2.menu_url}{/if}" onclick="{$_l2.menu_onclick}" >{$_l2.menu_title}</a></li>
{/foreach}
</ul>
{/if}
</li>
{/foreach}
</ul>
{/if}
</li>
{/foreach}
You can adjust it by passing it first into your own smarty function
Docs: "Defining your own SMARTY function"
https://www.jamroom.net/the-jamroom-network/documentation/module-developer-guide/1569/defining-your-own-smarty-function
So it becomes
{xxYourCustom_something list=$_list assign="_list"}
{foreach $_list as $_l0}
....... the same stuff as it was before
{/foreach}
So in your custom function you accept the current list and adjust as necessary.
OR you could inject via other listener parameters before the template is reached.