<!doctype html><html class="notion-html"><head lang="en"><meta charset="utf-8"><meta name="viewport" content="width=device-width,height=device-height,initial-scale=1,maximum-scale=1,user-scalable=no,viewport-fit=cover"><title>Hans Kainz</title><meta name="description" content="A new tool that blends your everyday work apps into one. It's the all-in-one workspace for you and your team"><script>window.__webStartTime=Date.now(),window.__webStartTimePerformance=performance.now()</script><meta name="twitter:card" content="summary_large_image"><meta name="twitter:site" content="@NotionHQ"><meta name="twitter:title" content="Hans Kainz"><meta name="twitter:description" content="A new tool that blends your everyday work apps into one. It's the all-in-one workspace for you and your team"><meta name="twitter:url" content="hanskainz.com"><meta name="twitter:image" content="https://www.notion.so/images/meta/default.png"><meta property="og:site_name" content="Notion"><meta property="og:type" content="website"><meta property="og:url" content="hanskainz.com"><meta property="og:title" content="Hans Kainz"><meta property="og:description" content="A new tool that blends your everyday work apps into one. It's the all-in-one workspace for you and your team"><meta property="og:image" content="https://www.notion.so/images/meta/default.png"><meta property="og:locale" content="en_US"><link rel="shortcut icon" type="image/x-icon" href="/images/favicon.ico"><link rel="apple-touch-icon" href="/images/logo-ios.png"><meta name="apple-mobile-web-app-capable" content="yes"><meta name="format-detection" content="telephone=no"><meta name="msapplication-tap-highlight" content="no"><meta name="slack-app-id" content="A049JV0H0KC"><link href="/print.b31f28aa.css" rel="stylesheet" media="print"><script defer="defer" src="/249-1de2d49cbf3d16d5b214.js"></script><script defer="defer" src="/app-c9624c75c05f64bdcb7a.js"></script><link href="/app-458b27cf2746fa5c5a6a.css" rel="stylesheet"><style>
      div.notion-topbar > div > div:nth-child(3) { display: none !important; }
      div.notion-topbar > div > div:nth-child(4) { display: none !important; }
      div.notion-topbar > div > div:nth-child(5) { display: none !important; }
      div.notion-topbar > div > div:nth-child(6) { display: none !important; }
      div.notion-topbar-mobile > div:nth-child(3) { display: none !important; }
      div.notion-topbar-mobile > div:nth-child(4) { display: none !important; }
      div.notion-topbar > div > div:nth-child(1n).toggle-mode { display: block !important; }
      div.notion-topbar-mobile > div:nth-child(1n).toggle-mode { display: block !important; }
      </style></head><body class="notion-body"><script>var parsed,theme="light",localThemeKey="theme",themeRecord=localStorage.getItem("theme");!themeRecord||(parsed=JSON.parse(themeRecord))&&parsed.mode&&(theme=parsed.mode),"dark"===theme&&document.body.classList.add("dark")</script><style>body{background:#fff}body.dark{background:#191919}@keyframes notion-shimmer-animation{0%{transform:translateX(-100%) translateZ(0)}100%{transform:translateX(100%) translateZ(0)}}@keyframes notion-shimmer-fade-in{0%{opacity:0}100%{opacity:1}}@keyframes notion-spinner-rotate{0%{transform:rotate(0) translateZ(0)}100%{transform:rotate(360deg) translateZ(0)}}#initial-loading-spinner{position:fixed;height:100vh;width:100vw;z-index:-1;display:none;align-items:center;justify-content:center;opacity:.5}#initial-loading-spinner svg{height:24px;width:24px;animation:notion-spinner-rotate 1s linear infinite;transform-origin:center center;pointer-events:none}#skeleton{background:#fff;position:fixed;height:100vh;width:100vw;z-index:-1;display:none;overflow:hidden}#initial-loading-spinner.show,#skeleton.show{display:flex}body.dark #skeleton{background:#191919}.notion-front-page #skeleton,.notion-mobile #skeleton{display:none}#skeleton-sidebar{background-color:#fbfbfa;box-shadow:inset -1px 0 0 0 rgba(0,0,0,.025);display:flex;width:240px;flex-direction:column;padding:12px 14px;overflow:hidden}body.dark #skeleton-sidebar{background-color:#202020;box-shadow:inset -1px 0 0 0 rgba(255,255,255,.05)}#skeleton.isElectron #skeleton-sidebar{padding-top:46px}#skeleton .row{display:flex;margin-bottom:8px;align-items:center}#skeleton .row.fadein{animation:1s ease-in 0s 1 normal both running notion-shimmer-fade-in}#skeleton .chevron{width:12px;height:12px;display:block;margin-right:4px;fill:rgba(227,226,224,.5)}body.dark #skeleton .chevron{fill:#2f2f2f}.notion-shimmer{background:rgba(227,226,224,.5);overflow:hidden;position:relative}body.dark .notion-shimmer{background:#2f2f2f}.notion-shimmer::before{content:"";position:absolute;height:100%;width:100%;z-index:1;animation:1s linear infinite notion-shimmer-animation;background:linear-gradient(90deg,transparent 0,rgba(255,255,255,.4) 50%,transparent 100%)}body.dark .notion-shimmer::before{background:linear-gradient(90deg,transparent 0,rgba(86,86,86,.4) 50%,transparent 100%)}#skeleton .icon{width:20px;height:20px;border-radius:4px}#skeleton .text{height:10px;border-radius:10px}#skeleton .draggable{-webkit-app-region:drag;position:absolute;top:0;left:0;width:100%;height:36px;display:none}#skeleton.isElectron .draggable{display:block}</style><div id="initial-loading-spinner"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><defs><linearGradient x1="28.1542969%" y1="63.7402344%" x2="74.6289062%" y2="17.7832031%" id="linearGradient-1"><stop stop-color="rgba(164, 164, 164, 1)" offset="0%"/><stop stop-color="rgba(164, 164, 164, 0)" stop-opacity="0" offset="100%"/></linearGradient></defs><g stroke="none" stroke-width="1" fill="none"><g transform="translate(-236.000000, -286.000000)"><g transform="translate(238.000000, 286.000000)"><circle id="Oval-2" stroke="url(#linearGradient-1)" stroke-width="4" cx="10" cy="12" r="10"/><path d="M10,2 C4.4771525,2 0,6.4771525 0,12" id="Oval-2" stroke="rgba(164, 164, 164, 1)" stroke-width="4"/><rect id="Rectangle-1" fill="rgba(164, 164, 164, 1)" x="8" y="0" width="4" height="4" rx="8"/></g></g></g></svg></div><div id="skeleton"><div id="skeleton-sidebar"><div class="row" style="margin-bottom:19px"><div class="notion-shimmer icon" style="width:22px;height:22px;padding:1px"></div><div class="notion-shimmer text" style="width:177px;margin-left:8px"></div></div><div class="row" style="margin-bottom:16px"><div class="notion-shimmer text" style="width:78px"></div></div><div class="row" style="margin-bottom:16px"><div class="notion-shimmer text" style="width:78px"></div></div><div class="row" style="margin-bottom:36px"><div class="notion-shimmer text" style="width:135px"></div></div><div class="row" style="margin-bottom:12px"><div class="notion-shimmer text" style="width:56px"></div></div><div class="row"><svg viewBox="0 0 30 30" class="chevron"><polygon points="17.4,15 7,25.2 9.8,28 23,15 9.8,2 7,4.8"></polygon></svg><div class="notion-shimmer icon"></div><div class="notion-shimmer text" style="width:100px;margin-left:6px"></div></div><div class="row"><svg viewBox="0 0 30 30" class="chevron"><polygon points="17.4,15 7,25.2 9.8,28 23,15 9.8,2 7,4.8"></polygon></svg><div class="notion-shimmer icon"></div><div class="notion-shimmer text" style="width:140px;margin-left:6px"></div></div><div class="row"><svg viewBox="0 0 30 30" class="chevron"><polygon points="17.4,15 7,25.2 9.8,28 23,15 9.8,2 7,4.8"></polygon></svg><div class="notion-shimmer icon"></div><div class="notion-shimmer text" style="width:120px;margin-left:6px"></div></div><div class="row"><svg viewBox="0 0 30 30" class="chevron"><polygon points="17.4,15 7,25.2 9.8,28 23,15 9.8,2 7,4.8"></polygon></svg><div class="notion-shimmer icon"></div><div class="notion-shimmer text" style="width:100px;margin-left:6px"></div></div><div class="row fadein" style="animation-delay:1s"><svg viewBox="0 0 30 30" class="chevron"><polygon points="17.4,15 7,25.2 9.8,28 23,15 9.8,2 7,4.8"></polygon></svg><div class="notion-shimmer icon"></div><div class="notion-shimmer text" style="width:80px;margin-left:6px"></div></div><div class="row fadein" style="animation-delay:1s"><svg viewBox="0 0 30 30" class="chevron"><polygon points="17.4,15 7,25.2 9.8,28 23,15 9.8,2 7,4.8"></polygon></svg><div class="notion-shimmer icon"></div><div class="notion-shimmer text" style="width:120px;margin-left:6px"></div></div><div class="row fadein" style="animation-delay:1s"><svg viewBox="0 0 30 30" class="chevron"><polygon points="17.4,15 7,25.2 9.8,28 23,15 9.8,2 7,4.8"></polygon></svg><div class="notion-shimmer icon"></div><div class="notion-shimmer text" style="width:80px;margin-left:6px"></div></div><div class="row fadein" style="animation-delay:1s"><svg viewBox="0 0 30 30" class="chevron"><polygon points="17.4,15 7,25.2 9.8,28 23,15 9.8,2 7,4.8"></polygon></svg><div class="notion-shimmer icon"></div><div class="notion-shimmer text" style="width:120px;margin-left:6px"></div></div><div class="row fadein" style="animation-delay:2s"><svg viewBox="0 0 30 30" class="chevron"><polygon points="17.4,15 7,25.2 9.8,28 23,15 9.8,2 7,4.8"></polygon></svg><div class="notion-shimmer icon"></div><div class="notion-shimmer text" style="width:140px;margin-left:6px"></div></div><div class="row fadein" style="animation-delay:2s"><svg viewBox="0 0 30 30" class="chevron"><polygon points="17.4,15 7,25.2 9.8,28 23,15 9.8,2 7,4.8"></polygon></svg><div class="notion-shimmer icon"></div><div class="notion-shimmer text" style="width:80px;margin-left:6px"></div></div><div class="row fadein" style="animation-delay:2s"><svg viewBox="0 0 30 30" class="chevron"><polygon points="17.4,15 7,25.2 9.8,28 23,15 9.8,2 7,4.8"></polygon></svg><div class="notion-shimmer icon"></div><div class="notion-shimmer text" style="width:140px;margin-left:6px"></div></div><div class="row fadein" style="animation-delay:2s"><svg viewBox="0 0 30 30" class="chevron"><polygon points="17.4,15 7,25.2 9.8,28 23,15 9.8,2 7,4.8"></polygon></svg><div class="notion-shimmer icon"></div><div class="notion-shimmer text" style="width:140px;margin-left:6px"></div></div><div class="row fadein" style="animation-delay:3s"><svg viewBox="0 0 30 30" class="chevron"><polygon points="17.4,15 7,25.2 9.8,28 23,15 9.8,2 7,4.8"></polygon></svg><div class="notion-shimmer icon"></div><div class="notion-shimmer text" style="width:140px;margin-left:6px"></div></div><div class="row fadein" style="animation-delay:3s"><svg viewBox="0 0 30 30" class="chevron"><polygon points="17.4,15 7,25.2 9.8,28 23,15 9.8,2 7,4.8"></polygon></svg><div class="notion-shimmer icon"></div><div class="notion-shimmer text" style="width:100px;margin-left:6px"></div></div><div class="row fadein" style="animation-delay:3s"><svg viewBox="0 0 30 30" class="chevron"><polygon points="17.4,15 7,25.2 9.8,28 23,15 9.8,2 7,4.8"></polygon></svg><div class="notion-shimmer icon"></div><div class="notion-shimmer text" style="width:100px;margin-left:6px"></div></div><div class="row fadein" style="animation-delay:3s"><svg viewBox="0 0 30 30" class="chevron"><polygon points="17.4,15 7,25.2 9.8,28 23,15 9.8,2 7,4.8"></polygon></svg><div class="notion-shimmer icon"></div><div class="notion-shimmer text" style="width:140px;margin-left:6px"></div></div><div class="row fadein" style="animation-delay:4s"><svg viewBox="0 0 30 30" class="chevron"><polygon points="17.4,15 7,25.2 9.8,28 23,15 9.8,2 7,4.8"></polygon></svg><div class="notion-shimmer icon"></div><div class="notion-shimmer text" style="width:140px;margin-left:6px"></div></div><div class="row fadein" style="animation-delay:4s"><svg viewBox="0 0 30 30" class="chevron"><polygon points="17.4,15 7,25.2 9.8,28 23,15 9.8,2 7,4.8"></polygon></svg><div class="notion-shimmer icon"></div><div class="notion-shimmer text" style="width:140px;margin-left:6px"></div></div><div class="row fadein" style="animation-delay:4s"><svg viewBox="0 0 30 30" class="chevron"><polygon points="17.4,15 7,25.2 9.8,28 23,15 9.8,2 7,4.8"></polygon></svg><div class="notion-shimmer icon"></div><div class="notion-shimmer text" style="width:100px;margin-left:6px"></div></div><div class="row fadein" style="animation-delay:4s"><svg viewBox="0 0 30 30" class="chevron"><polygon points="17.4,15 7,25.2 9.8,28 23,15 9.8,2 7,4.8"></polygon></svg><div class="notion-shimmer icon"></div><div class="notion-shimmer text" style="width:100px;margin-left:6px"></div></div></div><div style="flex-grow:1;position:relative"><div class="row" style="position:absolute;top:0;left:0;padding:12px 16px"><div class="notion-shimmer icon" style="width:20px;height:20px"></div><div class="notion-shimmer text" style="width:78px;margin-left:8px"></div></div><div class="row" style="position:absolute;top:0;right:0;padding:12px 16px"><div class="notion-shimmer text" style="width:78px;margin:6px 0"></div></div></div><div class="draggable"></div></div><script>(t=>{function e(e){e=t.localStorage&&t.localStorage.getItem(e),e=e&&JSON.parse(e);if(e&&e.value)return e.value}var a=document.getElementById("skeleton"),n=document.getElementById("skeleton-sidebar"),d=document.getElementById("initial-loading-spinner"),i=e("LRU:KeyValueStore2:sidebar"),o=e("LRU:KeyValueStore2:current-user-id"),l="undefined"!=typeof global||t.__isElectron,r=/ReactNative/.test(navigator.userAgent);!a||void 0===o||r||l?d&&d.classList.add("show"):(a.classList.add("show"),n&&i&&(!1===i.expanded&&n.remove(),0<i.width&&(n.style.width=String(i.width)+"px")))})(window)</script><style id="scroll-properties"></style><div id="notion-app"></div><script>window.CONFIG={env:"production",isAdminMode:!1,isLocalhost:!1,offline:!0,version:"23.11.0.14",domainBaseUrl:"https://www.notion.so",adminUrl:"https://admin.notion.so",publicDomainName:"notion.site",protocol:"notion",staticS3:{url:"https://prod-notion-assets.s3-us-west-2.amazonaws.com",bucket:"prod-notion-assets"},lastUpdatedTime:1673382920917,api:{http:"/api/v3"},googleOAuth:{clientId:"905154081809-858sm3f0qnalqd9d44d9gecjtrdji9tf.apps.googleusercontent.com"},messageStore:{url:"https://msgstore.www.notion.so",api:"/api/v1"},stripe:{key:"pk_live_vuNO27XGTCbXjVwneiECILjT"},revenueCat:{apiResponseMaxAge:6048e5,entitlementIDs:{personal:"notion.id.personal_pro"},productIDs:{personal:{monthly:"notion.id.personal_pro_monthly",yearly:"notion.id.personal_pro_yearly"}}},intercom:{appId:"gpfdrxfd",adminId:"3483686"},mutiny:{personalKey:"1149e901f65fc47c"},partnerStack:{apiKey:"pk_6nwYfqCKEoPt2lTuU8Veswm2zArJ3Apq"},segment:{writeKey:"g1mMn2qquRcv7exBIVDivoKl9cOrdxLA"},amplitude:{apiKey:"af43d4b535912f7751949bfb061d8659"},pricing:{invoiceDaysUntilDue:30,free:{spaceBlockLimit:1e3,fileUploadMaxBytes:5e6},team_free:{spaceBlockLimit:1e3,fileUploadMaxBytes:5e6},personal_free:{fileUploadMaxBytes:5e6},student:{productId:"prod_FhChFoDp7gS1Ba"},personal:{productId:"prod_CpavZFCbxF2YGx",monthlyPrice:500,yearlyPrice:4800},team:{productId:"prod_CpawK4ih14xs4t",monthlyPricePerMember:1e3,yearlyPricePerMember:9600},business:{productId:"prod_LEnFERYcTgENz8",monthlyPricePerMember:1800,yearlyPricePerMember:18e3},enterprise:{productId:"prod_Cpb8M1AFEFhdy1",monthlyPricePerMember:2500,yearlyPricePerMember:24e3}},desktopS3:{url:"https://s3-us-west-2.amazonaws.com/desktop-release.notion-static.com"},publicFileS3:{url:"https://s3-us-west-2.amazonaws.com/public.notion-static.com",bucket:"public.notion-static.com"},temporaryFileS3:{url:"https://s3-us-west-2.amazonaws.com/temporary.notion-static.com",bucket:"temporary.notion-static.com"},secureFileS3:{url:"https://s3-us-west-2.amazonaws.com/secure.notion-static.com",bucket:"secure.notion-static.com"},secureFileConfig:{origins:{s:"secure.notion-static.com"},s3BaseDomainName:"s3.us-west-2.amazonaws.com",rootPath:"/f",protocol:"https",hostname:"file.notion.so"},loggly:{token:"9b01b08e-c969-4e27-837c-805d1fc6ec7b"},splunk:{token:"EA76605A-F565-4B17-A496-34435622A1EB"},embedly:{key:"421626497c5d4fc2ae6b075189d602a2"},iframely:{key:"222a85036317ca50d3ba5f321bfda6f0"},aif:{url:"https://aif.notion.so/aif-production.html"},contentful:{spaceId:"spoqsaf9291f",contentDeliveryToken:"AGqteRpWD8aE_kxy_s7_hSFAlKCh5qf-RctSU6vV6u0",contentPreviewToken:"uR2ZVAs-9TMKDq0YKYVtczFplx6P9p06huCibZDJZKA"},iOSAppId:1232780281,facebook:{pixelId:"499229960464487"},statsig:{apiKey:"client-Tgza5wNFa8dVt9BdeUfG6Vkm29bHxX10MhoztTMzLBB"},googleReCaptcha:{siteKey:"6LcvqigfAAAAAPaPL3j2YLldFcZVGwKvG9TmjDgK"},google:{clientId:"905154081809-858sm3f0qnalqd9d44d9gecjtrdji9tf.apps.googleusercontent.com"},sprig:{environmentId:"2HKBN1wgCwHr"}}</script><div style="display:none">Powered by <a href="http://fruitionsite.com">Fruition</a></div>
      <script>
      const SLUG_TO_PAGE = {"":"530aa0fb907243f99cf43ebf60c38bdb"};
      const PAGE_TO_SLUG = {};
      const slugs = [];
      const pages = [];
      const el = document.createElement('div');
      let redirected = false;
      Object.keys(SLUG_TO_PAGE).forEach(slug => {
        const page = SLUG_TO_PAGE[slug];
        slugs.push(slug);
        pages.push(page);
        PAGE_TO_SLUG[page] = slug;
      });
      function getPage() {
        return location.pathname.slice(-32);
      }
      function getSlug() {
        return location.pathname.slice(1);
      }
      function updateSlug() {
        const slug = PAGE_TO_SLUG[getPage()];
        if (slug != null) {
          history.replaceState(history.state, '', '/' + slug);
        }
      }
      function onDark() {
        el.innerHTML = '<div style="margin-left: auto; margin-right: 14px; min-width: 0px;"><div role="button" tabindex="0" style="user-select: none; transition: background 120ms ease-in 0s; cursor: pointer; border-radius: 44px;"><div style="display: flex; flex-shrink: 0; height: 14px; width: 26px; border-radius: 44px; padding: 2px; box-sizing: content-box; background: rgb(46, 170, 220); transition: background 200ms ease 0s, box-shadow 200ms ease 0s;"><div style="width: 14px; height: 14px; border-radius: 44px; background: white; transition: transform 200ms ease-out 0s, background 200ms ease-out 0s; transform: translateX(12px) translateY(0px);"></div></div></div></div>';
        document.body.classList.add('dark');
        __console.environment.ThemeStore.setState({ mode: 'dark' });
      };
      function onLight() {
        el.innerHTML = '<div style="margin-left: auto; margin-right: 14px; min-width: 0px;"><div role="button" tabindex="0" style="user-select: none; transition: background 120ms ease-in 0s; cursor: pointer; border-radius: 44px;"><div style="display: flex; flex-shrink: 0; height: 14px; width: 26px; border-radius: 44px; padding: 2px; box-sizing: content-box; background: rgba(135, 131, 120, 0.3); transition: background 200ms ease 0s, box-shadow 200ms ease 0s;"><div style="width: 14px; height: 14px; border-radius: 44px; background: white; transition: transform 200ms ease-out 0s, background 200ms ease-out 0s; transform: translateX(0px) translateY(0px);"></div></div></div></div>';
        document.body.classList.remove('dark');
        __console.environment.ThemeStore.setState({ mode: 'light' });
      }
      function toggle() {
        if (document.body.classList.contains('dark')) {
          onLight();
        } else {
          onDark();
        }
      }
      function addDarkModeButton(device) {
        const nav = device === 'web' ? document.querySelector('.notion-topbar').firstChild : document.querySelector('.notion-topbar-mobile');
        el.className = 'toggle-mode';
        el.addEventListener('click', toggle);
        nav.appendChild(el);
        onLight();
      }
      const observer = new MutationObserver(function() {
        if (redirected) return;
        const nav = document.querySelector('.notion-topbar');
        const mobileNav = document.querySelector('.notion-topbar-mobile');
        if (nav && nav.firstChild && nav.firstChild.firstChild
          || mobileNav && mobileNav.firstChild) {
          redirected = true;
          updateSlug();
          addDarkModeButton(nav ? 'web' : 'mobile');
          const onpopstate = window.onpopstate;
          window.onpopstate = function() {
            if (slugs.includes(getSlug())) {
              const page = SLUG_TO_PAGE[getSlug()];
              if (page) {
                history.replaceState(history.state, 'bypass', '/' + page);
              }
            }
            onpopstate.apply(this, [].slice.call(arguments));
            updateSlug();
          };
        }
      });
      observer.observe(document.querySelector('#notion-app'), {
        childList: true,
        subtree: true,
      });
      const replaceState = window.history.replaceState;
      window.history.replaceState = function(state) {
        if (arguments[1] !== 'bypass' && slugs.includes(getSlug())) return;
        return replaceState.apply(window.history, arguments);
      };
      const pushState = window.history.pushState;
      window.history.pushState = function(state) {
        const dest = new URL(location.protocol + location.host + arguments[2]);
        const id = dest.pathname.slice(-32);
        if (pages.includes(id)) {
          arguments[2] = '/' + PAGE_TO_SLUG[id];
        }
        return pushState.apply(window.history, arguments);
      };
      const open = window.XMLHttpRequest.prototype.open;
      window.XMLHttpRequest.prototype.open = function() {
        arguments[1] = arguments[1].replace('hanskainz.com', 'www.notion.so');
        return open.apply(this, [].slice.call(arguments));
      };
    </script></body></html>