Adam during a freediving breathe-up

Clearwave Designs

I build your ideasSM.

  • Volunteer (
  • William Trubridge
  • MelaTracker
  • The Code Editor
  • Vertical Blue
  • Suunto Vertical Blue 2015
  • I
  • build
  • your
  • ideas.SM
  • Clearwave Designs Icon

Hi. I'm Adam.

I'm a full stack web developer (emphasis on front-end), creator of the BuoyantJS framework, and an inland freediver.



  • Suunto Vertical Blue 2015 competition site launched!

    This year's VB2015 competition at Dean's Blue Hole, Bahamas is now posted live at The 9-day event starts in one week, April 27th, 2015!

    Suunto Vertical Blue 2015 website screenshot
  • BuoyantJS Web App Launched

    The new BuoyantJS web app and documentation is now available at!

    The BuoyantJS versioning was reset to version 1.0.0. after several major adjustments and major enhancements.

  • BuoyantJS v1.0.3 (Framework & Library) released.

    Code-breaking syntax change on the "css" method.

    You now provide a property and value as two separate parameters (milliseconds as optional third), or provide an object as the first parameter (milliseconds as optional second).

  • BuoyantJS v1.0.2 (Framework & Library) released.

    Added an "off" method to remove listeners (included delegated listeners)

    Fixed scope of event delegation on the "on" method

    Fixed scope of the "find" method

    • 16KB Minified (15.4KB)
    • BuoyantJS Framework (only) 7KB (6.92KB)
    • BuoyantJS Library (only) 9KB (8.59KB)
  • BuoyantJS v1.0.1 (Framework & Library) released!

    BuoyantJS is no longer in beta and was released today on this website and the code editor.

    • BuoyantJS 15.1KB minified
      • BuoyantJS Framework (only) 7.43KB minified
      • BuoyantJS Library (only) 7.85KB minified
    • The BuoyantJS framework has had tremendous changes including:
      • Simplified controller syntax
      • Clean URL on single-page navigation with back-button support
      • Independent controllers including ones outside the view
      • AJAX with two-way data-binding
      • For each data-binding
      • Simplified JSON handling (stringification is automatically performed when AJAXed)
      • Any namespace/prefix can be used in the markup

    BuoyantJS will be fully documented in the next several weeks on the BuoyantJS page.

  • Major Version Update to the BuoyantJS Framework

    BuoyantJS was pushed to production today with some new features:

    • The entire framework (library included) is only 13KB!
    • Minification/uglify proof
    • Simplified Controller and Model/Script integration
    • Ideal handling of views/HTML
    • Routing
      • Instant view & model change using the controller on link click
      • Vanity URLs
      • Support for hash and hash-bang
    • AJAX/HTTP now supports
      • text, HTML, JavaScript, JSON, and XML
      • GET/POST
      • success, error, and finally callbacks
    This version requires a slightly different syntax for adding controllers.
  • BuoyantJS framework handles as many MVC's as you want!

    BuoyantJS was pushed to production today with some new features:

    • Only 9K minified! The entire framework with D.O.M. querying/manipulation and this new MVC two-way data-binding is only 9KB!
    • Supports the full MVC pattern now! (NOTE: You can survive minification if you stringify the MVC property names on the MVC object)
    • You provide your own Model (script), View (markup) and Controller (scope name)
    • Run (and/or re-run) any controller at any time! (NOTE: multiple MVC's on a single page are not allowed, but can be swapped instantly!)
    • Performance enhanced just a tad
    This version requires an implementation change using an object with the MVC properties versus the controller and script arguments only.
  • BuoyantJS Framework w/ Repeating Content (which includes data-binding)!

    BuoyantJS was pushed to production today with repeating content (which includes data-binding)!

  • BuoyantJS Framework w/ Event Listners on Markup!

    BuoyantJS was pushed to production today with attibute listeners of "click," "keyup," and "change"!

  • BuoyantJS Framework w/ Event Delegation

    BuoyantJS was pushed to production today with event delegation!

    Example syntax: $('body').on('click', 'input', function() { $(this).css('background:#08f'); });

    See the BuoyantJS page here for more info.

  • BuoyantJS Framework w/ Two-way Data-binding!

    BuoyantJS was pushed to production today for this site only with the new two-way data-binding features and ability to use endless controllers!

    See the BuoyantJS page here for more info.

  • FlagstoneJS released!

    FlagstoneJS is a reponsive tiling plugin, ordering HTML elements from left to right and filling in where there is the most available space.

    Demo it here or on Github.

    FlagstoneJS screenshot
  • BUOYANT.JS (framework)

    The Buoyant framework (BuoyantJS), is a DOM and data-binding framework originally built for this site.

    See the BuoyantJS page here for more info and try it yourself on the editor!

    This was built last year about the same time and has since been added on to, and cleaned up. Currently, event delegation and data-binding is being added.

    The syntax and method naming conventions mostly match jQuery as to not confuse coding between similar libraries. I've never read the jQuery code, but it appears to work the same way.

    This framework currently has:

    • 30+ methods (including setters/getters)
      • on
      • each
      • find
      • addClass
      • removeClass
      • toggleClass
      • fadeIn
      • fadeOut
      • css
      • parent
      • child
      • children
      • siblings
      • prev
      • next
      • html
      • text
      • val
      • selectedIndex
      • attr
      • removeAttr
      • focus
      • remove
      • width
      • height
      • length
      • exists
    • AJAX
    • Data-binding (in development)


    • The new fully responsive was launched today!
    • Brand new gallery that's mobile friendly now!
    • Huge improvements overall on mobile phones.


    • The new fully responsive was launched today!
    • Brand new gallery that's mobile friendly now!
    • Huge improvements overall on mobile phones.
    • The new archive site for Vertical Blue was launched housing a single location for all archived news.


    • The new fully responsive was launched today!
    • Fully responsive – so it fits on every device.
    • Huge improvement on mobile phones.
    • Added a wave effect to the page links.


    • The new fully responsive was launched today!
    • Fully responsive – so it fits on every device.
    • Huge improvement on mobile phones with background and diveline navigation!


    • The new template framework for the Vertical Blue sites is complete!
    • Added syntax highlighting for the code editor which was incredibly time consuming and crazy complicated.

    Today's updates:

    • Made the code editor have a dark theme to help eliminate any confusion between that and the blog code editor.
    • Ironed out some of the methods in the clearwavedesigns.min.js JavaScript library and also built some new ones.
    • Added some more S.E.O. to this site.
    • A rework on the Vertical Blue websites begins today!

    Today's updates:

    • Added download functionality for snippets made in the code editor.
    • The website is print-friendly now.
  • CLEARWAVEDESIGNS.COM v3.0b released

    What seems to be the last major updates, I've fixed a couple bugs and enhanced the sight with a few new features:

    • Blog/tutorials will now have examples via a button that populate a blog code editor for instant viewing and experimenting!
    • Modal for external sites
    • Fun and useful "404 File Not Found" page.
    • Bug fixes on mobile
  • CLEARWAVEDESIGNS.COM v3.0a released

    First public beta release of the new version of!

    The blog page is completely under construction, but the rest are very usable.

    Notable features are:

  • "Live Window Size" Google Chrome Extension development complete!

    This is an awesome extension that will be made available here and on the Google Chrome extensions page when open source approval is given to release it to the general public.

  • VB2013 freediving competition site launched

    The Vertical Blue 2013 freediving competition site was the largest responsive stats site I had made to-date. This site's statistics were dynamic and allowed for instant updating in a very friendly responsive mobile layout for William Trubridge on the diving dock.

    • Fully esponsive stats/website
    • Dynamically updated during the competition
    • Slideable navigation using the "dive line"
    • Animated graphs on the overall results page

    The competition ended suddenly with the most unfortunate death of Nicholas Mevoli whose image and stats can be seen on the site with a simple memorial.


Current / Upcoming

  • TBA