A privately operated digital products company.

Building and growing scalable digital products through partnerships and performance based distribution.

© Copyright 2026. All Rights Reserved.

A Registered Company in England and Wales: 16058630

(() => { const root = document.getElementById('platform-sharp-site'); if (!root || root.dataset.psReady === 'true') return; root.dataset.psReady = 'true'; const syncViewport = () => { const viewport = window.visualViewport; const height = Math.round(viewport?.height || window.innerHeight); root.style.setProperty('--ps-vh', `${height}px`); }; const settleViewport = () => { syncViewport(); requestAnimationFrame(syncViewport); [120, 300, 600, 1000].forEach(delay => setTimeout(syncViewport, delay)); }; settleViewport(); const reducedMotion = window.matchMedia('(prefers-reduced-motion: reduce)').matches; if (!reducedMotion) { root.classList.add('ps-motion'); requestAnimationFrame(() => root.classList.add('ps-ready')); } const fill = root.querySelector('.ps-progress__fill'); const track = root.querySelector('.ps-progress__track'); if (!fill || !track) return; let ticking = false; const update = () => { ticking = false; const rect = root.getBoundingClientRect(); const scrollable = Math.max(root.offsetHeight - window.innerHeight, 1); const travelled = Math.min(Math.max(-rect.top, 0), scrollable); fill.style.transform = `scaleY(${travelled / scrollable})`; const start = window.innerHeight * .22; const maxTrackTravel = Math.max(root.offsetHeight - track.offsetHeight - start * 2, 0); track.style.translate = `0 ${Math.min(travelled, maxTrackTravel)}px`; }; const queueUpdate = () => { if (ticking) return; ticking = true; requestAnimationFrame(update); }; update(); window.addEventListener('scroll', queueUpdate, { passive: true }); window.addEventListener('resize', () => { syncViewport(); queueUpdate(); }, { passive: true }); window.addEventListener('load', settleViewport, { once: true }); window.addEventListener('pageshow', () => { settleViewport(); queueUpdate(); }); window.visualViewport?.addEventListener('resize', () => { syncViewport(); queueUpdate(); }); window.visualViewport?.addEventListener('scroll', syncViewport, { passive: true }); })();

Perspective

by Platform Sharp

A short guided reflection.

Free to use. No data is saved or stored by Platform Sharp.

Platform Sharp
PERSPECTIVE / SETUP1 / 7

Platform Sharp

Perspective

What feels more painful: staying where you are, or doing the work?

The plank is level and you are centred.

The two pains are balanced.

There is not yet enough pressure in either direction.

PERSPECTIVE / EDIT