Consulting

[Hero Image Placeholder – 800x400px]
Limited Availability

KNiC Business Mentoring Program

Building Better Businesses by Building Better Founders — Tech, Mindset & Strategy Combined

[Icon]

Weekly Strategic Check-ins

1-hour focused sessions (Brisbane in-person or virtual) to tackle your biggest challenges and opportunities head-on.

[Icon]

On-Call Access

Direct line during business hours when critical decisions need expert input. No waiting for the next scheduled call.

[Icon]

Proprietary Playbooks

Access to my proven AI and data frameworks for customer acquisition, retention, and operational excellence.

[Icon]

Hands-On Implementation

Not just advice—actionable guidance using lean methodology to ship faster and smarter. We build, not just talk.

[Icon]

Mindset & Growth

Holistic approach combining tech strategy with personal development, meditation practices, and peak performance.

[Icon]

Network Access

Connections across PropTech, startups, and scale-ups from my 15+ years building and advising in the industry.

$10k/mth
6-month minimum commitment
We select only 3-5 businesses per quarter to ensure quality and impact
[Image Placeholder – Working with founders, 350px height]

This Program is Perfect For:

  • Non-tech founders in PropTech, InsurTech, FinTech, or adjacent industries
  • Startups and scale-ups with small tech teams (or building one)
  • Leaders ready to implement, not just theorize
  • Businesses prepared to leverage AI and automation for competitive advantage
  • Founders committed to both business and personal growth

What Happens Next?

[Icon 1]

Application Review

We’ll review your application within 3-5 business days to assess fit and alignment.

[Icon 2]

Discovery Call

If there’s potential fit, we’ll schedule a 30-minute discovery call to explore working together.

[Icon 3]

Onboarding

We’ll mutually decide if we’re aligned, then begin onboarding within the week.

[Headshot Placeholder – 250x250px]

About Nathan Krisanski

Technology entrepreneur, AI strategist, and Head of Technology at The Agency—a premium Australian real estate company. With 15+ years in PropTech, I’ve built, scaled, and exited businesses while helping founders navigate the complex intersection of technology and growth.

Career Highlights

Head of Technology — The Agency

Leading AI implementation strategies and building automation solutions for a premium real estate company across Australia.

Certified Breathwork & Reiki Practitioner

Certified in somatic breathwork for 1-on-1 and group facilitation, supporting personal growth and peak performance. Level 2 Reiki Practitioner bringing grounding techniques and purpose clarity to leadership development.

Founder — KNIC Ventures

Software development and integrations business delivering projects across real estate, insurance, 3D printing, finance, marketing, and wellness industries.

REACH Australia Mentor (2023-2024)

Two years mentoring PropTech startups through the NAR REACH accelerator program, guiding founders through growth and scaling challenges. Attended REACH Portco, a global portfolio company event connecting with PropTech leaders and innovators worldwide.

Founder & Exit — HomePrezzo

Founded HomePrezzo in 2015, building property presentation technology before successfully exiting the business.

Innovation Consultant — CoreLogic

Consulted for CoreLogic’s innovation teams, bringing PropTech expertise to data and analytics solutions.

Reporting Systems Architect — Ray White

Architected enterprise reporting systems for one of Australasia’s largest real estate groups.

My Approach

I believe in lean methodology, actionable advice over theory, and the integration of mindset practices with business strategy. Technology is a tool—the real transformation comes from aligning your vision, systems, and personal growth. We don’t just talk strategy; we implement it together.

What Founders Say

“Placeholder testimonial text. Replace with actual client testimonial about working with Nathan and the results they achieved through the mentoring program.”

[Photo]
Client Name
Founder, Company Name

“Placeholder testimonial text. Replace with actual client testimonial about working with Nathan and the results they achieved through the mentoring program.”

[Photo]
Client Name
Founder, Company Name

“Placeholder testimonial text. Replace with actual client testimonial about working with Nathan and the results they achieved through the mentoring program.”

[Photo]
Client Name
Founder, Company Name

Ready to Transform Your Business?

Applications are reviewed on a rolling basis. Limited spots available each quarter.


*
* Trigger buttons should have one of these IDs:
* - open-modal-btn
* - open-modal-btn-2
* - open-modal-btn-3
* Or add class: knic-open-modal
*/

(function() {
'use strict';

// Configuration - UPDATE THIS WITH YOUR N8N WEBHOOK URL
const CONFIG = {
n8nWebhookUrl: 'https://your-n8n-instance.com/webhook/knic-application',
maxElevatorPitchChars: 500,
maxOpportunityChars: 300,
maxBlockerChars: 300
};

let currentSlide = 0;
const totalSlides = 6;

const createModalHTML = () => {
return `

0% Complete



`;
};

const createStyles = () => {
const style = document.createElement('style');
style.textContent = `
/* Modal Styles */
.knic-modal-overlay {
display: none;
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: rgba(0,0,0,0.7);
z-index: 10000;
align-items: center;
justify-content: center;
padding: 20px;
overflow-y: auto;
}

.knic-modal-overlay.active {
display: flex;
}

.knic-modal {
background: white;
border-radius: 20px;
width: 100%;
max-width: 600px;
max-height: 90vh;
overflow-y: auto;
position: relative;
padding: 40px;
animation: knicModalIn 0.3s ease;
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
}

@keyframes knicModalIn {
from {
opacity: 0;
transform: translateY(20px);
}
to {
opacity: 1;
transform: translateY(0);
}
}

.knic-modal-close {
position: absolute;
top: 15px;
right: 20px;
background: none;
border: none;
font-size: 32px;
cursor: pointer;
color: #999;
line-height: 1;
padding: 0;
z-index: 10;
}

.knic-modal-close:hover {
color: #333;
}

/* Progress Bar */
.knic-progress-container {
margin-bottom: 30px;
}

.knic-progress-bar {
height: 8px;
background: #e0e0e0;
border-radius: 4px;
overflow: hidden;
}

.knic-progress-fill {
height: 100%;
background: linear-gradient(135deg, #00d4ff 0%, #0099cc 50%, #1a5276 100%);
width: 0%;
transition: width 0.4s ease;
border-radius: 4px;
}

.knic-progress-text {
text-align: center;
font-size: 14px;
color: #666;
margin-top: 10px;
font-weight: 600;
}

/* Carousel */
.knic-carousel {
position: relative;
overflow: hidden;
}

.knic-slide {
display: none;
animation: knicSlideIn 0.3s ease;
}

.knic-slide.active {
display: block;
}

@keyframes knicSlideIn {
from {
opacity: 0;
transform: translateX(20px);
}
to {
opacity: 1;
transform: translateX(0);
}
}

.knic-slide h3 {
font-size: 26px;
margin: 0 0 8px 0;
color: #0099cc;
}

.knic-slide-intro {
font-size: 15px;
color: #666;
margin: 0 0 25px 0;
}

/* Form Styles */
.knic-form-group {
margin-bottom: 22px;
}

.knic-form-group label {
display: block;
font-weight: 600;
margin-bottom: 8px;
color: #1a1a1a;
font-size: 15px;
}

.knic-checkbox-group label {
display: flex;
align-items: flex-start;
cursor: pointer;
font-weight: normal;
}

.knic-checkbox-group input[type="checkbox"] {
margin-right: 10px;
margin-top: 3px;
width: 18px;
height: 18px;
cursor: pointer;
flex-shrink: 0;
}

.knic-form-group input[type="text"],
.knic-form-group input[type="email"],
.knic-form-group input[type="tel"],
.knic-form-group input[type="url"],
.knic-form-group select,
.knic-form-group textarea {
width: 100%;
padding: 12px 15px;
border: 2px solid #e0e0e0;
border-radius: 8px;
font-size: 15px;
font-family: inherit;
transition: border-color 0.3s ease;
box-sizing: border-box;
}

.knic-form-group input:focus,
.knic-form-group select:focus,
.knic-form-group textarea:focus {
outline: none;
border-color: #0099cc;
box-shadow: 0 0 0 3px rgba(0, 153, 204, 0.1);
}

.knic-form-group textarea {
resize: vertical;
min-height: 100px;
}

.knic-char-count {
font-size: 12px;
color: #999;
text-align: right;
margin-top: 5px;
}

.knic-error {
display: block;
color: #dc3545;
font-size: 13px;
margin-top: 5px;
font-weight: 500;
}

.knic-form-group input.knic-field-error,
.knic-form-group select.knic-field-error,
.knic-form-group textarea.knic-field-error {
border-color: #dc3545;
}

/* Navigation Buttons */
.knic-nav-buttons {
display: flex;
justify-content: space-between;
align-items: center;
margin-top: 30px;
padding-top: 25px;
border-top: 2px solid #f0f0f0;
}

.knic-nav-btn {
padding: 12px 28px;
font-size: 16px;
font-weight: 600;
border-radius: 8px;
cursor: pointer;
transition: all 0.2s ease;
font-family: inherit;
}

.knic-prev-btn {
background: #f0f0f0;
border: none;
color: #666;
}

.knic-prev-btn:hover {
background: #e0e0e0;
}

.knic-next-btn,
.knic-nav-buttons .knic-submit-btn {
background: linear-gradient(135deg, #00d4ff 0%, #0099cc 50%, #1a5276 100%);
border: none;
color: white;
}

.knic-next-btn:hover,
.knic-nav-buttons .knic-submit-btn:hover {
transform: translateY(-1px);
box-shadow: 0 4px 12px rgba(0, 153, 204, 0.4);
}

.knic-nav-buttons .knic-submit-btn:disabled {
opacity: 0.6;
cursor: not-allowed;
transform: none;
box-shadow: none;
}

.knic-form-message {
margin-top: 20px;
padding: 15px;
border-radius: 8px;
font-size: 15px;
font-weight: 500;
text-align: center;
}

.knic-form-message.knic-success {
background: #d4edda;
color: #155724;
}

.knic-form-message.knic-error-msg {
background: #f8d7da;
color: #721c24;
}

body.knic-modal-open {
overflow: hidden;
}

@media (max-width: 768px) {
.knic-modal {
padding: 30px 20px;
margin: 10px;
max-height: 95vh;
}

.knic-nav-buttons {
flex-direction: column;
gap: 15px;
}

.knic-nav-btn {
width: 100%;
text-align: center;
}

.knic-prev-btn {
order: 2;
}
}
`;
return style;
};

// Validation
const validators = {
email: (value) => /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(value),
url: (value) => {
if (!value) return true;
try { new URL(value); return true; } catch { return false; }
},
required: (value) => value && value.trim() !== ''
};

const showError = (fieldId, message) => {
const field = document.getElementById(fieldId);
const errorSpan = document.getElementById(`${fieldId}-error`);
if (field && errorSpan) {
field.classList.add('knic-field-error');
errorSpan.textContent = message;
}
};

const clearError = (fieldId) => {
const field = document.getElementById(fieldId);
const errorSpan = document.getElementById(`${fieldId}-error`);
if (field && errorSpan) {
field.classList.remove('knic-field-error');
errorSpan.textContent = '';
}
};

const validateField = (fieldId, fieldName, value, isRequired = false, validator = null) => {
clearError(fieldId);
if (isRequired && !validators.required(value)) {
showError(fieldId, `${fieldName} is required`);
return false;
}
if (value && validator && !validator(value)) {
showError(fieldId, `Please enter a valid ${fieldName.toLowerCase()}`);
return false;
}
return true;
};

const validateSlide = (slideIndex) => {
const form = document.getElementById('knic-application-form');
let isValid = true;

switch(slideIndex) {
case 0:
isValid = validateField('knic-full-name', 'Full name', form.fullName.value, true) && isValid;
isValid = validateField('knic-email', 'Email', form.email.value, true, validators.email) && isValid;
isValid = validateField('knic-phone', 'Phone', form.phone.value, true) && isValid;
isValid = validateField('knic-linkedin', 'LinkedIn', form.linkedin.value, false, validators.url) && isValid;
isValid = validateField('knic-location', 'Location', form.location.value, true) && isValid;
break;
case 1:
isValid = validateField('knic-company-name', 'Company name', form.companyName.value, true) && isValid;
isValid = validateField('knic-website', 'Website', form.website.value, false, validators.url) && isValid;
isValid = validateField('knic-industry', 'Industry', form.industry.value, true) && isValid;
if (form.industry.value === 'other') {
isValid = validateField('knic-industry-other', 'Industry', form.industryOther.value, true) && isValid;
}
isValid = validateField('knic-business-stage', 'Business stage', form.businessStage.value, true) && isValid;
break;
case 2:
isValid = validateField('knic-team-size', 'Team size', form.teamSize.value, true) && isValid;
isValid = validateField('knic-tech-team', 'Tech team', form.techTeam.value, true) && isValid;
isValid = validateField('knic-data-state', 'Data state', form.dataState.value, true) && isValid;
isValid = validateField('knic-ai-experience', 'AI experience', form.aiExperience.value, true) && isValid;
break;
case 3:
isValid = validateField('knic-elevator-pitch', 'Elevator pitch', form.elevatorPitch.value, true) && isValid;
isValid = validateField('knic-biggest-opportunity', 'Biggest opportunity', form.biggestOpportunity.value, true) && isValid;
break;
case 4:
isValid = validateField('knic-biggest-blocker', 'Biggest blocker', form.biggestBlocker.value, true) && isValid;
isValid = validateField('knic-implementation-readiness', 'Readiness', form.implementationReadiness.value, true) && isValid;
isValid = validateField('knic-investment-timeline', 'Timeline', form.investmentTimeline.value, true) && isValid;
break;
case 5:
if (!form.budgetConfirmed.checked) {
showError('knic-budget-confirmed', 'You must confirm your budget commitment');
isValid = false;
}
break;
}
return isValid;
};

const updateProgress = () => {
const percent = Math.round(((currentSlide + 1) / totalSlides) * 100);
const progressFill = document.getElementById('knic-progress-fill');
const progressPercent = document.getElementById('knic-progress-percent');
if (progressFill) progressFill.style.width = `${percent}%`;
if (progressPercent) progressPercent.textContent = percent;
};

const showSlide = (index) => {
const slides = document.querySelectorAll('.knic-slide');
slides.forEach((slide, i) => {
slide.classList.toggle('active', i === index);
});

const prevBtn = document.getElementById('knic-prev-btn');
const nextBtn = document.getElementById('knic-next-btn');
const submitBtn = document.getElementById('knic-submit-btn');

if (prevBtn) prevBtn.style.visibility = index === 0 ? 'hidden' : 'visible';

if (index === totalSlides - 1) {
if (nextBtn) nextBtn.style.display = 'none';
if (submitBtn) submitBtn.style.display = 'block';
} else {
if (nextBtn) nextBtn.style.display = 'block';
if (submitBtn) submitBtn.style.display = 'none';
}

currentSlide = index;
updateProgress();
};

const openModal = () => {
const overlay = document.getElementById('knic-modal-overlay');
if (overlay) {
overlay.classList.add('active');
document.body.classList.add('knic-modal-open');
currentSlide = 0;
showSlide(0);
}
};

const closeModal = () => {
const overlay = document.getElementById('knic-modal-overlay');
if (overlay) {
overlay.classList.remove('active');
document.body.classList.remove('knic-modal-open');
}
};

const handleSubmit = async (event) => {
event.preventDefault();

if (!validateSlide(currentSlide)) return;

const form = event.target;
const submitBtn = document.getElementById('knic-submit-btn');
const messageDiv = document.getElementById('knic-form-message');

if (messageDiv) messageDiv.style.display = 'none';

const formData = {
fullName: form.fullName.value.trim(),
email: form.email.value.trim(),
phone: form.phone.value.trim(),
linkedin: form.linkedin.value.trim(),
location: form.location.value,
companyName: form.companyName.value.trim(),
website: form.website.value.trim(),
industry: form.industry.value,
industryOther: form.industryOther ? form.industryOther.value.trim() : '',
businessStage: form.businessStage.value,
teamSize: form.teamSize.value,
techTeam: form.techTeam.value,
dataState: form.dataState.value.trim(),
aiExperience: form.aiExperience.value,
elevatorPitch: form.elevatorPitch.value.trim(),
biggestOpportunity: form.biggestOpportunity.value.trim(),
biggestBlocker: form.biggestBlocker.value.trim(),
implementationReadiness: form.implementationReadiness.value,
investmentTimeline: form.investmentTimeline.value,
budgetConfirmed: form.budgetConfirmed.checked,
referral: form.referral.value.trim(),
additionalInfo: form.additionalInfo.value.trim(),
submittedAt: new Date().toISOString()
};

if (submitBtn) {
submitBtn.disabled = true;
submitBtn.textContent = 'Submitting...';
}

try {
const response = await fetch(CONFIG.n8nWebhookUrl, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify(formData)
});

if (!response.ok) throw new Error('Network error');

if (messageDiv) {
messageDiv.textContent = '✓ Application submitted! We\'ll be in touch within 3-5 business days.';
messageDiv.className = 'knic-form-message knic-success';
messageDiv.style.display = 'block';
}

setTimeout(() => {
closeModal();
form.reset();
currentSlide = 0;
showSlide(0);
if (messageDiv) messageDiv.style.display = 'none';
// Reset character counters
const counters = ['knic-elevator-pitch-count', 'knic-biggest-opportunity-count', 'knic-biggest-blocker-count'];
counters.forEach(id => {
const el = document.getElementById(id);
if (el) el.textContent = '0';
});
}, 3000);

} catch (error) {
console.error('Submission error:', error);
if (messageDiv) {
messageDiv.textContent = 'Error submitting. Please try again.';
messageDiv.className = 'knic-form-message knic-error-msg';
messageDiv.style.display = 'block';
}
} finally {
if (submitBtn) {
submitBtn.disabled = false;
submitBtn.textContent = 'Submit Application';
}
}
};

const setupCharacterCounters = () => {
const fields = [
{ id: 'knic-elevator-pitch', countId: 'knic-elevator-pitch-count' },
{ id: 'knic-biggest-opportunity', countId: 'knic-biggest-opportunity-count' },
{ id: 'knic-biggest-blocker', countId: 'knic-biggest-blocker-count' }
];
fields.forEach(({ id, countId }) => {
const field = document.getElementById(id);
const counter = document.getElementById(countId);
if (field && counter) {
field.addEventListener('input', () => counter.textContent = field.value.length);
}
});
};

const setupIndustryToggle = () => {
const industrySelect = document.getElementById('knic-industry');
const industryOtherGroup = document.getElementById('knic-industry-other-group');
if (industrySelect && industryOtherGroup) {
industrySelect.addEventListener('change', () => {
industryOtherGroup.style.display = industrySelect.value === 'other' ? 'block' : 'none';
});
}
};

const init = () => {
const rootElement = document.getElementById('knic-application-root');
if (!rootElement) {
console.error('KNiC Application: Root element #knic-application-root not found');
return;
}

// Add styles
document.head.appendChild(createStyles());

// Add modal HTML
rootElement.innerHTML = createModalHTML();

// Modal controls - bind to multiple possible trigger buttons
const triggerIds = ['open-modal-btn', 'open-modal-btn-2', 'open-modal-btn-3'];
triggerIds.forEach(id => {
const btn = document.getElementById(id);
if (btn) btn.addEventListener('click', openModal);
});

// Also bind to any element with class knic-open-modal
document.querySelectorAll('.knic-open-modal').forEach(btn => {
btn.addEventListener('click', openModal);
});

const closeBtn = document.getElementById('knic-modal-close');
if (closeBtn) closeBtn.addEventListener('click', closeModal);

const overlay = document.getElementById('knic-modal-overlay');
if (overlay) {
overlay.addEventListener('click', (e) => {
if (e.target.id === 'knic-modal-overlay') closeModal();
});
}

// Navigation
const nextBtn = document.getElementById('knic-next-btn');
if (nextBtn) {
nextBtn.addEventListener('click', () => {
if (validateSlide(currentSlide)) {
showSlide(currentSlide + 1);
}
});
}

const prevBtn = document.getElementById('knic-prev-btn');
if (prevBtn) {
prevBtn.addEventListener('click', () => {
showSlide(currentSlide - 1);
});
}

// Form
const form = document.getElementById('knic-application-form');
if (form) form.addEventListener('submit', handleSubmit);

setupCharacterCounters();
setupIndustryToggle();
updateProgress();

// Escape key
document.addEventListener('keydown', (e) => {
if (e.key === 'Escape') closeModal();
});

console.log('KNiC Application form initialized');
};

// Initialize when DOM is ready
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', init);
} else {
init();
}

// Expose openModal globally for custom triggers
window.knicOpenApplicationModal = openModal;

})();

Leave a Reply

Your email address will not be published. Required fields are marked *