matt@bellevebricks.com

Belle-Ve Bricks

Building Brands,
Brick by Brick.

About Belle-Ve Bricks

Crafting Unique Brick Models with Passion and Precision

Who We Are

At Belle-Ve Bricks, we are passionate about creating custom brick models that inspire and connect. Our love for building has guided us through various ventures, but our dedication to innovative and creative models remains unwavering.

Our Journey

Eight years ago, we discovered the vibrant community of custom model creators. Inspired by their creativity, we shifted our focus from retailing standard sets and components to immersing ourselves in the world of custom models. This transition allowed us to explore new horizons and contribute uniquely to the community we love.

The Best Custom Models and Creations

Unleash your creativity or express your brand with our range of prebuilt and custom models. Whether you’re seeking a unique display piece or a tailored design, we offer solutions that bring your ideas to life.

Belle-Ve Bricks is driven by dedicated enthusiasts Matthew Mitchell and Ferdi Vol (find us on LinkedIn). Together, they’ve built a community of like-minded individuals who appreciate the art of collecting, designing, and engaging with custom models. Their mission goes beyond business; they aim to foster a family of enthusiasts. If you’re interested in building or designing, they warmly invite you to reach out.

<div class="badge-base LI-profile-badge" data-locale="en_US" data-size="large" data-theme="dark" data-type="HORIZONTAL" data-vanity="ferdi-vol" data-version="v1"><a class="badge-base__link LI-simple-link" href="https://nl.linkedin.com/in/ferdi-vol-corporate-gifts?trk=profile-badge"></a></div>
/* Auto generated, hash = 5dceu9kevqjdyuy2uw1atqrsu */
//TODO: Break this file down so that we can actually unit test it.
(function(window) {
  /**
  * Renders all unrendred LinkedIn Badges on the page
  */
  window.LIRenderAll = function () {
    var CALLBACK_NAME     = 'LIBadgeCallback', //Must match callback on helpers.js
        BADGE_NAMES       = '.LI-profile-badge, .LI-entity-badge',
        // TODO -- tracking param for other badge types
        TRACKING_PARAM    = 'profile-badge',
        responsesReceived = 0, //Keeps track of number of responses recieved for proper cleanup when finished
        expectedResponses = 0, //Keeps track of number of responses to expect
        scripts           = [ ], //Keeps track of scripts added for proper cleanup when finished
        childScripts      = {}, //Keeps track of child scripts to render
        badges            = Array.prototype.slice.call(document.querySelectorAll(BADGE_NAMES));

    var i, len, badge, rendered;
    for (i = 0, len = badges.length;  i < len; i++) {
      badge    = badges[i];
      rendered =  badge.getAttribute('data-rendered');
      if (!rendered) {
        expectedResponses++;
        badge.setAttribute('data-rendered', true);
        renderBadge(badge);
      }
    }

    function isCNDomain() {
      if (typeof window !== "undefined") {
        var hostName = window.location && window.location.hostname ||  '';
        return (/linkedin(-ei)?.cn$/).test(hostName);
      }

      return false;
    }

    function generateUrl(isEI) {
      var domainPrefix = isEI ? 'https://badges.linkedin-ei' : 'https://badges.linkedin';
      if (isCNDomain()) {
        return domainPrefix + ".cn/";
      }

      return domainPrefix + ".com/";
    }

    function getBadgeKeyQueryParams(badge) {
      return Array.prototype.slice.call(badge.attributes).filter(function (attr) {
        return attr.name.lastIndexOf('data-key-', 0) !== -1;
      }).map(function (attr) {
        // Most browsers automatically lowercase the attribute name when its being read
        // We are calling lowercase on it again to ensure consistency for any browsers that are lagging behind.
        return encodeURIComponent(attr.name.replace('data-', '').toLowerCase()) + '=' + encodeURIComponent(attr.value);
      });
    }

    /*
    * Renders a single badge on the page
    * @param badge: div element of badge to render
    */
    function renderBadge(badge) {
      var size       = badge.getAttribute('data-size'),
          locale     = badge.getAttribute('data-locale'),
          type       = badge.getAttribute('data-type'),
          theme      = badge.getAttribute('data-theme'),
          vanity     = badge.getAttribute('data-vanity'),
          version    = badge.getAttribute('data-version'),
          isEI       = badge.hasAttribute('data-ei'),
          entity     = badge.getAttribute('data-entity'),
          isCreatePage = badge.hasAttribute('data-iscreate'),
          uid        = Math.round(1000000 * Math.random()),
          baseUrl = generateUrl(isEI),
          queryParams = [
            'locale=' + encodeURIComponent(locale),
            'badgetype=' + encodeURIComponent(type),
            'badgetheme=' + encodeURIComponent(theme),
            'uid=' + encodeURIComponent(uid),
            'version=' + encodeURIComponent(version)
          ],
          url;

      if (version === 'v2') {
        baseUrl += 'view';
        queryParams.push('badgesize=' + encodeURIComponent(size));
        queryParams.push('entity=' + encodeURIComponent(entity));
        queryParams = queryParams.concat(getBadgeKeyQueryParams(badge));
      } else {
        baseUrl += 'profile';
        queryParams.push('maxsize=' + encodeURIComponent(size));
        queryParams.push('trk=' + encodeURIComponent(TRACKING_PARAM));
        queryParams.push('vanityname=' + encodeURIComponent(vanity));
      }

      if (isCreatePage) {
        queryParams.push('fromCreate=true');
      }

      url = baseUrl + '?' + queryParams.join('&');
      badge.setAttribute('data-uid' , uid);
      jsonp(url); //Calls responseHandler when done
    }

    /**
    * Handles a response from the server. Finds badge matching badgeUid and inserts badgeHtml there
    * @param badgeHtml: String representing contents of the badge
    * @param badgeUid: UID of the badge to target
    **/
    function responseHandler(badgeHtml, badgeUid) {
      responsesReceived ++;

      var i, badge, uid, isCreate;
      var defaultWidth = 330 // max possible width
      var defaultHeight = 300 // max possible height

      for (i = 0, len = badges.length; i < len; i++) {
        badge = badges[i];
        // isCreate needed to prevent reloading artdeco script tag
        isCreate = badge.getAttribute('data-iscreate');
        uid   = parseInt(badge.getAttribute('data-uid'), 10);
        if (uid === badgeUid) {
          var badgeMarkup = `<body>${badgeHtml}</body>`
          var iframe = document.createElement('iframe');
          iframe.onload = function() {
            var iframeBody = iframe.contentWindow.document.body;
            // 5 px buffer to avoid the badge border being cut off.
            iframe.setAttribute('height', (iframeBody.scrollHeight || defaultHeight) + 5);
            iframe.setAttribute('width', (iframeBody.scrollWidth || defaultWidth) + 5);
          };
          iframe.setAttribute('frameBorder', '0');
          iframe.style.display = 'block';
          badge.appendChild(iframe);
          iframe.contentWindow.document.open();
          iframe.contentWindow.document.write(badgeMarkup);
          iframe.contentWindow.document.close();
          replaceScriptTags(badge, isCreate);
        }
      }
      tryClean();
    }

  // These functions are needed because badge markup is added via innerHtml property which does not run script tags
  function replaceScriptTags(node, isCreate) {
    if (shouldReplaceNode(node, isCreate)) {
      node.parentNode.replaceChild(cloneScriptNode(node), node);
      childScripts[node.src] = true;
    } else {
      var i = 0,
          children = node.childNodes;
      while (i < children.length) {
        replaceScriptTags(children[i++], isCreate);
      }
    }
    return node;
  }

  function shouldReplaceNode(node, isCreate) {
    return isScriptNode(node) && !childScripts[node.src] && (!isCreate || (isCreate && !node.getAttribute('data-isartdeco')));
  }

  function isScriptNode(node) {
    return node.tagName === 'SCRIPT';
  }

  function cloneScriptNode(node){
    var script  = document.createElement("script");
    for( var i = node.attributes.length-1; i >= 0; i-- ) {
      script.setAttribute( node.attributes[i].name, node.attributes[i].value );
    }
    return script;
  }

    // Gets all incoming responses
    window[CALLBACK_NAME] = responseHandler;

    /**
    * Tries to clean added tags
    **/
    function tryClean() {
      //Clean up after all requests are done..
      //Accounts for people including script more than once
      var done = (responsesReceived >= expectedResponses && expectedResponses > 0) || responsesReceived >= badges.length;
      if (done) {
        delete window[CALLBACK_NAME];

        // remove all script tags
        scripts.map(function(script){
          document.body.removeChild(script);
        });

      }
    }

    /*
    * Makes Jsonp request, responses handles by CALLBACK_NAME
    * @param url String: url of server to make request to
    */
    function jsonp(url) {
      var script = document.createElement('script');
      script.src = url;
      scripts.push(script);
      document.body.appendChild(script);
    }
  };

  if (document.readyState === 'complete') {
    window.LIRenderAll();
  } else {
    window.addEventListener('load', window.LIRenderAll, false);
  }

})(window);
<div class="badge-base LI-profile-badge" data-locale="en_US" data-size="large" data-theme="dark" data-type="HORIZONTAL" data-vanity="matthew-mitchell-it" data-version="v1"><a class="badge-base__link LI-simple-link" href="https://uk.linkedin.com/in/matthew-mitchell-it?trk=profile-badge"></a></div>
-

What We Do

At Belle-Ve Bricks, we are dedicated to bringing your creative visions to life through our extensive range of custom brick models and services. Here’s how we make that happen:


Our Services

  • Custom Models: Our team creates bespoke models tailored precisely to your needs and imagination.
  • Designer Platform: We offer a secure and free platform for designers worldwide to sign up and sell their creations on Belle-Ve Bricks.
  • Pre-Made Custom Models: Explore our curated collection of prebuilt custom models, ready to enhance any collection.
  • Alternative Builds: Discover a vast selection of alternative builds to expand your building possibilities.

At Belle-Ve Bricks, we curate a wide range of high-quality custom brick models designed and built by talented enthusiasts from around the globe. Each product is carefully selected to ensure you receive only the finest creations available.

Whether you’re seeking a unique display piece for your home or a distinctive addition to your collection, we have something to captivate every enthusiast.

Our collection spans a variety of themes: From iconic buildings and landmarks to futuristic spaceships and vehicles. Each model is meticulously crafted using the highest quality bricks and pieces, ensuring your build is not only visually stunning but also durable.

We are committed to providing exceptional products and outstanding customer service. Should you have any questions about our products or services, please don’t hesitate to reach out. We’re more than happy to assist you in finding the perfect model for your collection.

Our Commitment

Driven by a passion for building custom models and a commitment to delivering high-quality products, we provide expert customer support and an experience that celebrates creativity and ingenuity in model design. We’re dedicated to making every interaction meaningful and every creation exceptional.


Our Values

At Belle-Ve Bricks, our passion for creativity and commitment to excellence are the driving forces behind everything we do. Our company is built on four core values:

Creativity: We nurture creativity and encourage our customers to unleash their imagination. We provide high-quality custom models and solutions to inspire and support your creative endeavors.

Quality: Recognizing that custom brick models are more than just models, they’re an art form. We commit to delivering the best products and the highest level of customer service. We uphold rigorous quality standards and take pride in offering the finest custom models available.

Connection: We believe in the power of custom brick models to bring people together and create meaningful connections. Through our social media channels, we engage with enthusiasts worldwide, sharing ideas and celebrating creativity.

Authenticity: We value being true to ourselves and our customers. Committed to transparent and ethical business practices, we consistently strive to deliver on our promises.

Our Commitment to Sustainability

We’re passionate about not only creating custom models and bespoke designs for businesses but also about making a positive impact on our planet. As a leading online destination for custom designs, we embrace our responsibility to promote sustainable practices and reduce our environmental footprint. Sustainability is a core value and an integral part of our business operations.

Eco-Friendly Practices: We promote a paperless work environment and utilize digital communication tools to minimize paper waste.

Sustainable Materials: Whenever possible, we encourage the use of sustainable materials in our models and packaging.

Environmental Engagement: We support and participate in initiatives that align with our commitment to sustainability.


Our Approach

At Belle-Ve Bricks, we believe every custom model is a work of art that deserves to be celebrated and shared with the world. That’s why we’ve created a platform for talented designers to showcase their creations and connect with enthusiasts through our social media channels.

Our approach centers on providing a user-friendly and enjoyable shopping experience:

Curated Selection: We source the best models from talented designers worldwide, ensuring a diverse and high-quality collection.

Seamless Shopping: From browsing to checkout, we strive to make your shopping experience as smooth and enjoyable as possible.

Exceptional Support: Our passionate team is dedicated to offering expert customer support, celebrating the creativity and ingenuity of model design.

Connect with Us

We’re here to inspire, support, and connect with the global community of custom brick model enthusiasts. Follow us on our social media platforms to stay updated with the latest creations, tutorials, and news from Belle-Ve Bricks.

Contact Us

Have questions or need assistance? We’re here to help! Reach out to us at ferdi@bellevebricks.com, and let’s build something amazing together.

Thank you for being a part of the Belle-Ve Bricks community. Together, we build more than just models—we build connections, creativity, and a shared passion for excellence.