1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,33525,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"warnOnce",{enumerable:!0,get:function(){return n}});let n=e=>{}},75254,e=>{"use strict";var t=e.i(71645);let r=(...e)=>e.filter((e,t,r)=>!!e&&""!==e.trim()&&r.indexOf(e)===t).join(" ").trim(),n=e=>{let t=e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,r)=>r?r.toUpperCase():t.toLowerCase());return t.charAt(0).toUpperCase()+t.slice(1)};var o={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let i=(0,t.forwardRef)(({color:e="currentColor",size:n=24,strokeWidth:i=2,absoluteStrokeWidth:a,className:s="",children:l,iconNode:u,...f},c)=>(0,t.createElement)("svg",{ref:c,...o,width:n,height:n,stroke:e,strokeWidth:a?24*Number(i)/Number(n):i,className:r("lucide",s),...!l&&!(e=>{for(let t in e)if(t.startsWith("aria-")||"role"===t||"title"===t)return!0;return!1})(f)&&{"aria-hidden":"true"},...f},[...u.map(([e,r])=>(0,t.createElement)(e,r)),...Array.isArray(l)?l:[l]])),a=(e,o)=>{let a=(0,t.forwardRef)(({className:a,...s},l)=>(0,t.createElement)(i,{ref:l,iconNode:o,className:r(`lucide-${n(e).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,`lucide-${e}`,a),...s}));return a.displayName=n(e),a};e.s(["default",()=>a],75254)},32095,e=>{"use strict";let t=(0,e.i(75254).default)("graduation-cap",[["path",{d:"M21.42 10.922a1 1 0 0 0-.019-1.838L12.83 5.18a2 2 0 0 0-1.66 0L2.6 9.08a1 1 0 0 0 0 1.832l8.57 3.908a2 2 0 0 0 1.66 0z",key:"j76jl0"}],["path",{d:"M22 10v6",key:"1lu8f3"}],["path",{d:"M6 12.5V16a6 3 0 0 0 12 0v-3.5",key:"1r8lef"}]]);e.s(["GraduationCap",()=>t],32095)},98183,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={assign:function(){return l},searchParamsToUrlQuery:function(){return i},urlQueryToSearchParams:function(){return s}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});function i(e){let t={};for(let[r,n]of e.entries()){let e=t[r];void 0===e?t[r]=n:Array.isArray(e)?e.push(n):t[r]=[e,n]}return t}function a(e){return"string"==typeof e?e:("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function s(e){let t=new URLSearchParams;for(let[r,n]of Object.entries(e))if(Array.isArray(n))for(let e of n)t.append(r,a(e));else t.set(r,a(n));return t}function l(e,...t){for(let r of t){for(let t of r.keys())e.delete(t);for(let[t,n]of r.entries())e.append(t,n)}return e}},95057,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={formatUrl:function(){return s},formatWithValidation:function(){return u},urlObjectKeys:function(){return l}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let i=e.r(90809)._(e.r(98183)),a=/https?|ftp|gopher|file/;function s(e){let{auth:t,hostname:r}=e,n=e.protocol||"",o=e.pathname||"",s=e.hash||"",l=e.query||"",u=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?u=t+e.host:r&&(u=t+(~r.indexOf(":")?`[${r}]`:r),e.port&&(u+=":"+e.port)),l&&"object"==typeof l&&(l=String(i.urlQueryToSearchParams(l)));let f=e.search||l&&`?${l}`||"";return n&&!n.endsWith(":")&&(n+=":"),e.slashes||(!n||a.test(n))&&!1!==u?(u="//"+(u||""),o&&"/"!==o[0]&&(o="/"+o)):u||(u=""),s&&"#"!==s[0]&&(s="#"+s),f&&"?"!==f[0]&&(f="?"+f),o=o.replace(/[?#]/g,encodeURIComponent),f=f.replace("#","%23"),`${n}${u}${o}${f}${s}`}let l=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function u(e){return s(e)}},18581,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"useMergedRef",{enumerable:!0,get:function(){return o}});let n=e.r(71645);function o(e,t){let r=(0,n.useRef)(null),o=(0,n.useRef)(null);return(0,n.useCallback)(n=>{if(null===n){let e=r.current;e&&(r.current=null,e());let t=o.current;t&&(o.current=null,t())}else e&&(r.current=i(e,n)),t&&(o.current=i(t,n))},[e,t])}function i(e,t){if("function"!=typeof e)return e.current=t,()=>{e.current=null};{let r=e(t);return"function"==typeof r?r:()=>e(null)}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esMo
1dule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},18967,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={DecodeError:function(){return y},MiddlewareNotFoundError:function(){return w},MissingStaticPage:function(){return v},NormalizeError:function(){return x},PageNotFoundError:function(){return b},SP:function(){return m},ST:function(){return g},WEB_VITALS:function(){return i},execOnce:function(){return a},getDisplayName:function(){return c},getLocationOrigin:function(){return u},getURL:function(){return f},isAbsoluteUrl:function(){return l},isResSent:function(){return d},loadGetInitialProps:function(){return h},normalizeRepeatedSlashes:function(){return p},stringifyError:function(){return j}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let i=["CLS","FCP","FID","INP","LCP","TTFB"];function a(e){let t,r=!1;return(...n)=>(r||(r=!0,t=e(...n)),t)}let s=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,l=e=>s.test(e);function u(){let{protocol:e,hostname:t,port:r}=window.location;return`${e}//${t}${r?":"+r:""}`}function f(){let{href:e}=window.location,t=u();return e.substring(t.length)}function c(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function d(e){return e.finished||e.headersSent}function p(e){let t=e.split("?");return t[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(t[1]?`?${t.slice(1).join("?")}`:"")}async function h(e,t){let r=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await h(t.Component,t.ctx)}:{};let n=await e.getInitialProps(t);if(r&&d(r))return n;if(!n)throw Object.defineProperty(Error(`"${c(e)}.getInitialProps()" should resolve to an object. But found "${n}" instead.`),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return n}let m="u">typeof performance,g=m&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class y extends Error{}class x extends Error{}class b extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message=`Cannot find module for page: ${e}`}}class v extends Error{constructor(e,t){super(),this.message=`Failed to load static file for page: ${e} ${t}`}}class w extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function j(e){return JSON.stringify({message:e.message,stack:e.stack})}},73668,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"isLocalURL",{enumerable:!0,get:function(){return i}});let n=e.r(18967),o=e.r(52817);function i(e){if(!(0,n.isAbsoluteUrl)(e))return!0;try{let t=(0,n.getLocationOrigin)(),r=new URL(e,t);return r.origin===t&&(0,o.hasBasePath)(r.pathname)}catch(e){return!1}}},84508,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"errorOnce",{enumerable:!0,get:function(){return n}});let n=e=>{}},22016,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={default:function(){return y},useLinkStatus:function(){return b}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let i=e.r(90809),a=e.r(43476),s=i._(e.r(71645)),l=e.r(95057),u=e.r(8372),f=e.r(18581),c=e.r(18967),d=e.r(5550);e.r(33525);let p=e.r(91949),h=e.r(73668),m=e.r(9396);function g(e){return"string"==typeof e?e:(0,l.formatUrl)(e)}function y(t){var r;let n,o,i,[l,y]=(0,s.useOptimistic)(p.IDLE_LINK_STATUS),b=(0,s.useRef)(null),{href:v,as:w,children:j,prefetch:S=null,passHref:k,replace:O,shallow:P,scroll:T,onClick:C,onMouseEnter:_,onTouchStart:E,legacyBehavior:B=!1,onNavigate:z,ref:A,unstable_dynamicOnHover:R,...I}=t;n=j,B&&("string"==typeof n||"number"==typeof n)&&(n=(0,a.jsx)("a",{children:n}));let N=s.default.useContext(u.AppRouterContext),L=!1!==S,M=!1!==S?null===(r=S)||"auto"===r?m.FetchStrategy.PPR:m.FetchStrategy.Full:m.FetchStrategy.PPR,{href:W,as:U}=s.default.useMemo(()=>{let e=g(v);return{href:e,as:w?g(w):e}},[v,w]);if(B){if(n?.$$typeof===Symbol.for("react.lazy"))throw Object.defineProperty(Error("`<Link legacyBehavior>` received a direct child that is either a Server Component, or JSX that was loaded with React.lazy(). This is not supported. Either remove legacyBehavior, or make the direct child a Client Component that renders the Link's `<a>
1` tag."),"__NEXT_ERROR_CODE",{value:"E863",enumerable:!1,configurable:!0});o=s.default.Children.only(n)}let $=B?o&&"object"==typeof o&&o.ref:A,D=s.default.useCallback(e=>(null!==N&&(b.current=(0,p.mountLinkInstance)(e,W,N,M,L,y)),()=>{b.current&&((0,p.unmountLinkForCurrentNavigation)(b.current),b.current=null),(0,p.unmountPrefetchableInstance)(e)}),[L,W,N,M,y]),F={ref:(0,f.useMergedRef)(D,$),onClick(t){B||"function"!=typeof C||C(t),B&&o.props&&"function"==typeof o.props.onClick&&o.props.onClick(t),!N||t.defaultPrevented||function(t,r,n,o,i,a,l){if("u">typeof window){let u,{nodeName:f}=t.currentTarget;if("A"===f.toUpperCase()&&((u=t.currentTarget.getAttribute("target"))&&"_self"!==u||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.nativeEvent&&2===t.nativeEvent.which)||t.currentTarget.hasAttribute("download"))return;if(!(0,h.isLocalURL)(r)){i&&(t.preventDefault(),location.replace(r));return}if(t.preventDefault(),l){let e=!1;if(l({preventDefault:()=>{e=!0}}),e)return}let{dispatchNavigateAction:c}=e.r(99781);s.default.startTransition(()=>{c(n||r,i?"replace":"push",a??!0,o.current)})}}(t,W,U,b,O,T,z)},onMouseEnter(e){B||"function"!=typeof _||_(e),B&&o.props&&"function"==typeof o.props.onMouseEnter&&o.props.onMouseEnter(e),N&&L&&(0,p.onNavigationIntent)(e.currentTarget,!0===R)},onTouchStart:function(e){B||"function"!=typeof E||E(e),B&&o.props&&"function"==typeof o.props.onTouchStart&&o.props.onTouchStart(e),N&&L&&(0,p.onNavigationIntent)(e.currentTarget,!0===R)}};return(0,c.isAbsoluteUrl)(U)?F.href=U:B&&!k&&("a"!==o.type||"href"in o.props)||(F.href=(0,d.addBasePath)(U)),i=B?s.default.cloneElement(o,F):(0,a.jsx)("a",{...I,...F,children:n}),(0,a.jsx)(x.Provider,{value:l,children:i})}e.r(84508);let x=(0,s.createContext)(p.IDLE_LINK_STATUS),b=()=>(0,s.useContext)(x);("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},60078,e=>{"use strict";var t=e.i(43476),r=e.i(22016),n=e.i(32095);function o(){return(0,t.jsxs)("div",{style:{minHeight:"100vh",backgroundColor:"#0a0a0a",color:"#ffffff"},children:[(0,t.jsxs)("nav",{style:{borderBottom:"1px solid #1f1f1f",padding:"20px 24px",display:"flex",alignItems:"center",justifyContent:"space-between",maxWidth:"1100px",margin:"0 auto"},children:[(0,t.jsxs)(r.default,{href:"/",style:{display:"flex",alignItems:"center",gap:"8px",textDecoration:"none"},children:[(0,t.jsx)(n.GraduationCap,{size:24,style:{color:"#3b82f6"}}),(0,t.jsx)("span",{style:{fontSize:"18px",fontWeight:700,color:"#ffffff"},children:"Oumie"})]}),(0,t.jsx)(r.default,{href:"/signup",style:{padding:"8px 20px",backgroundColor:"#3b82f6",color:"#ffffff",borderRadius:"8px",textDecoration:"none",fontSize:"14px",fontWeight:600},children:"Get Started"})]}),(0,t.jsxs)("div",{style:{maxWidth:"720px",margin:"0 auto",padding:"80px 24px 60px"},children:[(0,t.jsx)("p",{style:{fontSize:"13px",color:"#3b82f6",fontWeight:600,letterSpacing:"0.1em",textTransform:"uppercase",marginBottom:"16px"},children:"About Oumie"}),(0,t.jsx)("h1",{style:{fontSize:"42px",fontWeight:800,lineHeight:1.15,marginBottom:"24px",color:"#ffffff"},children:"Built by a student who felt invisible in the system."}),(0,t.jsx)("p",{style:{fontSize:"18px",color:"#a3a3a3",lineHeight:1.8},children:"Oumie exists because the tools students actually need have never been built. Not really. What exists are grade portals, assignment trackers, and institutional dashboards designed for administrators, not the people doing the actual work."})]}),(0,t.jsxs)("div",{style:{maxWidth:"720px",margin:"0 auto",padding:"0 24px 60px"},children:[(0,t.jsxs)("div",{style:{borderLeft:"3px solid #3b82f6",paddingLeft:"28px",marginBottom:"48px"},children:[(0,t.jsx)("p",{style:{fontSize:"16px",color:"#d4d4d4",lineHeight:1.9,marginBottom:"20px"},children:"My name is Colin Dreis. I spent five years at the University of Montana playing football and earning my MBA. For most of that time, I was falling behind academically and had no real visibility into why. I knew I was working hard. I just had no way to see where my time was actually going, what was draining me, or when I worked best."}),(0,t.jsx)("p",{style:{fontSize:"16px",color:"#d4d4d4",lineHeight:1.9,marginBottom:"20px"},children:"I built the first version of Oumie out of boredom at work and a genuine desire to build something that would have helped me. The idea started in an entrepreneurship class around a concept for a wearable device that would buzz to keep students on track with assignments. That concept evolved into something more powerful: a platform that automatically tracks how students study and gives them real data about themselves, before the grades come in."}),(0,t.jsx)("p",{style:{fontSize:"16px",color:"#d4d4d4",lineHeight:1.9},children:"The goal was never to build another corporate edtech product. It was to give students the kind of honest, personal insight that universities have always had about them, but have never shared back."})]}),(0,t.jsxs)("div",{style:{backgroundColor:"#111111",border:"1px solid #1f1f1f",borderRadius:"16px",padding:"40px",marginBottom:"48px"},children:[(0,t.jsx)("p",{style:{fontSize:"12px",color:"#525252",fontWeight:600,letterSpacing:"0.1em",textTransform:"uppercase",marginBottom:"16
1px"},children:"Our Mission"}),(0,t.jsx)("p",{style:{fontSize:"22px",fontWeight:700,color:"#ffffff",lineHeight:1.5,marginBottom:"16px"},children:"Save students time. Give them an in-depth analytical look at how they work, before they ever see their grades."}),(0,t.jsx)("p",{style:{fontSize:"15px",color:"#737373",lineHeight:1.8},children:"Universities are billion-dollar institutions with sophisticated data operations. They track student behavior, predict dropout risk, and make enrollment decisions using analytics that students never see. Oumie flips that. We put the data in the hands of the student first, because understanding how you work is the single most powerful thing you can do for your academic performance."})]}),(0,t.jsxs)("div",{style:{marginBottom:"48px"},children:[(0,t.jsx)("p",{style:{fontSize:"12px",color:"#525252",fontWeight:600,letterSpacing:"0.1em",textTransform:"uppercase",marginBottom:"16px"},children:"The Name"}),(0,t.jsx)("p",{style:{fontSize:"16px",color:"#d4d4d4",lineHeight:1.9,marginBottom:"20px"},children:"Oumie is named after my grandmother, who passed away in 2021. My brother and I called her Oumie because we could never quite say Oma, the Dutch word for grandmother, when we were young. She and my grandfather, who we called Apu, immigrated to the United States from South Africa in the 1970s."}),(0,t.jsx)("p",{style:{fontSize:"16px",color:"#d4d4d4",lineHeight:1.9},children:"Naming this after her felt right. She believed in showing up, doing the work, and never letting the system tell you what you were worth. That is what Oumie the platform is about too."})]}),(0,t.jsxs)("div",{style:{marginBottom:"48px"},children:[(0,t.jsx)("p",{style:{fontSize:"12px",color:"#525252",fontWeight:600,letterSpacing:"0.1em",textTransform:"uppercase",marginBottom:"24px"},children:"What We Believe"}),(0,t.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:"20px"},children:[{title:"Students are not numbers.",body:"Every student has a unique pattern of focus, motivation, and output. Treating them as enrollment statistics has never made anyone better at learning."},{title:"Data should work for you, not against you.",body:"Institutions have always had more information about students than students have about themselves. That imbalance is not neutral. It is a power structure. We are here to rebalance it."},{title:"Awareness precedes improvement.",body:"You cannot fix what you cannot see. Before better grades, before better habits, comes honest data about where your time and energy actually go."},{title:"Simple tools get used.",body:"Oumie runs in the background. It does not ask you to manually log anything or change your workflow. The less it asks of you, the more useful it becomes."}].map(({title:e,body:r})=>(0,t.jsxs)("div",{style:{borderTop:"1px solid #1f1f1f",paddingTop:"20px"},children:[(0,t.jsx)("p",{style:{fontSize:"16px",fontWeight:700,color:"#ffffff",marginBottom:"8px"},children:e}),(0,t.jsx)("p",{style:{fontSize:"15px",color:"#737373",lineHeight:1.8},children:r})]},e))})]}),(0,t.jsxs)("div",{style:{textAlign:"center",padding:"48px 0 24px"},children:[(0,t.jsx)("p",{style:{fontSize:"20px",fontWeight:700,color:"#ffffff",marginBottom:"12px"},children:"Ready to see how you actually study?"}),(0,t.jsx)("p",{style:{fontSize:"15px",color:"#737373",marginBottom:"28px"},children:"Free for students. Always."}),(0,t.jsx)(r.default,{href:"/signup",style:{padding:"16px 40px",backgroundColor:"#3b82f6",color:"#ffffff",borderRadius:"10px",textDecoration:"none",fontSize:"16px",fontWeight:600},children:"Get Started Free"})]})]}),(0,t.jsx)("div",{style:{borderTop:"1px solid #1f1f1f",padding:"24px",textAlign:"center"},children:(0,t.jsxs)("p",{style:{color:"#525252",fontSize:"13px"},children:["Built by Colin Dreis. ",(0,t.jsx)(r.default,{href:"/",style:{color:"#3b82f6",textDecoration:"none"},children:"Back to home"})]})})]})}e.s(["default",()=>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.