No longer think this site is great

If you don’t mind using user scripts, there is one that will hide the meaning during lessons at first.

You can also customize that script to only hide the meaning for kanji (and not vocab) if you prefer. For example, here’s my edited version that only hides for vocab. You can probably replace vocabulary everywhere with kanji to get that effect.

// ==UserScript==
// @name        Wanikani Lesson Spoiler Removal
// @namespace   Mempo
// @description Hides the meaning below kanji and vocab on lesson pages
// @include
// @version     4
// @run-at      document-end
// @grant       none
// ==/UserScript==

(function() {
    'use strict';


    var css = '#main-info #meaning {visibility:visible;} #main-info.vocabulary #meaning {visibility:hidden;} #main-info.vocabulary:hover #meaning {visibility:visible !important;}';
    $('head').append('<style type="text/css">' + css + '</style>');


    $('body').click(function(e) {
        $('#main-info #meaning').css('visibility', '');

        if ($('#supplement-nav ul').text() === 'meaning' || $('#supplement-nav ul').text() === 'Meaning') {
            $('#main-info.vocabulary #meaning').css('visibility', 'visible');
        } else {
            $('#main-info.vocabulary #meaning').css('visibility', 'hidden');