PageSourceSearch

https://zenpiano.art/_next/static/chunks/app/%5Blocale%5D/about/page-d60c9eb6b4d009f7.js

js zenpiano.art collected 2026-09-24 14:09:13 UTC 17,836 bytes, 1 lines download raw bytes

1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8111],{1339:(e,t,a)=>{"use strict";a.d(t,{G:()=>r});var o=a(57714);function r({eventType:e,page:t,locale:a,metadata:s={}}){let l={page:t,locale:a,source:"seo_page",...s};"page_view"===e?o.zS.page(t,{locale:a,source:"seo_page",...s}):o.zS.track(e,l)}},1784:(e,t,a)=>{"use strict";a.d(t,{r:()=>o});let o=[{titleKey:"footer.appsTitle",links:[{labelKey:"footer.playPianoOnline",href:"/play",localize:!1},{labelKey:"footer.virtualPianoSheets",href:"/library",localize:!0},{labelKey:"footer.midiConverter",href:"/convert",localize:!0}]},{titleKey:"footer.resourcesTitle",links:[{labelKey:"nav.features",href:"/#features",localize:!0},{labelKey:"footer.blog",href:"/blog",localize:!0},{labelKey:"nav.faq",href:"/#faq",localize:!0},{labelKey:"nav.privacy",href:"/privacy-policy",localize:!0},{labelKey:"footer.legal",href:"/legal",localize:!0}]},{titleKey:"footer.companyTitle",links:[{labelKey:"footer.aboutUs",href:"/about",localize:!0},{labelKey:"footer.compare",href:"/#comparison",localize:!0}]}]},8641:e=>{e.exports={pageShell:"about-route_pageShell__xghPQ",mainRegion:"about-route_mainRegion__BEk0w",heroSection:"about-route_heroSection__clhn8",heroInner:"about-route_heroInner__Judgi",heroTitle:"about-route_heroTitle__t5gBa",heroSubtitle:"about-route_heroSubtitle__OJgFw",heroDescription:"about-route_heroDescription__fTBHt",storySection:"about-route_storySection__0LYvT",storyInner:"about-route_storyInner__hvq7l",tablist:"about-route_tablist__EoNJq",tab:"about-route_tab__oq081",tabSelected:"about-route_tabSelected__VRdOF",storyPanel:"about-route_storyPanel__AYfae",storyTitle:"about-route_storyTitle__MmOdJ",storyBody:"about-route_storyBody__Wa5A4",subheading:"about-route_subheading__Agpuk",list:"about-route_list__nCYvB",listItem:"about-route_listItem__Lncpt",storyOutro:"about-route_storyOutro__sMqVs",valuesSection:"about-route_valuesSection__JtUlA",valuesInner:"about-route_valuesInner__9qx5_",valuesHeader:"about-route_valuesHeader__XFWYO",valuesTitle:"about-route_valuesTitle__tFu_7",valuesSubtitle:"about-route_valuesSubtitle__k5qvL",valuesGrid:"about-route_valuesGrid__Ufjne",valueCard:"about-route_valueCard__bCG5_",valueIconWrap:"about-route_valueIconWrap__ytFCc",valueEnso:"about-route_valueEnso__tP0m_",rotateEnso:"about-route_rotateEnso__rwd4W",valueIconBg:"about-route_valueIconBg__pUfj0",valueTitle:"about-route_valueTitle__A6Mp1",valueDescription:"about-route_valueDescription__gqJAa",ctaSection:"about-route_ctaSection__JydU_",ctaInner:"about-route_ctaInner__gARMz",ctaTitle:"about-route_ctaTitle__rC4CH",ctaSubtitle:"about-route_ctaSubtitle__gd7PD",ctaButton:"about-route_ctaButton__jCZ_V",aboutMeGrid:"about-route_aboutMeGrid__zQcZk",aboutMeLeft:"about-route_aboutMeLeft__qqUlH",aboutMeIntro:"about-route_aboutMeIntro__lK14K",blockquote:"about-route_blockquote__I
1FC2s",blockquoteText:"about-route_blockquoteText__sheE4",blockquoteAuthor:"about-route_blockquoteAuthor__8OqZN",aboutMeClosing:"about-route_aboutMeClosing__mewqT",aboutMeRight:"about-route_aboutMeRight__nC41q",aboutMePhotoWrap:"about-route_aboutMePhotoWrap__MBynM",aboutMePhoto:"about-route_aboutMePhoto__OCzJ9",aboutMeSocials:"about-route_aboutMeSocials__LKev_",socialButton:"about-route_socialButton__7jEPw"}},34636:(e,t,a)=>{"use strict";a.d(t,{e:()=>r});var o=a(73365);function r(e){return(0,o.jsxs)("svg",{viewBox:"0 0 24 24",width:"24",height:"24",xmlns:"http://www.w3.org/2000/svg",...e,"aria-hidden":"true",focusable:"false",children:[(0,o.jsx)("circle",{cx:"12",cy:"12",r:"10",fill:"currentColor"}),(0,o.jsx)("path",{d:"M8.2 6.5h4.7a3.45 3.45 0 0 1 0 6.9h-2.2v4.1H8.2V6.5Zm2.5 2.4V11h2.2a1.05 1.05 0 0 0 0-2.1h-2.2Z",fill:"#fff"})]})}},36286:(e,t,a)=>{"use strict";a.d(t,{GS:()=>l,XJ:()=>r,_d:()=>i,o3:()=>s,o7:()=>o});let o={href:"https://www.producthunt.com/products/zen-virtual-piano",label:"Product Hunt"},r={CHROME:"https://chromewebstore.google.com/detail/dfacnjidgbagicaekenjgclfnhdnjjdi",EDGE:"https://microsoftedge.microsoft.com/addons/detail/oekpiebnlablnobneadoifaabpjkghpi",MS_STORE:"https://apps.microsoft.com/detail/9n5cqgzwmktm",SNAP_STORE:"https://snapcraft.io/zen-virtual-piano"},s={VP_NET:"vp.net",CHROME_PIANO:"chrome-piano",ONLINE_PIANO:"online-piano"},l={piano:{keysCount:61,keysRange:"C2-C7",latencyMs:20},content:{instrumentsCount:12,sheetsCount:170,bundledSheetsCount:10,onlineLibraryScale:"thousands",themesCount:100},brand:{name:"Zen Virtual Piano",trustCount:"7,000+",trustCountSource:"product-owner-authorized fact supplied for the app-wide trust-count update.",trustCountAsOf:"2026-08-17"},perf:{firstLoadSec:"2.0s",cachedLoadSec:"<0.5s",memoryMb:150,competitors:{[s.VP_NET]:{name:"virtualpiano.net",url:"https://virtualpiano.net",platforms:["web"],monetization:"Ad-supported (Free) / Subscription (Pro)",features:{offlineSupport:!1,instrumentsCount:"20+",themesCount:"No",themesCountDisplay:"10+",sheetLibrary:"Yes (User-generated)",keysCount:"88",adFree:!1,recordPlayback:"Yes (30 sec)",recordingLength:"30 sec (Free) / Unlimited (Pro)",sustainMetronome:!0,vpNetIntegration:"N/A"},performance:{avgLoadSec:"6s+",worstCaseLoad:"minutes",memoryRangeMb:"600MB - 1GB+"}},[s.CHROME_PIANO]:{name:"Chrome Piano",url:"#",platforms:["browser-extension"],monetization:"Free",features:{offlineSupport:!0,instrumentsCount:"Piano Only",themesCount:"Light/Dark",sheetLibrary:"50+",keysCount:"68",adFree:!0,recordPlayback:!0,sustainMetronome:!1,vpNetIntegration:!1},performance:{avgLoadSec:"<0.5s",worstCaseLoad:"<0.5s",memoryRangeMb:"150MB - 300MB"}},[s.ONLINE_PIANO]:{name:"Online Piano",url:"#",platforms:["browser-extension"],monetization:"Ad-supported / Premium",features:{offlineSupport:!0,instrumentsCount:"Piano Only",themesCount:"No",sheetLibrary:"No",keysCount:"68",adFree:"Yes (with Premium version)",recordPlayback:!1,sustainMetronome:"Yes (No metronome)",vpNetIntegration:!1},performance:{avgLoadSec:"<0.5s",worstCaseLoad:"<0.5s",memoryRangeMb:"400MB - 600MB"}}}}},i={copyrightYear:"2026",trustSnapshotYear:"2026",legalLastUpdatedYear:"2026",privacyLastUpdatedYear:"2025",privacyLastUpdated:"March 13, 2026, 1:29 PM",benchmarkYear:"2026",vsDateModifiedIso:"2026-03-08",schemaDatePublishedIso:"2025-11-01",schemaDateModifiedIso:"2026-03-08"}},45022:(e,t,a)=>{Promise.resolve().then(a.t.bind(a,8641,23)),Promise.resolve().then(a.bind(a,49028)),Promise.resolve().then(a.bind(a,62527)),Promise.resolve().then(a.bind(a,85623)),Promise.resolve().then(a.bind(a,81621))},49028:(e,t,a)=>{"use strict";a.d(t,{default:()=>x});var o=a(73365),r=a(1521),s=a(99568),l=a.n(s),i=a(84803),n=a(74874),u=a(57714),c=a(1339),d=a(48767),h=a(36286),b=a(8641),m=a.n(b);let p=()=>(0,o.jsx)("svg",{viewBox:"0 0 24 24","aria-hidden":"true",focusable:"false",children:(0,o.jsx)("path",{fill:"currentColor",d:"M12 13c-2.5 0-4.5 1-4.5 1 1.7 2.4 4.5 3 4.5 3s2.8-.6 4.5-3c0 0-2-1-4.5-1zm0-1.5c1.4-1.6 1.4-3.8 0-6-1.4 2.2-1.4 4.4 0 6zm-3.2 1.1C7.4 11 6 9.5 6 7c2.3.5 3.7 2 3.7 4 .1.6-1 .9-.9 1.6zm6.4 0c.1-.7-1-1-1-1.6 0-2 1.4-3.5 3.8-4 0 2.5-1.4 4-3.2 5.6z"})}),_=()=>(0,o.jsx)("svg",{viewBox:"0 0 24 24","aria-hidden":"true",focusable:"false",children:(0,o.jsx)("path",{fill:"currentColor",d:"M11 21h-1l1-7H7.5c-.58 0-.57-.32-.38-.7.19-.39.53-1.06.8-1.62C8.86 10.62 10 8 11.41 5h1l-1 7h3.5c.49 0 .56.33.33.72L11.7 21H11z"})}),v=()=>(0,o.jsxs)("svg",{viewBox:"0 0 100 100",fill:"none","aria-hidden":"true",focusable:"false",children:[(0,o.jsx)("path",{d:"M50,10 C75,10 95,30 95,50 C95,75 70,95 45,90 C25,85 10,65 15,45 C18,35 25,25 35,20 C45,15 60,15 70,20",fill:"none",stroke:"currentColor",strokeWidth:"6",strokeLinecap:"round",style:{opacity:.8}}),(0,o.jsx)("path",{d:"M48,12 C20,15 5,40 10,65 C15,85 35,95 55,90 C80,85 92,60 85,35",fill:"none",stroke:"currentColor",strokeWidth:"3",strokeLinecap:"round",style:{opacity:.4}})]}),f=({value:e})=>{let t=r.useRef(null),a=r.useRef(null);return(0,o.jsxs)("article",{ref:t,className:m().valueCard,"data-radius-role":"outer-card",onMouseMove:o=>{if(!t.current||!a.current||!e.hasEnso)return;let{left:r,top:s,width:l,height:i}=t.current.getBoundingClientRect(),n=(o.clientX-r-l/2)/15,u=(o.clientY-s-i/2)/15;a.current.style.transform=`translate(${n}px, ${u}px)`},onMouseLeave:()=>{a.current&&(a.current.style.transform="translate(0px, 0px)")},children:[e.hasEnso?(0,o.jsx)("div",{ref:a,className:m().valueEnso,children:(0,o.jsx)(v,{})}):(0,o.jsx)("div",{className:m().valueIconBg,"aria-hidden":"true",children:e.icon}),(0,o.jsx)("div",{className:m().valueIconWrap,"aria-hidden":"true",children:e.icon}),(0,o.jsx)("h3",{className:m().valueTitle,children:e.title}),(0,o.jsx)("p",{className:m().valueDescription,children:e.description})]})};function x({children:e}){let t=(0,i.Ym)(),a=(0,n.c)("about"),[s,b]=(0,r.useState)(0);r.useEffect(()=>{(0,c.G)({eventType:"page_view",page:"/about",locale:t,metadata:{route_type:"marketing"}})},[t]);let v=[{icon:(0,o.jsx)(p,{}),title:a("values.items.zenPhilosophy.title"),description:a("values.items.zenPhilosophy.description",{instrumentsCount:h.GS.content.instrumentsCount}),hasEnso:!0},{icon:(0,o.jsx)(_,{}),title:a("values.items.uninterruptedFlow.title"),description:a("values.items.uninterruptedFlow.description"),hasEnso:!1}],y=e=>{u.zS.track(u.E6.ABOUT_TAB_CHANGED,{tab_index:e,tab_label:0===e?a("tabs.whyZen"):a("tabs.aboutAuthor")}),b(e)},g=a("tabs.whyZen"),j=a("tabs.aboutAuthor");return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("section",{className:m().heroSection,children:(0,o.jsxs)("div",{className:m().heroInner,children:[(0,o.jsx)("h1",{className:m().heroTitle,children:a("hero.title")}),(0,o.jsx)("p",{className:m().heroSubtitle,children:a("hero.subtitle")}),(0,o.jsx)("p",{className:m().heroDescription,children:a("hero.description",{instrumentsCount:h.GS.content.instrumentsCount})})]})}),(0,o.jsx)("section",{className:m().storySection,children:(0,o.jsxs)("div",{className:m().storyInner,children:[(0,o.jsxs)("div",{className:m().tablist,role:"tablist","aria-label":a("tabs.ariaLabel"),onKeyDown:e=>{let t=Array.from(e.currentTarget.querySelectorAll('[role="tab"]'));if(0===t.length)return;let a=s;switch(e.key){case"ArrowLeft":a=(s-1+t.length)%t.length;break;case"ArrowRight":a=(s+1)%t.length;break;case"Home":a=0;break;case"End":a=t.length-1;break;default:return}e.preventDefault(),a!==s&&y(a),t[a]?.focus()},children:[(0,o.jsx)("button",{type:"button",role:"tab",id:"about-tab-why-zen","aria-selected":0===s,"aria-controls":"about-tabpanel-why-zen",tabIndex:0===s?0:-1,className:`${m().tab}${0===s?` ${m().tabSelected}`:""}`,onClick:()=>y(0),children:g}),(0,o.jsx)("button",{type:"button",role:"tab",id:"about-tab-author","aria-selected":1===s,"aria-controls":"about-tabpanel-author",tabIndex:1===s?0:-1,className:`${m().tab}${1===s?` ${m().tabSelected}`:""}`,onClick:()=>y(1),children:j})]}),0===s&&(0,o.jsxs)("article",{className:m().storyPanel,"data-radius-role":"outer-card",role:"tabpanel",id:"about-tabpanel-why-zen","aria-labelledby":"about-tab-why-zen",children:[(0,o.jsx)("h3",{className:m().storyTitle,children:a("story.title")}
1),(0,o.jsx)("p",{className:m().storyBody,children:a("story.intro")}),(0,o.jsx)("h4",{className:m().subheading,children:a("story.problemTitle")}),(0,o.jsxs)("ul",{className:m().list,children:[(0,o.jsx)("li",{className:m().listItem,children:a("story.problems.latency")}),(0,o.jsx)("li",{className:m().listItem,children:a("story.problems.ads")}),(0,o.jsx)("li",{className:m().listItem,children:a("story.problems.connectivity")})]}),(0,o.jsx)("h4",{className:m().subheading,children:a("story.solutionTitle")}),(0,o.jsx)("p",{className:m().storyBody,children:a.rich("story.solutionBody",{strong:e=>(0,o.jsx)("strong",{children:e})})}),(0,o.jsxs)("ul",{className:m().list,children:[(0,o.jsx)("li",{className:m().listItem,children:a("story.benefits.instruments",{instrumentsCount:h.GS.content.instrumentsCount})}),(0,o.jsx)("li",{className:m().listItem,children:a("story.benefits.zeroLatency")}),(0,o.jsx)("li",{className:m().listItem,children:a("story.benefits.offline")}),(0,o.jsx)("li",{className:m().listItem,children:a("story.benefits.songs")})]}),(0,o.jsx)("p",{className:m().storyOutro,children:a("story.outro")})]}),1===s&&(0,o.jsx)("div",{role:"tabpanel",id:"about-tabpanel-author","aria-labelledby":"about-tab-author",children:e})]})}),(0,o.jsx)("section",{className:m().valuesSection,children:(0,o.jsxs)("div",{className:m().valuesInner,children:[(0,o.jsxs)("div",{className:m().valuesHeader,children:[(0,o.jsx)("h2",{className:m().valuesTitle,children:a("values.sectionTitle")}),(0,o.jsx)("p",{className:m().valuesSubtitle,children:a("values.sectionSubtitle")})]}),(0,o.jsx)("div",{className:m().valuesGrid,children:v.map((e,t)=>(0,o.jsx)(f,{value:e},t))})]})}),(0,o.jsx)("section",{className:m().ctaSection,children:(0,o.jsxs)("div",{className:m().ctaInner,children:[(0,o.jsx)("h2",{className:m().ctaTitle,children:a("cta.title")}),(0,o.jsx)("p",{className:m().ctaSubtitle,children:a("cta.subtitle")}),(0,o.jsx)(l(),{href:(0,d.dS)("/",t),className:m().ctaButton,onClick:()=>{u.zS.track(u.E6.ABOUT_CTA_CLICKED,{label:a("cta.button")}),(0,c.G)({eventType:"cta_click",page:"/about",locale:t,metadata:{cta_id:"about-footer-home",label:a("cta.button")}})},children:a("cta.button")})]})})]})}},57275:(e,t,a)=>{"use strict";a.d(t,{default:()=>_});var o=a(73365),r=a(84803),s=a(74874),l=a(1784),i=a(36286),n=a(48767),u=a(58872),c=a(99568),d=a.n(c),h=a(34636),b=a(8690),m=a.n(b);function p({locale:e,brandName:t,description:a,madeWith:r,copyright:s,productHuntLink:l,legalRow:i,groups:c}){return(0,o.jsx)("footer",{className:m().routeFooter,children:(0,o.jsxs)("div",{className:m().routeFooterInner,children:[(0,o.jsxs)("div",{className:m().routeFooterTop,children:[(0,o.jsxs)("div",{className:m().routeFooterBrandBlock,children:[(0,o.jsxs)("div",{className:m().routeFooterBrandRow,children:[(0,o.jsx)("span",{className:m().routeFooterBrandIcon,"aria-hidden":"true",children:(0,o.jsx)(u.default,{src:"/images/icon.webp",alt:"",width:24,height:24})}),(0,o.jsx)("span",{className:m().routeFooterBrandName,children:t})]}),(0,o.jsx)("p",{className:m().routeFooterDescription,children:a}),(0,o.jsx)("a",{className:m().routeFooterSocialLink,href:l.href,target:"_blank",rel:"noopener noreferrer","aria-label":l.label,title:l.label,children:(0,o.jsx)(h.e,{className:m().routeFooterSocialMark})})]}),(0,o.jsx)("div",{className:m().routeFooterColumns,children:c.map(t=>(0,o.jsxs)("section",{className:m().routeFooterColumn,children:[(0,o.jsx)("h2",{className:m().routeFooterHeading,children:t.title}),(0,o.jsx)("ul",{className:m().routeFooterLinkList,children:t.links.map(a=>(0,o.jsx)("li",{children:(0,o.jsx)(d(),{href:(0,n.YY)(a.href,e),prefetch:!1,className:m().routeFooterLink,children:a.name})},`${t.title}-${a.href}`))})]},t.title))})]}),(0,o.jsxs)("div",{className:m().routeFooterBottom,children:[(0,o.jsx)("span",{children:s}),(0,o.jsx)("span",{children:r})]}),i?(0,o.jsx)("div",{className:m().routeFooterLegalRow,children:i}):null]})})}function _({legalRow:e}){let t=(0,r.Ym)(),a=(0,s.c)("footer"),u=(0,s.c)("common"),c=(0,s.c)("nav"),d=e=>{let[t,o]=e.split(".");return"footer"===t?a(o):c(o)},h=l.r.map(e=>({title:d(e.titleKey),links:e.links.map(e=>({name:d(e.labelKey),href:e.localize?(0,n.YY)(e.href,t):e.href}))}));return(0,o.jsx)(p,{locale:t,brandName:u("brandName"),description:a("description"),madeWith:a("madeWith"),copyright:a("copyright",{copyrightYear:new Date().getFullYear()}),productHuntLink:i.o7,legalRow:e,groups:h})}},62527:(e,t,a)=>{"use strict";a.d(t,{default:()=>o.default});var o=a(57275)},81621:(e,t,a)=>{"use strict";a.d(t,{default:()=>c});var o=a(73365);a(1521);var r=a(58872),s=a(74874),l=a(1339),i=a(8641),n=a.n(i);let u=()=>(0,o.jsx)("svg",{viewBox:"0 0 24 24","aria-hidden":"true",focusable:"false",width:"20",height:"20",children:(0,o.jsx)("path",{fill:"currentColor",d:"M14 6V4h-4v2h-4c-1.1 0-2 .9-2 2v1h20V8c0-1.1-.9-2-2-2h-4zm-3 0V5h2v1h-2zM2 10v9c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2v-9H2zm8 5H8v2H6v-2H4v-2h2v-2h2v2h2v2z"})}),c=()=>{let e=(0,s.c)("aboutMe"),t={title:e("title"),intro:e("intro"),quote:e("quote"),author:e("author"),closing:e("closing"),githubLabel:e("githubLabel"),photoAlt:e("photoAlt"),upworkLabel:e("upworkLabel")};return(0,o.jsxs)("div",{className:n().aboutMeGrid,children:[(0,o.jsxs)("div",{className:n().aboutMeLeft,children:[(0,o.jsx)("p",{className:n().aboutMeIntro,children:t.intro}),(0,o.jsxs)("blockquote",{className:n().blockquote,children:[(0,o.jsx)("p",{className:n().blockquoteText,children:t.quote}),(0,o.jsx)("p",{className:n().blockquoteAuthor,children:t.author})]}),(0,o.jsx)("p",{className:n().aboutMeClosing,children:t.closing})]}),(0,o.jsx)("div",{className:n().aboutMeRight,children:(0,o.jsxs)("div",{className:n().aboutMePhotoWrap,children:[(0,o.jsx)("div",{className:n().aboutMePhoto,children:(0,o.jsx)(r.default,{src:"/images/about/about-me.jpg",alt:t.photoAlt,fill:!0,style:{objectFit:"cover"},sizes:"(max-width: 768px) 100vw, 280px"})}),(0,o.jsxs)("div",{className:n().aboutMeSocials,children:[(0,o.jsx)("a",{className:n().socialButton,href:"https://github.com/ZenStudioLab",target:"_blank",rel:"noopener noreferrer","aria-label":t.githubLabel,onClick:()=>(0,l.G)({eventType:"cta_click",page:"global",locale:"en",metadata:{cta_id:"github_profile",position:"about_me"}}),children:(0,o.jsx)(r.default,{src:"/images/vendors/icons8-github.svg",alt:"GitHub",width:20,height:20})}),(0,o.jsx)("a",{className:n().socialButton,href:"https://www.upwork.com/freelancers/~01ab0d8d6efd33201c",target:"_blank",rel:"noopener noreferrer","aria-label":"Upwork Profile",title:e("upworkLabel"),onClick:()=>(0,l.G)({eventType:"cta_click",page:"global",locale:"en",metadata:{cta_id:"upwork_profile",position:"about_me"}}),children:(0,o.jsx)(u,{})})]})]})})]})}}},e=>{e.O(0,[1622,4845,3720,7592,6789,9568,5591,8103,2580,5197,5561,8533,7714,6258,5623,2347,5158,7358],()=>e(e.s=45022)),_N_E=e.O()}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.