1import{a as w,Q as x,d as k,I as y,i as _,b as h,k as e,l as a,w as l,u as o,v as d,F as I,m as L,R as T,S as p,p as i,o as f,n as S,t as m}from"./DfMkgiUT.js";import{A as M}from"./4Mo8fJXc.js";(function(){try{var r=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{};r.SENTRY_RELEASE={id:"02b00fabbe1395f3354278c4bba153e90d8fe508"};var s=new r.Error().stack;s&&(r._sentryDebugIds=r._sentryDebugIds||{},r._sentryDebugIds[s]="0820c7e1-3bc8-4d0d-9940-31cfcbd9d3d9",r._sentryDebugIdIdentifier="sentry-dbid-0820c7e1-3bc8-4d0d-9940-31cfcbd9d3d9")}catch{}})();const N=[["path",{d:"M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z",key:"r04s7s"}]],A=w("star",N),j=x("/about/mikko.jpg"),F=x("/about/mikko-signature.png"),z={class:"flex flex-col gap-[clamp(4rem,9vw,7.5rem)]"},R={class:"grid items-center gap-[clamp(2.5rem,7vw,6rem)] lg:grid-cols-[minmax(0,1.05fr)_minmax(340px,0.75fr)]","aria-labelledby":"about-title"},D={class:"flex flex-col items-start"},E={class:"mt-8 flex flex-wrap gap-3"},P={href:"#the-story"},C={class:"rounded-[2rem] border border-[var(--line)] bg-[var(--surface)] px-[clamp(1.25rem,3vw,2rem)] py-[clamp(1.5rem,4vw,2.5rem)] shadow-[0_24px_70px_-48px_rgba(27,42,35,0.55)] backdrop-blur-sm","aria-labelledby":"journey-title"},O={class:"mt-8 grid list-none gap-7 p-0 sm:grid-cols-2 lg:grid-cols-4 lg:gap-0"},B={class:"text-xs font-extrabold tracking-[0.09em] text-[var(--green)] uppercase"},U={class:"mt-2 text-base font-extrabold tracking-[-0.015em] text-[var(--ink)]"},V={class:"mt-2 text-sm leading-6 text-[var(--ink-soft)]"},W={class:"grid overflow-hidden rounded-[2rem] bg-[#193326] text-[#fbf7ec] shadow-[0_32px_90px_-48px_rgba(13,20,16,0.8)] lg:grid-cols-[minmax(0,1.25fr)_minmax(300px,0.75fr)]","aria-labelledby":"personal-title"},Y={class:"flex flex-col justify-center p-[clamp(1.75rem,5vw,4rem)]"},H={class:"mt-6 inline-flex w-fit items-center gap-2 rounded-md text-sm font-bold text-[#fbf7ec] underline decoration-[#9bc6a9] decoration-2 underline-offset-4 outline-none transition-colors hover:text-[#b8d8c1] focus-visible:ring-3 focus-visible:ring-[#9bc6a9]/60",href:"mailto:[email protected]"},G={class:"mx-auto flex max-w-[760px] flex-col items-center text-center","aria-labelledby":"next-title"},J={class:"mt-8 flex flex-wrap justify-center gap-3"},u="mailto:[email protected]",Q="https://apps.apple.com/app/apple-store/id727466441?action=write-review",c="About Lokimaps â A map app sixteen years in the making",g="Meet Mikko and discover how a need for topographic maps on iPhone grew from ShingleNav and three Nordic country apps into Lokimaps.",K=k({__name:"about",setup(r){const s=[{year:"2010",title:"A map in a photograph",body:"ShingleNav turned a photo of a paper map into something you could carry and navigate with on an iPhone."},{year:"Official maps",title:"Maastokartta â Suomi",body:"When MML opened its digital map data, Finlandâs first iPhone app built around the official topographic maps was born."},{year:"Across the Nordics",title:"Three country apps",body:"Topo maps â Finland, Sweden and Norway grew as separate apps, each with official maps for its own country."},{year:"2026",title:"One home: Lokimaps",body:"The Finnish app became Lokimaps, bringing the three Nordic maps together. Spain soon followed as the first country beyond the Nordics."}];return y({title:c,description:g,ogTitle:c,ogDescription:g,ogType:"website",ogUrl:"https://www.lokimaps.com/about",ogImage:"/about/mikko.jpg",twitterCard:"summary_large_image",twitterTitle:c,twitterDescription:g,twitterImage:"/about/mikko.jpg"}),_({htmlAttrs:{lang:"en"},link:[{rel:"canonical",href:"https://www.lokimaps.com/about"}]}),(b,t)=>(f(),h("div",z,[e("section",R,[e("div",D,[t[2]||(t[2]=e("p",{class:"text-[0.8125rem] font-bold tracking-[0.1em] text-[var(--green)] uppercase"}
1," The story behind Lokimaps ",-1)),t[3]||(t[3]=e("h1",{id:"about-title",class:"mt-4 max-w-[13ch] text-[clamp(2.75rem,7vw,5.5rem)] leading-[0.97] font-extrabold tracking-[-0.055em] text-[var(--ink)]"}," A map app sixteen years in the making. ",-1)),t[4]||(t[4]=e("p",{class:"mt-6 max-w-[55ch] text-[clamp(1.0625rem,2vw,1.3125rem)] leading-[1.55] text-[var(--ink-soft)]"}," Lokimaps began with a missing tool, a photographed paper map and a belief that the best outdoor technology should help you see more of the world, not more of the app. ",-1)),e("div",E,[a(o(d),{"as-child":"",size:"lg",class:"group/story h-12 rounded-xl bg-[var(--green)] px-5 font-bold text-primary-foreground shadow-[0_16px_30px_-18px_rgba(27,42,35,0.55)] hover:bg-[color-mix(in_srgb,var(--green)_88%,black)]"},{default:l(()=>[e("a",P,[t[0]||(t[0]=i(" Read the story ",-1)),a(o(M),{"data-icon":"inline-end",class:"transition-transform group-hover/story:translate-x-0.5 motion-reduce:transition-none","aria-hidden":"true"})])]),_:1}),a(o(d),{"as-child":"",variant:"outline",size:"lg",class:"h-12 rounded-xl border-[var(--line)] bg-[var(--surface)] px-5 font-bold text-[var(--ink)] backdrop-blur-sm"},{default:l(()=>[e("a",{href:u},[a(o(p),{"data-icon":"inline-start","aria-hidden":"true"}),t[1]||(t[1]=i(" Talk to Mikko ",-1))])]),_:1})])]),t[5]||(t[5]=e("figure",{class:"relative mx-auto w-full max-w-[480px] lg:mr-0"},[e("div",{class:"absolute -inset-4 -z-1 rotate-2 rounded-[2rem] border border-[var(--green)]/20 bg-[var(--green-soft)]","aria-hidden":"true"}),e("div",{class:"overflow-hidden rounded-[1.75rem] border border-white/50 bg-[var(--surface)] p-2 shadow-[0_32px_80px_-35px_rgba(27,42,35,0.65)] backdrop-blur-sm dark:border-white/10"},[e("img",{class:"aspect-[3/4] w-full rounded-[1.25rem] object-cover",src:j,alt:"Mikko, the creator of Lokimaps, sitting outdoors",width:"1200",height:"1600",loading:"eager",fetchpriority:"high",decoding:"async"})]),e("figcaption",{class:"absolute right-4 bottom-4 rounded-full border border-white/15 bg-[#132a20]/88 px-4 py-2 text-xs font-bold tracking-[0.04em] text-[#fbf7ec] shadow-lg backdrop-blur-md"}," Mikko · creator of Lokimaps ")],-1))]),e("section",C,[t[6]||(t[6]=e("div",{class:"flex flex-col gap-2 sm:flex-row sm:items-end sm:justify-between"},[e("div",null,[e("p",{class:"text-xs font-bold tracking-[0.1em] text-[var(--green)] uppercase"}," The journey "),e("h2",{id:"journey-title",class:"mt-2 text-[clamp(1.5rem,3vw,2rem)] leading-tight font-extrabold tracking-[-0.03em] text-[var(--ink)]"}," From paper maps to Lokimaps ")]),e("p",{class:"text-sm text-[var(--ink-soft)]"},"One idea, still moving forward.")],-1)),e("ol",O,[(f(),h(I,null,L(s,(n,v)=>e("li",{key:n.year,class:S(["relative flex flex-col border-[var(--line)] lg:px-6",v===0?"lg:pl-0":"lg:border-l"])},[e("span",B,m(n.year),1),e("h3",U,m(n.title),1),e("p",V,m(n.body),1)],2)),64))])]),t[18]||(t[18]=T('<section id="the-story" class="grid scroll-mt-24 gap-10 lg:grid-cols-[minmax(180px,0.42fr)_minmax(0,1fr)] lg:gap-[clamp(3rem,8vw,7rem)]" aria-labelledby="story-title"><div><p class="text-xs font-bold tracking-[0.1em] text-[var(--green)] uppercase"> In Mikkoâs words </p><h2 id="story-title" class="mt-3 max-w-[12ch] text-[clamp(1.75rem,3.5vw,2.5rem)] leading-[1.08] font-extrabold tracking-[-0.035em] text-[var(--ink)]"> It started with a map I could not find. </h2></div><div class="flex max-w-[68ch] flex-col gap-10 text-[clamp(1rem,1.5vw,1.125rem)] leading-[1.75] text-[var(--ink)]"><div class="flex flex-col gap-5"><p> In 2010, I needed a proper topographic map app for my iPhone. It sounds obvious now, but official digital topographic maps were not generally available then, and the app I wanted simply did not exist. So I made one. </p><p> The first version was called <strong>ShingleNav</strong>. You could photograph a paper map, position it on your phone and navigate using that image. It was a practical answer to a personal problem, but it travelled much farther than I ever expected. People around the world found ShingleNav and used it in places and for purposes I had never imagined while building it. </p></div><div class="flex flex-col gap-5 border-t border-[var(--line)] pt-10"><h3 class="text-[clamp(1.375rem,2.5vw,1.75rem)] leading-tight font-extrabold tracking-[-0.025em] text-[var(--ink)]"> Then the real maps arrived. </h3><p> When the National Land Survey of Finland (MML) released its first digital map data for outside developers, a new possibility opened. I created <strong>Maastokartta â Suomi</strong>, Finlandâs first iPhone topographic map app built around the countryâs official maps. </p><p> For many years it was Finlandâs most popular topographic map app. People trusted it on trails, at cabins, in forests and wherever a clear view of the terrain mattered. I kept the app alive throughout those years, although for a long stretch I could not give it the pace of development I knew it deserved. </p></div><div class="flex flex-col gap-5 border-t border-[var(--line)] pt-10"><h3 class="text-[clamp(1.375rem,2.5vw,1.75rem)] leading-tight font-extrabold tracking-[-0.025em] text-[var(--ink)]"> One home for official maps. </h3><p> For years, I managed three separate apps: <strong>Topo maps â Finland</strong>, <strong>Topo maps â Sweden</strong> and <strong>Topo maps â Norway</strong>. Each one carried the official topographic maps of its own country. </p><p> In 2026, I began bringing that experience together. Topo maps â Finland was rebranded as <strong>Lokimaps</strong> and expanded so Finland, Sweden and Norway could all live in one app. </p><p> Spain followed soon after, with the official topographic map from Instituto Geográfico Nacional. It was the first Lokimaps country outside the Nordics, and it set a clear direction for what comes next: use the best local cartography available and keep the map at the center of the app. </p><div class="mt-2 border-l-2 border-[var(--green)] pl-[clamp(1.25rem,3vw,2rem)]"><p class="text-xs font-bold tracking-[0.1em] text-[var(--green)] uppercase"> Why Lokimaps? </p><h4 class="mt-3 text-[clamp(1.25rem,2.2vw,1.5rem)] leading-tight font-extrabold tracking-[-0.02em] text-[var(--ink)]"> A name rooted in journeys and home. </h4><div class="mt-4 flex flex-col gap-4 text-[var(--ink-soft)]"><p> In Finnish, <em>loki</em> means a log, a record of a journey and what happened along the way. That felt naturally at home in an outdoor map app. </p><p> The name is also a tribute to my much-loved home, <strong class="text-[var(--ink)]">Loukkojärvi</strong>, which is often simply called Lokis. It connects the places we explore with the place I call home, which felt exactly right for this next chapter. </p></div></div></div><aside class="rounded-[1.75rem] border border-[var(--green)]/20 bg-[var(--green-soft)] p-[clamp(1.5rem,4vw,2.25rem)]" aria-labelledby="maps-first-title"><p class="text-xs font-bold tracking-[0.1em] text-[var(--green)] uppercase"> The principle that stays </p><h3 id="maps-first-title" class="mt-3 text-[clamp(1.5rem,3vw,2rem)] leading-tight font-extrabold tracking-[-0.03em] text-[var(--ink)]"> Maps first, always. </h3><p class="mt-4 leading-[1.7] text-[var(--ink-soft)]"> I use Lokimaps myself almost every day. My goal is to keep it simple while giving you every outdoor tool that truly earns its place. At the center are the maps: beautiful, sharp, official topographic maps that make the terrain easy to understand. </p></aside><div class="flex flex-col gap-5 border-t border-[var(--line)] pt-10"><h3 class="text-[clamp(1.375rem,2.5vw,1.75rem)] leading-tight font-extrabold tracking-[-0.025em] text-[var(--ink)]"> A new chapter, with the same compass. </h3><p> In 2026, something changed. With modern AI tools helping me turn ideas into working improvements faster, I can finally maintain and develop Lokimaps the way I had dreamed about for years. The tools are new, but the direction still comes from sixteen years of building, listening and using the app outdoors myself. </p><p> I love maps, and I want to offer the best topographic map experience possible on iOS. That means polishing the details, improving what is already there and carefully adding new capabilities without losing the simplicity that made the app useful in the first place. </p></div></div></section>',1)),e("section",W,[e("div",Y,[t[8]||(t[8]=e("p",{class:"text-xs font-bold tracking-[0.1em] text-[#9bc6a9] uppercase"}," A personal promise ",-1)),t[9]||(t[9]=e("h2",{id:"personal-title",class:"mt-3 max-w-[16ch] text-[clamp(1.75rem,4vw,3rem)] leading-[1.05] font-extrabold tracking-[-0.04em]"}," Built with you, not just for you. ",-1)),t[10]||(t[10]=e("p",{class:"mt-5 max-w-[55ch] text-[clamp(1rem,1.6vw,1.125rem)] leading-7 text-[#dbe9df]"}," I read every message. Your field experience, ideas and honest feedback help decide what Lokimaps becomes next. Join me in building an app that keeps the map clear, the tools depen
1dable and the outdoors at the center. ",-1)),e("a",H,[a(o(p),{class:"size-4","aria-hidden":"true"}),t[7]||(t[7]=i(" [email protected] ",-1))])]),t[11]||(t[11]=e("div",{class:"m-4 flex flex-col justify-center rounded-[1.5rem] bg-white p-[clamp(1.5rem,4vw,2.5rem)] text-[#1b2a23] lg:ml-0"},[e("img",{class:"h-auto w-full max-w-[310px]",src:F,alt:"Mikkoâs signature",width:"736",height:"334",loading:"lazy",decoding:"async"}),e("p",{class:"mt-2 text-lg font-extrabold"},"Mikko"),e("p",{class:"mt-1 text-sm leading-5 text-[#4a5b50]"},[i(" Creator of Lokimaps"),e("br"),i(" Map enthusiast and daily user ")])],-1))]),e("section",G,[t[15]||(t[15]=e("p",{class:"text-xs font-bold tracking-[0.1em] text-[var(--green)] uppercase"}," Help shape the next chapter ",-1)),t[16]||(t[16]=e("h2",{id:"next-title",class:"mt-3 text-[clamp(2rem,5vw,3.5rem)] leading-[1.03] font-extrabold tracking-[-0.045em] text-[var(--ink)]"}," Letâs build it together. ",-1)),t[17]||(t[17]=e("p",{class:"mt-5 max-w-[58ch] text-[clamp(1rem,1.7vw,1.125rem)] leading-7 text-[var(--ink-soft)]"}," Tell me what would make Lokimaps better for your time outdoors. And if the app has earned a place on your phone, an App Store review is one of the most helpful ways to spread the word. ",-1)),e("div",J,[a(o(d),{"as-child":"",size:"lg",class:"h-12 rounded-xl bg-[var(--green)] px-5 font-bold text-primary-foreground hover:bg-[color-mix(in_srgb,var(--green)_88%,black)]"},{default:l(()=>[e("a",{href:u},[a(o(p),{"data-icon":"inline-start","aria-hidden":"true"}),t[12]||(t[12]=i(" Share your feedback ",-1))])]),_:1}),a(o(d),{"as-child":"",variant:"outline",size:"lg",class:"h-12 rounded-xl border-[var(--line)] bg-[var(--surface)] px-5 font-bold text-[var(--ink)] backdrop-blur-sm"},{default:l(()=>[e("a",{href:Q,target:"_blank",rel:"noopener"},[a(o(A),{"data-icon":"inline-start","aria-hidden":"true"}),t[13]||(t[13]=i(" Review on the App Store ",-1)),t[14]||(t[14]=e("span",{class:"sr-only"},"(opens in a new tab)",-1))])]),_:1})])])]))}});export{K as default};
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.