PageSourceSearch

https://koha.wtf/links

html koha.wtf collected 2026-09-28 10:20:50 UTC 36,068 bytes, 46 lines download raw bytes

1<!DOCTYPE html><html  lang="en"><head><meta charset="utf-8">
2<meta name="viewport" content="width=device-width, initial-scale=1">
3<title>Joshua Omobola | Koha</title>
4<style>@font-face{font-display:swap;font-family:SF Pro Display;font-style:normal;font-weight:300;src:url(/_nuxt/SF-Pro-Display-Light.BrndvwNZ.otf) format("opentype")}@font-face{font-display:swap;font-family:SF Pro Display;font-style:italic;font-weight:300;src:url(/_nuxt/SF-Pro-Display-LightItalic.DrjPc618.otf) format("opentype")}@font-face{font-display:swap;font-family:SF Pro Display;font-style:normal;font-weight:400;src:url(/_nuxt/SF-Pro-Display-Regular.DcKLhsU4.otf) format("opentype")}@font-face{font-display:swap;font-family:SF Pro Display;font-style:normal;font-weight:500;src:url(/_nuxt/SF-Pro-Display-Medium.joEU7YEw.otf) format("opentype")}@font-face{font-display:swap;font-family:SF Pro Display;font-style:italic;font-weight:500;src:url(/_nuxt/SF-Pro-Display-MediumItalic.Bj7mUgHS.otf) format("opentype")}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-feature-settings:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}
4button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}html{font-family:SF Pro Display,-apple-system,BlinkMacSystemFont,system-ui,sans-serif}.\!container{width:100%!important}.container{width:100%}@media (min-width:640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media (min-width:768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media (min-width:1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media (min-width:1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media (min-width:1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0;right:0;bottom:0;left:0}.left-5{left:1.25rem}.right-2{right:.5rem}.right-4{right:1rem}.top-2{top:.5rem}.top-4{top:1rem}.z-0{z-index:0}.z-10{z-index:10}.z-50{z-index:50}.col-span-2{grid-column:span 2/span 2}.row-span-2{grid-row:span 2/span 2}.m-0{margin:0}.m-2{margin:.5rem}.mx-auto{margin-left:auto;margin-right:auto}.my-7{margin-bottom:1.75rem;margin-top:1.75rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-8{margin-bottom:2rem}.ml-auto{margin-left:auto}.mr-2{margin-right:.5rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-10{margin-top:2.5rem}.mt-16{margin-top:4rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-8{margin-top:2rem}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.h-10{height:2.5rem}.h-12{height:3rem}.h-20{height:5rem}.h-24{height:6rem}.h-32{height:8rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-\[300px\]{height:300px}.h-\[30px\]{height:30px}.h-\[60px\]{height:60px}.h-\[calc\(100vh-16px\)\]{height:calc(100vh - 16px)}.h-\[calc\(100vh-32px\)\]{height:calc(100vh - 32px)}.h-fit{height:-moz-fit-content;height:fit-content}.h-full{height:100%}.h-px{height:1px}.min-h-\[120px\]{min-height:120px}.min-h-dvh{min-height:100dvh}.min-h-screen{min-height:100vh}.w-10{width:2.5rem}.w-12{width:3rem}.w-20{width:5rem}.w-24{width:6rem}.w-32{width:8rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-8{width:2rem}.w-\[30px\]{width:30px}.w-\[60px\]{width:60px}.w-full{width:100%}.min-w-0{min-width:0}.max-w-2xl{max-width:42rem}.max-w-\[540px\]{max-width:540px}.max-w-\[696px\]{max-width:696px}.max-w-\[720px\]{max-width:720px}.max-w-\[75ch\]{max-width:75ch}.max-w-\[860px\]{max-width:860px}.max-w-\[960px\]{max-width:960px}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.cursor-grab{cursor:grab}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize{resize:both}.list-none{list-style-type:none}.auto-rows-\[minmax\(120px\,1fr\)\]{grid-auto-rows:minmax(120px,1fr)}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-px{gap:1px}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.5rem*var(--tw-space-y-reverse));margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.75rem*var(--tw-space-y-reverse));margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.5rem*var(--tw-space-y-reverse));margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)))}.overflow-hidden{overflow:hidden}.overscroll-none{overscroll-behavior:none}.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-full{border-radius:9999px}
4.rounded-lg{border-radius:.5rem}.rounded-sm{border-radius:.125rem}.rounded-xl{border-radius:.75rem}.rounded-br-\[32px\]{border-bottom-right-radius:32px}.rounded-tr-\[32px\]{border-top-right-radius:32px}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-t{border-top-width:1px}.border-none{border-style:none}.border-\[\#FAFAFA\],.border-grey-100{--tw-border-opacity:1;border-color:rgb(250 250 250/var(--tw-border-opacity,1))}.border-white\/10{border-color:#ffffff1a}.border-white\/30{border-color:#ffffff4d}.\!bg-gray-200{--tw-bg-opacity:1!important;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))!important}.bg-\[\#0a0a0a\]{--tw-bg-opacity:1;background-color:rgb(10 10 10/var(--tw-bg-opacity,1))}.bg-\[\#131313\]{--tw-bg-opacity:1;background-color:rgb(19 19 19/var(--tw-bg-opacity,1))}.bg-\[\#F5F5F5\]{--tw-bg-opacity:1;background-color:rgb(245 245 245/var(--tw-bg-opacity,1))}.bg-\[\#FFFFFF\]{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-\[rgba\(13\,13\,13\,0\.9\)\]{background-color:#0d0d0de6}.bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.bg-black\/90{background-color:#000000e6}.bg-green-500\/50{background-color:#22c55e80}.bg-red-500\/50{background-color:#ef444480}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-white\/10{background-color:#ffffff1a}.bg-white\/20{background-color:#fff3}.bg-white\/30{background-color:#ffffff4d}.bg-white\/5{background-color:#ffffff0d}.bg-yellow-500\/40{background-color:#eab30866}.bg-opacity-50{--tw-bg-opacity:.5}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.bg-none{background-image:none}.from-violet-500{--tw-gradient-from:#8b5cf6 var(--tw-gradient-from-position);--tw-gradient-to:rgba(139,92,246,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-white\/15{--tw-gradient-from:hsla(0,0%,100%,.15) var(--tw-gradient-from-position);--tw-gradient-to:hsla(0,0%,100%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.to-fuchsia-500{--tw-gradient-to:#d946ef var(--tw-gradient-to-position)}.to-white\/5{--tw-gradient-to:hsla(0,0%,100%,.05) var(--tw-gradient-to-position)}.object-cover{-o-object-fit:cover;object-fit:cover}.object-top{-o-object-position:top;object-position:top}.p-0{padding:0}.p-10{padding:2.5rem}.p-12{padding:3rem}.p-2{padding:.5rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-\[3px\]{padding:3px}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0\.5{padding-bottom:.125rem;padding-top:.125rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-1\.5{padding-bottom:.375rem;padding-top:.375rem}.py-10{padding-bottom:2.5rem;padding-top:2.5rem}.py-12{padding-bottom:3rem;padding-top:3rem}.py-16{padding-bottom:4rem;padding-top:4rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-2\.5{padding-bottom:.625rem;padding-top:.625rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-4{padding-bottom:1rem;padding-top:1rem}.pl-3{padding-left:.75rem}.pt-4{padding-top:1rem}.text-center{text-align:center}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.font-sans{font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:3rem;line-height:1}.text-7xl{font-size:4.5rem;line-height:1}.text-9xl{font-size:8rem;line-height:1}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[15px\]{font-size:15px}.text-\[32px\]{font-size:32px}.text-\[8px\]{font-size:8px}.text-\[9px\]{font-size:9px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-\[1\.7\]{line-height:1.7}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-tight{line-height:1.25}.tracking-\[0\.2em\]{letter-spacing:.2em}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.\!text-inherit{color:inherit!important}.text-\[\#A1A1AA\]{--tw-text-opacity:1;color:rgb(161 161 170/var(--tw-text-opacity,1))}.text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.text-green-400{--tw-text-opacity:1;color:rgb(74 222 128/var(--tw-text-opacity,1))}.text-grey-200{color:#0000004d}.text-inherit{color:inherit}.text-red-400{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-white\/0{color:#fff0}.text-white\/30{color:#ffffff4d}.text-white\/35{color:#ffffff59}.text-white\/40{color:#fff6}.text-white\/45{color:#ffffff73}.text-white\/50{color:#ffffff80}.text-white\/60{color:#fff9}.text-white\/70{color:#ffffffb3}.text-white\/75{color:#ffffffbf}.text-white\/80{color:#fffc}.text-white\/85{color:#ffffffd9}.text-white\/90{color:#ffffffe6}.underline{text-decoration-line:underline}.no-underline{text-decoration-line:none}.decoration-white\/35{text-decoration-color:#ffffff59}.decoration-white\/40{text-decoration-color:#fff6}.underline-offset-2{text-underline-offset:2px}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}
4.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-80{opacity:.8}.opacity-90{opacity:.9}.outline{outline-style:solid}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring-1,.ring-2{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring-inset{--tw-ring-inset:inset}.ring-white\/20{--tw-ring-color:hsla(0,0%,100%,.2)}.ring-white\/50{--tw-ring-color:hsla(0,0%,100%,.5)}.grayscale{--tw-grayscale:grayscale(100%)}.filter,.grayscale{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-\[40px\]{--tw-backdrop-blur:blur(40px)}.backdrop-blur-\[40px\],.backdrop-blur-\[50px\]{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-\[50px\]{--tw-backdrop-blur:blur(50px)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-150,.transition-transform{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.will-change-transform{will-change:transform}::-moz-selection{background:#facc14;color:#131313}::selection{background:#facc14;color:#131313}.hover\:scale-\[1\.02\]:hover{--tw-scale-x:1.02;--tw-scale-y:1.02;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-grey-200:hover{border-color:#0000004d}.hover\:border-white\/20:hover{border-color:#fff3}.hover\:bg-black\/10:hover{background-color:#0000001a}.hover\:bg-white\/10:hover{background-color:#ffffff1a}.hover\:bg-white\/15:hover{background-color:#ffffff26}.hover\:bg-white\/20:hover{background-color:#fff3}.hover\:bg-white\/5:hover{background-color:#ffffff0d}.hover\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.hover\:text-white\/60:hover{color:#fff9}.hover\:text-white\/70:hover{color:#ffffffb3}.hover\:text-white\/80:hover{color:#fffc}.hover\:text-white\/85:hover{color:#ffffffd9}.hover\:decoration-white:hover{text-decoration-color:#fff}.focus-visible\:scale-\[1\.02\]:focus-visible{--tw-scale-x:1.02;--tw-scale-y:1.02;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.focus-visible\:text-white\/60:focus-visible{color:#fff9}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-sha
4dow,0 0 #0000)}.focus-visible\:ring-white\/30:focus-visible{--tw-ring-color:hsla(0,0%,100%,.3)}.focus-visible\:ring-white\/50:focus-visible{--tw-ring-color:hsla(0,0%,100%,.5)}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.focus-visible\:ring-offset-transparent:focus-visible{--tw-ring-offset-color:transparent}.active\:scale-\[0\.98\]:active{--tw-scale-x:.98;--tw-scale-y:.98;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\:cursor-grabbing:active{cursor:grabbing}.group:hover .group-hover\:scale-110{--tw-scale-x:1.1;--tw-scale-y:1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:text-white\/40{color:#fff6}@media not all and (min-width:640px){.max-sm\:right-3{right:.75rem}.max-sm\:top-3{top:.75rem}.max-sm\:h-12{height:3rem}.max-sm\:min-h-screen{min-height:100vh}.max-sm\:w-12{width:3rem}.max-sm\:max-w-full{max-width:100%}.max-sm\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.max-sm\:flex-col{flex-direction:column}.max-sm\:items-start{align-items:flex-start}.max-sm\:rounded-none{border-radius:0}.max-sm\:p-0{padding:0}.max-sm\:px-5{padding-left:1.25rem;padding-right:1.25rem}.max-sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.max-sm\:py-10{padding-bottom:2.5rem;padding-top:2.5rem}.max-sm\:py-12{padding-bottom:3rem;padding-top:3rem}.max-sm\:py-8{padding-bottom:2rem;padding-top:2rem}.max-sm\:text-2xl{font-size:1.5rem;line-height:2rem}.max-sm\:text-3xl{font-size:1.875rem;line-height:2.25rem}.max-sm\:text-\[13px\]{font-size:13px}.max-sm\:text-\[28px\]{font-size:28px}.max-sm\:text-sm{font-size:.875rem;line-height:1.25rem}}@media (min-width:768px){.md\:col-span-2{grid-column:span 2/span 2}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:1024px){.lg\:py-24{padding-bottom:6rem;padding-top:6rem}}</style>
5<link rel="preload" as="fetch" crossorigin="anonymous" href="/links/_payload.json?542f04ea-b4a8-4b5c-b48c-8ec46ac49883">
6<link rel="modulepreload" as="script" crossorigin href="/_nuxt/CSqZr0Gw.js">
7<link rel="modulepreload" as="script" crossorigin href="/_nuxt/SXgX4AFL.js">
8<link rel="modulepreload" as="script" crossorigin href="/_nuxt/B1BWGjr8.js">
9<link rel="modulepreload" as="script" crossorigin href="/_nuxt/WOhgHo7l.js">
10<link rel="modulepreload" as="script" crossorigin href="/_nuxt/D5AR1CYa.js">
11<link rel="preload" as="fetch" fetchpriority="low" crossorigin="anonymous" href="/_nuxt/builds/meta/542f04ea-b4a8-4b5c-b48c-8ec46ac49883.json">
12<link rel="prefetch" as="script" crossorigin href="/_nuxt/DA7thod_.js">
13<link rel="prefetch" as="script" crossorigin href="/_nuxt/AN5znqy9.js">
14<link rel="prefetch" as="image" type="image/png" href="/_nuxt/one.C2r38yRx.png">
15<link rel="prefetch" as="image" type="image/png" href="/_nuxt/two.BrRuApek.png">
16<link rel="prefetch" as="image" type="image/png" href="/_nuxt/three.AvPi1PwG.png">
17<link rel="prefetch" as="image" type="image/png" href="/_nuxt/shot.B9O7MKhg.png">
18<meta property="og:image" content="https://koha.wtf/__og-image__/static/links/og.png">
19<meta property="og:image:type" content="image/png">
20<meta name="twitter:card" content="summary_large_image">
21<meta name="twitter:image" content="https://koha.wtf/__og-image__/static/links/og.png">
22<meta name="twitter:image:src" content="https://koha.wtf/__og-image__/static/links/og.png">
23<meta property="og:image:width" content="1200">
24<meta name="twitter:image:width" content="1200">
25<meta property="og:image:height" content="600">
26<meta name="twitter:image:height" content="600">
27<link rel="icon" type="image/x-icon" href="/favicon.ico">
28<meta name="keywords" content="Creative Engineer,DevRel, Sofware Engineer, Builder, Web3 , AI, Technologist, Developer Relations, Developer Experience, Developer Advocacy, Developer Marketing">
29<meta name="twitter:creator" content="@kohawithstuff">
30<meta name="twitter:site" content="@kohawithstuff">
31<meta name="twitter:title" content="Joshua Omobola">
32<meta name="twitter:description" content="DevRel Engineer & AI Educator">
33<meta name="twitter:url" content="https://x.com/@kohawithstuff">
34<meta property="og:type" content="website">
35<meta name="robots" content="index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1">
36<meta name="description" content="DevRel Engineer & AI Educator">
37<meta property="og:title" content="Joshua Omobola">
38<meta property="og:description" content="DevRel Engineer & AI Educator">
39<script type="a4505c55ef95c04a4405650b-module" src="/_nuxt/CSqZr0Gw.js" crossorigin></script>
39
40<link rel="canonical" href="https://koha.wtf/links">
41<meta property="og:url" content="https://koha.wtf/links">
42<meta property="og:site_name" content="Koha"></head><body><div id="__nuxt"><!--[--><div class="min-h-screen flex items-center justify-center p-6 font-sans relative max-sm:p-0 max-sm:items-start"><div class="fixed inset-0 z-0 pointer-events-none"><img src="https://framerusercontent.com/images/mtxquOUwbPjOKdEoG496Zv8CEs.jpg" alt="" class="w-full h-full object-cover"></div><div class="relative z-10 w-full max-w-[696px] bg-[rgba(13,13,13,0.9)] backdrop-blur-[50px] rounded-3xl p-12 flex flex-col items-center gap-3 max-sm:max-w-full max-sm:px-6 max-sm:py-12 max-sm:rounded-none max-sm:min-h-screen"><div><img src="/_nuxt/shot.B9O7MKhg.png" alt="Joshua Omobola" class="w-32 h-32 rounded-full object-cover grayscale"></div><h1 class="text-4xl font-bold text-white m-0 flex items-center gap-2 max-sm:text-[28px]"> Joshua Omobola <img src="data:image/svg+xml,%3csvg%20xmlns=&#39;http://www.w3.org/2000/svg&#39;%20xmlns:xlink=&#39;http://www.w3.org/1999/xlink&#39;%20viewBox=&#39;0%200%2030%2030&#39;%20id=&#39;svg11108490647&#39;%3e%3cpath%20d=&#39;M%2026.468%2012.049%20C%2026.026%2011.588%2025.569%2011.112%2025.397%2010.693%20C%2025.238%2010.31%2025.228%209.675%2025.219%209.06%20C%2025.201%207.916%2025.182%206.62%2024.281%205.719%20C%2023.38%204.818%2022.084%204.799%2020.94%204.781%20C%2020.325%204.772%2019.69%204.763%2019.307%204.603%20C%2018.889%204.431%2018.413%203.974%2017.951%203.532%20C%2017.142%202.755%2016.223%201.875%2015%201.875%20C%2013.777%201.875%2012.859%202.755%2012.049%203.532%20C%2011.587%203.974%2011.112%204.431%2010.693%204.603%20C%2010.313%204.763%209.675%204.772%209.06%204.781%20C%207.916%204.799%206.62%204.818%205.719%205.719%20C%204.818%206.62%204.805%207.916%204.781%209.06%20C%204.772%209.675%204.762%2010.31%204.603%2010.693%20C%204.431%2011.111%203.974%2011.588%203.532%2012.049%20C%202.755%2012.858%201.875%2013.777%201.875%2015%20C%201.875%2016.223%202.755%2017.141%203.532%2017.951%20C%203.974%2018.412%204.431%2018.888%204.603%2019.307%20C%204.762%2019.69%204.772%2020.325%204.781%2020.94%20C%204.799%2022.084%204.818%2023.38%205.719%2024.281%20C%206.62%2025.182%207.916%2025.201%209.06%2025.219%20C%209.675%2025.228%2010.31%2025.237%2010.693%2025.397%20C%2011.111%2025.569%2011.587%2026.026%2012.049%2026.468%20C%2012.858%2027.245%2013.777%2028.125%2015%2028.125%20C%2016.223%2028.125%2017.141%2027.245%2017.951%2026.468%20C%2018.413%2026.026%2018.888%2025.569%2019.307%2025.397%20C%2019.69%2025.238%2020.325%2025.228%2020.94%2025.219%20C%2022.084%2025.201%2023.38%2025.182%2024.281%2024.281%20C%2025.182%2023.38%2025.201%2022.084%2025.219%2020.94%20C%2025.228%2020.325%2025.238%2019.69%2025.397%2019.307%20C%2025.569%2018.889%2026.026%2018.412%2026.468%2017.951%20C%2027.245%2017.142%2028.125%2016.223%2028.125%2015%20C%2028.125%2013.777%2027.245%2012.859%2026.468%2012.049%20Z%20M%2020.351%2012.851%20L%2013.788%2019.413%20C%2013.612%2019.589%2013.374%2019.688%2013.125%2019.688%20C%2012.876%2019.688%2012.638%2019.589%2012.462%2019.413%20L%209.649%2016.601%20C%209.283%2016.234%209.283%2015.641%209.649%2015.274%20C%2010.016%2014.908%2010.609%2014.908%2010.976%2015.274%20L%2013.125%2017.425%20L%2019.024%2011.524%20C%2019.391%2011.158%2019.984%2011.158%2020.351%2011.524%20C%2020.717%2011.891%2020.717%2012.484%2020.351%2012.851%20Z&#39;%20fill=&#39;var(--token-05c3e7f9-644b-43f7-ad89-73c6c9fdcbb7,%20rgb(29,%20155,%20240))&#39;%3e%3c/path%3e%3c/svg%3e" alt="Verified" class="w-[30px] h-[30px] shrink-0"></h1><p class="text-base leading-relaxed text-white/70 text-center m-0 max-w-[540px]"> DevRel Engineer &amp; AI Educator </p><div class="w-full flex flex-col gap-3 mt-3"><!--[--><a href="https://joshuaomobola.gumroad.com/l/aios" target="_blank" rel="noopener noreferrer" class="flex items-center gap-3 p-2 bg-white/5 rounded-xl no-underline transition-all duration-500 will-change-transform hover:bg-black/10 hover:scale-[1.02] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-white/50 focus-visible:scale-[1.02]"><div class="w-[60px] h-[60px] rounded-lg overflow-hidden shrink-0 max-sm:w-12 max-sm:h-12"><img src="/_nuxt/two.BrRuApek.png" alt="Get my free Prompt Bank" class="w-full h-full object-cover"></div><div class="flex-1 flex flex-col gap-0.5 min-w-0"><span class="text-[15px] font-semibold text-white max-sm:text-sm">Get my free Prompt Bank</span><span class="text-sm text-white/50 max-sm:text-[13px]">Ready-to-use prompts to help you get started with AI.</span></div><svg class="w-5 h-5 text-white/30 shrink-0 mr-2" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M7 17L17 7M17 7H7M17 7V17" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path></svg></a><a href="https://nestuge.com/koha-ai-30mins" target="_blank" rel="noopener noreferrer" class="flex items-center gap-3 p-2 bg-white/5 rounded-xl no-underline transition-all duration-500 will-change-transform hover:bg-black/10 hover:scale-[1.02] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-white/50 focus-visible:scale-[1.02]"><div class="w-[60px] h-[60px] rounded-lg overflow-hidden shrink-0 max-sm:w-12 max-sm:h-12"><img src="/_nuxt/one.C2r38yRx.png" alt="Book a 1:1 Call With Me" class="w-full h-full object-cover"></div><div class="flex-1 flex flex-col gap-0.5 min-w-0"><span class="text-[15px] font-semibold text-white max-sm:text-sm">Book a 1:1 Call With Me</span><span class="text-sm text-white/50 max-sm:text-[13px]">
42Private call with me to discuss your AI strategy</span></div><svg class="w-5 h-5 text-white/30 shrink-0 mr-2" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M7 17L17 7M17 7H7M17 7V17" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path></svg></a><a href="https://attentionfactory.io" target="_blank" rel="noopener noreferrer" class="flex items-center gap-3 p-2 bg-white/5 rounded-xl no-underline transition-all duration-500 will-change-transform hover:bg-black/10 hover:scale-[1.02] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-white/50 focus-visible:scale-[1.02]"><div class="w-[60px] h-[60px] rounded-lg overflow-hidden shrink-0 max-sm:w-12 max-sm:h-12"><img src="/_nuxt/three.AvPi1PwG.png" alt="Attention Factory*" class="w-full h-full object-cover"></div><div class="flex-1 flex flex-col gap-0.5 min-w-0"><span class="text-[15px] font-semibold text-white max-sm:text-sm">Attention Factory*</span><span class="text-sm text-white/50 max-sm:text-[13px]">The Creative AI Everything Partner</span></div><svg class="w-5 h-5 text-white/30 shrink-0 mr-2" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M7 17L17 7M17 7H7M17 7V17" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path></svg></a><!--]--></div><a href="/" class="text-white/30 text-sm hover:text-white/60 transition-colors mt-4 focus-visible:outline-none focus-visible:text-white/60 focus-visible:ring-2 focus-visible:ring-white/30 focus-visible:ring-offset-2 focus-visible:ring-offset-transparent rounded-sm"><span class="text-white/30">✦</span> Koha <span class="text-white/30">✦</span></a></div></div><!--]--></div><div id="teleports"></div>
42<script type="application/ld+json" data-nuxt-schema-org="true" data-hid="schema-org-graph">{"@context":"https://schema.org","@graph":[{"@id":"https://koha.wtf/#website","@type":"WebSite","description":"DevRel Engineer ✦ Builder 🌵","inLanguage":"en","name":"Koha","url":"https://koha.wtf/"},{"@id":"https://koha.wtf/links#webpage","@type":"WebPage","description":"DevRel Engineer & AI Educator","name":"Joshua Omobola","url":"https://koha.wtf/links","isPartOf":{"@id":"https://koha.wtf/#website"},"potentialAction":[{"@type":"ReadAction","target":["https://koha.wtf/links"]}]}]}</script>
42
43
44<script type="application/json" data-nuxt-data="nuxt-app" data-ssr="true" id="__NUXT_DATA__" data-src="/links/_payload.json?542f04ea-b4a8-4b5c-b48c-8ec46ac49883">[{"state":1,"once":13,"_errors":14,"serverRendered":16,"path":17,"prerenderedAt":18},["Reactive",2],{"$snuxt-seo-utils:routeRules":3,"$ssite-config":4},{"head":-1,"seoMeta":-1},{"_priority":5,"defaultLocale":8,"description":9,"env":10,"name":11,"url":12},{"name":6,"env":7,"url":6,"description":6,"defaultLocale":6},-3,-15,"en","DevRel Engineer ✦ Builder 🌵","production","Koha","https://koha.wtf",["Set"],["ShallowReactive",15],{},true,"/links",1773849962825]</script>
vendor: 1 bytes, line 44
44
45<script type="a4505c55ef95c04a4405650b-text/javascript">window.__NUXT__={};window.__NUXT__.config={public:{gtag:{enabled:true,initMode:"auto",id:"G-S40KVJNJRZ",initCommands:[],config:{},tags:[],loadingStrategy:"defer",url:"https://www.googletagmanager.com/gtag/js"},"seo-utils":{canonicalQueryWhitelist:["page","sort","filter","search","q","category","tag"],canonicalLowercase:true}},app:{baseURL:"/",buildId:"542f04ea-b4a8-4b5c-b48c-8ec46ac49883",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script>
45<!-- Cloudflare Pages Analytics -->
vendor: 99 bytes, line 45
45<script defer src='https://static.cloudflareinsights.com/beacon.min.js' data-cf-beacon='{"token": "
45aa5501d7b75f4d81abbe3956710fbc28
vendor: 61 bytes, line 45
45"}' type="a4505c55ef95c04a4405650b-text/javascript"></script>
45<!-- Cloudflare Pages Analytics -->
vendor: 142 bytes, line 45
45<script src="/cdn-cgi/scripts/7d0fa10a/cloudflare-static/rocket-loader.min.js" data-cf-settings="a4505c55ef95c04a4405650b-|49" defer></script>
45<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"57f79b14486b4dd7bb684d1a55713a70","r":1,"spa":2}' crossorigin="anonymous"></script>
45
46</body></html>

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.