Open Consciousness Courses — minimalist, high-contrast learning

Learn to Notice, Navigate, and Nurture Your Mind.

Evidence-based courses in mindfulness, cognitive clarity, creative flow, and emotional intelligence—without noise, only signal.

Clarity-first design

Minimalist, distraction-free lessons with measurable outcomes and guided reflection.

  • Short sessions you can finish
  • Action prompts and journaling cues
  • Clear “what to do next” pathways

Science-informed

Rooted in cognitive science and contemplative research; practice meets rigor.

  • Attention + metacognition basics
  • Emotion regulation tools
  • Behavior design that actually sticks

Practical and modular

Short sessions, clear tools, real-life integration; learn at your own pace.

  • Mix-and-match modules
  • Designed for busy schedules
  • Revisit lessons with new lenses

Next cohort starts in

A simple structure. A measurable shift.

Enrollment stays open, but the guided cohort has a start date.

Days
Hours
Mins
See Course Paths

Stay in the loop

Get pragmatic insights and course updates. No spam, ever.

Thanks for subscribing

We’ve added you to our list. You can unsubscribe anytime.

Promo

Start with Clarity — first lesson free in every course

Try the opening lesson, then decide with real signal—not hype.

Browse Now

Need a recommendation?

Answer two questions and we’ll suggest a starting path. Your results stay in your browser.

Lesson Preview: “Attention as a Skill”

A 7-minute micro-lesson you can apply today.

1) Notice

Pick a neutral anchor (breath, sound, or a visual point). Track “attention drift” without judgment.

  • Goal: detect drift within 1–2 breaths
  • Metric: number of gentle returns

2) Navigate

Label the distraction once (“planning”, “worry”, “memory”), then return to the anchor.

  • One label only—avoid analysis loops
  • Return with a slow exhale

3) Nurture

Close with a 20-second check-in: “What changed?” Then choose one tiny action for your next hour.

What you’ll build

Concrete outcomes, phrased in human terms.

Attention control

Notice distraction sooner and return with less friction—useful for work, study, and relationships.

Emotional clarity

Separate sensation, story, and impulse—then choose a response aligned with your values.

Creative flow

Reduce internal noise, design better constraints, and enter deeper creative sessions.

Decision hygiene

Spot common cognitive traps and use simple checklists to course-correct.

How we teach

Find your starting path

Two questions. One recommendation. No data leaves your device.

1) What do you want most right now?

2) How much time can you commit daily?

'; } initHeaderInteractions(); initFooterInteractions(); })(); (function(){ const form = document.getElementById('newsletter-form'); const dlg = document.getElementById('newsletter-modal'); const err = document.getElementById('newsletter-error'); if(!form || !dlg) return; function setErr(t){ if(!err) return; err.textContent = t || ''; err.classList.toggle('hidden', !t); } function validateEmail(v){ return /^[^\s@]+@[^\s@]+\.[^\s@]{2,}$/.test(String(v||'').trim()); } form.addEventListener('submit', (e)=>{ e.preventDefault(); const email = form.querySelector('input[name="email"]')?.value || ''; const consent = form.querySelector('input[name="consent"]')?.checked; if(!validateEmail(email)){ setErr('Please enter a valid email address.'); return; } if(!consent){ setErr('Please confirm consent to receive emails.'); return; } setErr(''); try{ const key = 'occ_newsletter_sim'; const prev = JSON.parse(localStorage.getItem(key) || '[]'); prev.push({ email: String(email).trim().toLowerCase(), ts: Date.now() }); localStorage.setItem(key, JSON.stringify(prev.slice(-50))); }catch(_e){} if(!dlg.open) dlg.showModal(); }); dlg.querySelectorAll('[data-close-news]').forEach(b=>b.addEventListener('click', ()=>dlg.close())); dlg.addEventListener('click', (e)=>{ const r = dlg.getBoundingClientRect(); const inDialog = (r.top <= e.clientY && e.clientY <= r.bottom && r.left <= e.clientX && e.clientX <= r.right); if(!inDialog) dlg.close(); }); dlg.addEventListener('cancel', (e)=>{ e.preventDefault(); dlg.close(); }); })(); (function(){ const open = document.getElementById('open-syllabus'); const dlg = document.getElementById('syllabus-modal'); if(open && dlg){ open.addEventListener('click', ()=>{ if(!dlg.open) dlg.showModal(); }); dlg.querySelectorAll('[data-close-syllabus]').forEach(b=>b.addEventListener('click', ()=>dlg.close())); dlg.addEventListener('click', (e)=>{ const r = dlg.getBoundingClientRect(); const inDialog = (r.top <= e.clientY && e.clientY <= r.bottom && r.left <= e.clientX && e.clientX <= r.right); if(!inDialog) dlg.close(); }); dlg.addEventListener('cancel', (e)=>{ e.preventDefault(); dlg.close(); }); } const openO = document.getElementById('open-outcomes'); const dlgO = document.getElementById('outcomes-modal'); if(openO && dlgO){ openO.addEventListener('click', ()=>{ if(!dlgO.open) dlgO.showModal(); }); dlgO.querySelectorAll('[data-close-outcomes]').forEach(b=>b.addEventListener('click', ()=>dlgO.close())); dlgO.addEventListener('click', (e)=>{ const r = dlgO.getBoundingClientRect(); const inDialog = (r.top <= e.clientY && e.clientY <= r.bottom && r.left <= e.clientX && e.clientX <= r.right); if(!inDialog) dlgO.close(); }); dlgO.addEventListener('cancel', (e)=>{ e.preventDefault(); dlgO.close(); }); } })(); (function(){ const open = document.getElementById('open-pathfinder'); const dlg = document.getElementById('pathfinder-modal'); const form = document.getElementById('pathfinder-form'); const resBox = document.getElementById('pathfinder-result'); const title = document.getElementById('pathfinder-title'); const body = document.getElementById('pathfinder-body'); const err = document.getElementById('pathfinder-error'); const reset = document.getElementById('pathfinder-reset'); if(open && dlg){ open.addEventListener('click', ()=>{ if(!dlg.open) dlg.showModal(); }); dlg.querySelectorAll('[data-close-pathfinder]').forEach(b=>b.addEventListener('click', ()=>dlg.close())); dlg.addEventListener('click', (e)=>{ const r = dlg.getBoundingClientRect(); const inDialog = (r.top <= e.clientY && e.clientY <= r.bottom && r.left <= e.clientX && e.clientX <= r.right); if(!inDialog) dlg.close(); }); dlg.addEventListener('cancel', (e)=>{ e.preventDefault(); dlg.close(); }); } function setErr(t){ if(!err) return; err.textContent = t || ''; err.classList.toggle('hidden', !t); } function render(goal, time){ const t = Number(time); const intensity = t <= 6 ? 'micro' : (t <= 12 ? 'standard' : 'deep'); let recTitle = ''; let recBody = ''; if(goal === 'focus'){ recTitle = intensity === 'micro' ? 'Focus Foundations (Micro)' : (intensity === 'standard' ? 'Focus Foundations (Standard)' : 'Deep Focus Lab (Deep)'); recBody = intensity === 'micro' ? 'Start with tiny reps: 5 minutes daily to build reliable attention returns. Expect noticeable improvements in “restart speed.”' : intensity === 'standard' ? 'A balanced path: 10–12 minutes daily with structured drills and reflection prompts. Ideal if you want momentum without overwhelm.' : 'A deeper path: 20 minutes daily to build sustained focus, reduce internal noise, and stabilize your baseline attention.'; }else if(goal === 'calm'){ recTitle = intensity === 'micro' ? 'Calm Reset (Micro)' : (intensity === 'standard' ? 'Emotional Clarity (Standard)' : 'Resilience & Regulation (Deep)'); recBody = intensity === 'micro' ? 'Use short resets to reduce reactivity. You’ll practice a fast sequence: notice → label → soften → choose.' : intensity === 'standard' ? 'Build clarity around emotions and the stories attached to them. You’ll learn to separate sensation from narrative.' : 'Develop resilient regulation skills with longer sessions and deeper integration practices for daily stress and uncertainty.'; }else{ recTitle = intensity === 'micro' ? 'Creative Spark (Micro)' : (intensity === 'standard' ? 'Flow Toolkit (Standard)' : 'Flow Studio (Deep)'); recBody = intensity === 'micro' ? 'Short sessions to spark ideas and reduce inner friction. Great for getting back into making.' : intensity === 'standard' ? 'A practical flow path: constraints, attention setup, and creative recovery routines to stay consistent.' : 'Long-form flow training with deeper work cycles, deliberate recovery, and project-level creative structure.'; } return { recTitle, recBody }; } function persist(goal, time){ try{ localStorage.setItem('occ_pathfinder', JSON.stringify({ goal, time: Number(time), ts: Date.now() })); }catch(_e){} } function showResult(recTitle, recBody){ if(title) title.textContent = recTitle; if(body) body.textContent = recBody; if(resBox) resBox.classList.remove('hidden'); } function hideResult(){ if(resBox) resBox.classList.add('hidden'); } if(form){ form.addEventListener('submit', (e)=>{ e.preventDefault(); const fd = new FormData(form); const goal = fd.get('goal'); const time = fd.get('time'); if(!goal || !time){ setErr('Please answer both questions.'); hideResult(); return; } setErr(''); const out = render(String(goal), String(time)); showResult(out.recTitle, out.recBody); persist(String(goal), String(time)); }); } if(reset){ reset.addEventListener('click', ()=>{ try{ form?.reset(); }catch(_e){} setErr(''); hideResult(); }); } (function restore(){ try{ const raw = localStorage.getItem('occ_pathfinder'); if(!raw) return; const data = JSON.parse(raw); if(!data || !data.goal || !data.time) return; const goalEl = form?.querySelector('input[name="goal"][value="'+data.goal+'"]'); const timeEl = form?.querySelector('input[name="time"][value="'+String(data.time)+'"]'); if(goalEl) goalEl.checked = true; if(timeEl) timeEl.checked = true; const out = render(String(data.goal), String(data.time)); showResult(out.recTitle, out.recBody); }catch(_e){} })(); })(); (function(){ const targetDay = (function(){ const d = new Date(); d.setDate(d.getDate() + 9); d.setHours(17,0,0,0); return d.getTime(); })(); const elD = document.getElementById('cd-days'); const elH = document.getElementById('cd-hours'); const elM = document.getElementById('cd-mins'); function pad(n){ return String(n).padStart(2,'0'); } function tick(){ const now = Date.now(); let diff = Math.max(0, targetDay - now); const mins = Math.floor(diff / 60000); const days = Math.floor(mins / (60*24)); const hours = Math.floor((mins - days*60*24) / 60); const m = Math.floor(mins - days*60*24 - hours*60); if(elD) elD.textContent = String(days); if(elH) elH.textContent = pad(hours); if(elM) elM.textContent = pad(m); } tick(); setInterval(tick, 1000 * 15); })(); (function(){ const btnCopy = document.getElementById('copy-microplan'); const status = document.getElementById('copy-status'); const btnStart = document.getElementById('start-7min'); const wrap = document.getElementById('timer-wrap'); const readout = document.getElementById('timer-readout'); const toggle = document.getElementById('timer-toggle'); const reset = document.getElementById('timer-reset'); const close = document.getElementById('timer-close'); const text = [ 'Micro-plan (7 minutes):', '1) Anchor: pick breath/sound.', '2) Track drift; label once (planning/worry/memory).', '3) Return gently on the exhale.', '4) End: write one sentence about what changed.' ].join('\n'); function setStatus(t){ if(!status) return; status.textContent = t || ''; if(t){ setTimeout(()=>{ if(status.textContent===t) status.textContent=''; }, 2500); } } if(btnCopy){ btnCopy.addEventListener('click', async ()=>{ try{ await navigator.clipboard.writeText(text); setStatus('Copied.'); }catch(e){ try{ const ta = document.createElement('textarea'); ta.value = text; ta.style.position = 'fixed'; ta.style.left = '-9999px'; document.body.appendChild(ta); ta.select(); document.execCommand('copy'); document.body.removeChild(ta); setStatus('Copied.'); }catch(_e){ setStatus('Copy failed.'); } } }); } let total = 7*60; let remaining = total; let tId = null; function fmt(s){ const m = Math.floor(s/60); const r = s%60; return String(m).padStart(2,'0') + ':' + String(r).padStart(2,'0'); } function render(){ if(readout) readout.textContent = fmt(remaining); if(toggle) toggle.textContent = tId ? 'Pause' : 'Start'; } function stop(){ if(tId){ clearInterval(tId); tId = null; } render(); } function start(){ if(tId) return; const endAt = Date.now() + remaining*1000; tId = setInterval(()=>{ remaining = Math.max(0, Math.round((endAt - Date.now())/1000)); render(); if(remaining <= 0){ stop(); try{ if(window.navigator && navigator.vibrate) navigator.vibrate([120,80,120]); }catch(_e){} setStatus('Timer finished. Take 3 breaths, then write one sentence.'); } }, 250); render(); } if(btnStart && wrap){ btnStart.addEventListener('click', ()=>{ wrap.classList.remove('hidden'); render(); }); } if(toggle){ toggle.addEventListener('click', ()=>{ if(tId) stop(); else start(); }); } if(reset){ reset.addEventListener('click', ()=>{ remaining = total; stop(); render(); setStatus('Reset.'); }); } if(close && wrap){ close.addEventListener('click', ()=>{ stop(); remaining = total; render(); wrap.classList.add('hidden'); }); } render(); })();