Your Source for 2 and 3 Bedroom Tiny Houses
Can Tumbleweed Build This House For Me?
No. We only build Tiny House RVs on wheels. These houses are built on a foundation and require a contractor that is licensed in your state to build it. They can be either a primary residence or an ADU.
What Help Can I Get From You?
We partnered with houseplans.com to provide all the services you would need from modifications to permit approval.
Examples of Homes Built From These Plans
9 Plans to Choose From

Harbinger

Sebastarosa

New Vesica
== use strict";
$(document).ready(function () {
function slideToImageId($carousel, imageId) {
$carousel.find('.locatable-image[data-image-id="' + imageId + '"]').each(function () {
var position = $(this).data('image-position');
$carousel.slick('slickGoTo', position, true);
});
}
$('.reverse-image-button').click(function () {
var $this = $(this),
$image = $this.parent().find('img');
if ($image.hasClass('reversed-image')) {
$image.removeClass('reversed-image');
} else {
$image.addClass('reversed-image');
}
return false;
});
$('a.fancybox').fancybox({
nextEffect: 'none',
prevEffect: 'none'
});
var $galleryCarousel = $('.gallery-carousel'),
$galleryCarouselWrapper = $('.gallery-carousel-wrapper'),
$featureImageCarousel = $('.feature-carousel');
$galleryCarousel.slick({
slidesToShow: 5,
slidesToScroll: 5,
slide: '.slide',
arrows: true,
vertical: true,
prevArrow: $galleryCarouselWrapper.find('.prev'),
nextArrow: $galleryCarouselWrapper.find('.next'),
lazyLoad: 'ondemand'
});
if ($galleryCarousel.find('.slide').length -1) {
maxHeight = parseInt(lineHeight) * linesToShow;
} else {
if (!lineHeight) {
lineHeight = DEFAULT_LINE_HEIGHT;
}
if (!fontSize) {
fontSize = DEFAULT_FONT_SIZE;
}
maxHeight = parseFloat(lineHeight) * fontSize * linesToShow;
}
if (maxHeight && $container.height() > maxHeight) {
$container.css('maxHeight', maxHeight);
$container.append('');
$container.on('click', '.expand', function () {
$container.css('maxHeight', 'none');
$container.find('.read-more').remove();
});
}
});
var $relatedPlansCarousel = $('.plan-carousel');
$relatedPlansCarousel.slick({
slidesToShow: 1,
slidesToScroll: 1,
arrows: true,
slide: '.row',
prevArrow: $relatedPlansCarousel.find('.prev-arrow'),
nextArrow: $relatedPlansCarousel.find('.next-arrow'),
lazyLoad: 'ondemand'
});
if (window.location.hash !== '' && window.location.hash.length > 4) {
var imageId = parseInt(window.location.hash.substring(4), 10);
if (!isNaN(imageId)) {
slideToImageId($featureImageCarousel, imageId);
slideToImageId($galleryCarousel, imageId);
}
}
});
var CartOptions = function ($cartForm, planPdfAvailability) {
this.PLAN_SET_OPTION = 'plan-set';
this.FOUNDATION_OPTION = 'foundation';
this.MATERIAL_LIST_OPTION = 'material-list';
this.RIGHT_READING_REVERSE_OPTION = 'right-reading-reverse';
this.ADDITIONAL_CONSTRUCTION_SETS_OPTION = 'additional-construction-sets';
this.MIRROR_REVERSED_SETS_OPTION = 'mirror-reverse-sets';
this.FIVE_COPY_SET_DESCRIPTION = '5 Copy Set';
this.EIGHT_COPY_SET_DESCRIPTION = '8 Copy Set';
this.PDF_SET_DESCRIPTION = 'PDF Set';
this.$cartForm = $cartForm;
this.planPdfAvailability = planPdfAvailability;
this.$planPdfAvailable = this.$cartForm.find('.plan-pdf');
this.$selectedPlanSetContainer = $('#selected-plan-set');
this.$selectedPlanSetPriceContainer = $('#selected-plan-set-price');
this.$planSetValueHolder = $('#plan-set-value-holder');
this.$selectedFoundationContainer = $('#selected-foundation');
this.$selectedFoundationPriceContainer = $('#selected-foundation-price');
this.$foundationValueHolder = $('#foundation-value-holder');
this.$selectedPlanSetOption = this.$cartForm.find('[data-option-type="' + this.PLAN_SET_OPTION + '"]').first();
this.$selectedFoundationOption = this.$cartForm.find('[data-option-type="' + this.FOUNDATION_OPTION + '"]').first();
this.$materialListOption = this.$cartForm.find('[data-option-type="' + this.MATERIAL_LIST_OPTION + '"]').first();
this.$rightReadingReverseOption = this.$cartForm.find('[data-option-type="' + this.RIGHT_READING_REVERSE_OPTION + '"]').first();
this.$additionalConstructionSetsOption = this.$cartForm.find('[data-option-type="' + this.ADDITIONAL_CONSTRUCTION_SETS_OPTION + '"]').first();
this.$mirrorReverseSetsOption = this.$cartForm.find('[data-option-type="' + this.MIRROR_REVERSED_SETS_OPTION + '"]').first();
this.$additionalOptionsWrapper = $('#additional-options-wrapper');
this.$additionalOptions = $('#additional-options');
this.$additionalOptionsToggle = $('#show-additional-options');
this.$subtotal = $('#subtotal');
this.$constructionCopyOptions = $('#construction-copy-options');
this.BASE_PRICE = parseFloat(this.$subtotal.data('base-price'));
this.subtotal = this.BASE_PRICE;
this.savings = 0;
this.$savings = $('#discount-savings-amount');
this.$cartForm.on('click', 'li[data-option-type="' + this.PLAN_SET_OPTION + '"]', $.proxy(this.selectPlanSet, this));
this.$cartForm.on('click', 'li[data-option-type="' + this.FOUNDATION_OPTION + '"]', $.proxy(this.selectFoundation, this));
this.$rightReadingReverseOption.on('change', $.proxy(this.update, this));
this.$materialListOption.on('change', $.proxy(this.update, this));
this.$additionalConstructionSetsOption.on('change', $.proxy(this.update, this));
this.$mirrorReverseSetsOption.on('change', $.proxy(this.update, this));
this.$additionalOptionsToggle.on('click', $.proxy(this.toggleAdditionalOptions, this));
};
$.extend(CartOptions.prototype, {
update: function () {
this.updatePlanSetOption();
this.updateAdditionalOptions();
this.setMaxMirrorReverseSets();
this.updateFoundationOption();
this.updateSubtotal();
this.updatePlanPdfAvailability();
},
updatePlanPdfAvailability: function () {
var show = false;
if (this.$selectedPlanSetOption.data('plan-set-description') === this.PDF_SET_DESCRIPTION) {
var foundationRightReadingReverse = this.$selectedFoundationOption.data('foundation-description') + ':' + this.$rightReadingReverseOption.is(':checked');
if (_.indexOf(this.planPdfAvailability, foundationRightReadingReverse) > -1) {
this.$planPdfAvailable.show();
show = true;
}
}
if (!show) {
this.$planPdfAvailable.hide();
}
},
selectPlanSet: function (event) {
var $element = $(event.currentTarget);
this.$selectedPlanSetOption.removeClass('selected');
this.$selectedPlanSetOption = $element;
this.$selectedPlanSetOption.addClass('selected');
this.update();
},
selectFoundation: function (event) {
var $element = $(event.currentTarget);
this.$selectedFoundationOption.removeClass('selected');
this.$selectedFoundationOption = $element;
this.$selectedFoundationOption.addClass('selected');
this.update();
},
updatePlanSetOption: function () {
this.$selectedPlanSetContainer.text(this.$selectedPlanSetOption.data('plan-set-description'));
this.$selectedPlanSetPriceContainer.text(this.$selectedPlanSetOption.data('display-price'));
this.$planSetValueHolder.val(this.$selectedPlanSetOption.data('value'));
},
updateFoundationOption: function () {
this.$selectedFoundationContainer.text(this.$selectedFoundationOption.data('foundation-description'));
this.$selectedFoundationPriceContainer.text(this.$selectedFoundationOption.data('display-price'));
this.$foundationValueHolder.val(this.$selectedFoundationOption.data('value'));
},
updateAdditionalOptions: function () {
if (this.$selectedPlanSetOption.data('plan-set-description') === this.FIVE_COPY_SET_DESCRIPTION || this.$selectedPlanSetOption.data('plan-set-description') === this.EIGHT_COPY_SET_DESCRIPTION) {
this.$additionalConstructionSetsOption.attr('disabled', false);
this.$mirrorReverseSetsOption.attr('disabled', false);
this.$constructionCopyOptions.slideDown();
this.$additionalOptionsWrapper.slideDown();
} else {
this.$additionalConstructionSetsOption.attr('disabled', true);
this.$mirrorReverseSetsOption.attr('disabled', true);
this.$additionalConstructionSetsOption.find('option:first').attr('selected', true);
this.$mirrorReverseSetsOption.find('option:first').attr('selected', true);
// if there are other additional options other than additional copies, hide only those, otherwise hide this whole section since it's now empty
if (this.$materialListOption.length || this.$rightReadingReverseOption.length) {
this.$constructionCopyOptions.slideUp();
this.$additionalOptionsWrapper.slideDown();
} else {
this.$additionalOptionsWrapper.slideUp();
}
}
},
updateSubtotal: function () {
this.subtotal = this.BASE_PRICE + parseFloat(this.$selectedPlanSetOption.data('price')) + parseFloat(this.$selectedFoundationOption.data('price'));
this.savings = parseFloat(this.$selectedPlanSetOption.data('savings')) + parseFloat(this.$selectedFoundationOption.data('savings'));
if (this.$rightReadingReverseOption.is(':checked')) {
this.subtotal += parseFloat(this.$rightReadingReverseOption.data('price'));
this.savings += parseFloat(this.$rightReadingReverseOption.data('savings'));
}
if (this.$materialListOption.is(':checked')) {
this.subtotal += parseFloat(this.$materialListOption.data('price'));
this.savings += parseFloat(this.$materialListOption.data('savings'));
}
if (this.$additionalConstructionSetsOption.length) {
this.subtotal += parseFloat(this.$additionalConstructionSetsOption.find('option:selected').data('price'));
this.savings += parseFloat(this.$additionalConstructionSetsOption.find('option:selected').data('savings'));
}
if (this.$mirrorReverseSetsOption.length) {
this.subtotal += parseFloat(this.$mirrorReverseSetsOption.find('option:selected').data('price'));
this.savings += parseFloat(this.$mirrorReverseSetsOption.find('option:selected').data('savings'));
}
if (this.$savings.length) {
this.$savings.text(this.savings.toFixed(2));
}
this.$subtotal.text(this.subtotal.toFixed(2));
},
toggleAdditionalOptions: function (event) {
event.preventDefault();
this.$additionalOptions.slideToggle();
this.$additionalOptionsToggle.toggleClass('open');
},
setMaxMirrorReverseSets: function () {
if (this.$mirrorReverseSetsOption.length) {
var max = 0;
if (this.$selectedPlanSetOption.data('plan-set-description') === this.FIVE_COPY_SET_DESCRIPTION) {
max += 5;
}
if (this.$selectedPlanSetOption.data('plan-set-description') === this.EIGHT_COPY_SET_DESCRIPTION) {
max += 8;
}
if (this.$additionalConstructionSetsOption.length) {
max += parseInt(this.$additionalConstructionSetsOption.find('option:selected').data('count'));
}
// at least one of the plan sets must be non-mirror-reverse
if (max max) {
$this.hide();
} else {
$this.show();
}
});
if (this.$mirrorReverseSetsOption.find('option:selected').data('count') > max) {
this.$mirrorReverseSetsOption.find('[data-count="' + max + '"]').attr('selected', true);
}
}
}
});























