Accessibility issues detected on noplisu.com
Evolize inspected 4 publicly accessible pages on noplisu.com and detected 67 automatically identifiable accessibility findings. 5 findings were classified as critical or high priority. The findings map to 5 WCAG success criterions. The sections below show affected pages, technical evidence and recommended remediation. The most frequent issues involve page has no main landmark, hidden elements can still receive keyboard focus, scrollable region must have keyboard access.
Independent public assessment. noplisu.com is not necessarily affiliated with or a customer of Evolize.
01 · Accessibility summary
Evolize inspected 4 publicly accessible pages on noplisu.com and detected 67 automatically identifiable accessibility findings. 5 findings were classified as critical or high priority. The findings map to 5 WCAG success criterions. The sections below show affected pages, technical evidence and recommended remediation. The most frequent issues involve page has no main landmark, hidden elements can still receive keyboard focus, scrollable region must have keyboard access.
02 · Priority findings
03 · WCAG criteria affected
| Criterion | Name | Level | Findings | Pages |
|---|---|---|---|---|
| 1.4.3 | Contrast (Minimum) | AA | 57 | 4 |
| 1.3.1 | Info and Relationships | A | 4 | 4 |
| 2.1.1 | Keyboard | A | 3 | 2 |
| 2.4.3 | Focus Order | A | 2 | 4 |
| 2.5.8 | Target Size (Minimum) | AA | 1 | 2 |
Absence of a criterion here does not indicate conformance with it — only that no automatically detectable issue was found for it.
A scan shows today's exposure. Monitoring shows what changes next.
Evolize continuously rescans public websites, detects newly introduced or recurring accessibility issues, tracks remediation and verifies fixes.
04 · All detected findings
Page has no main landmark
ComponentRef WQUXEP
No <main> or role=main region is present, so screen reader users cannot jump to primary content.
https://noplisu.com/html > body<body class="__className_f367f3"><nav class="fixed top-0 left-0 right-0 z-50 transition-all duration-300 bg-white/98 dark:bg-gray-900/98 backdrop-blur-lg"><div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8"><div class="flex justify-between items-center h-16"><a class="flex items-center space-x-2 group" href="/"><img src="/logo.svg" alt="Grzegorz Lisowski" width="40" height="40" class="transition-opacity duration-300"><span class="font-bold text-lg sm:text-xl transition-colors duration-300 text-gray-800 dark:text-gray-200">Grzegorz Lisowski</span></a><div class="hidden md:flex items-center spac…
/ /blog/implementing-semantic-search-in-bookmantic /blog/harnessing-ai /blog/modernizing-rails-applicationsHidden elements can still receive keyboard focus
ComponentRef PHGVGP
An element is not visible but remains in the tab order, so a sighted keyboard user loses track of focus when it lands there.
https://noplisu.com/blog/implementing-semantic-search-in-bookmanticdiv > nav > div > div:nth-of-type(1) > div:nth-of-type(2) > button:nth-of-type(1)<button class="p-2 rounded-lg transition-all duration-300 hover:bg-gray-100 dark:hover:bg-gray-800 text-gray-700 dark:text-gray-300" aria-label="Toggle dark mode"><svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M20.354 15.354A9 9 0 018.646 3.646 9.003 9.003 0 0012 21a9.003 9.003 0 008.354-5.646z"></path></svg></button>
/blog/implementing-semantic-search-in-bookmantic /blog/harnessing-ai /blog/modernizing-rails-applicationsComponentRef 8BGI7F
An element is not visible but remains in the tab order, so a sighted keyboard user loses track of focus when it lands there.
https://noplisu.com/body > nav > div > div:nth-of-type(1) > div:nth-of-type(2) > button:nth-of-type(1)<button class="p-2 rounded-lg transition-all duration-300 hover:bg-gray-100 dark:hover:bg-gray-800 text-gray-700 dark:text-gray-300" aria-label="Toggle dark mode"><svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M20.354 15.354A9 9 0 018.646 3.646 9.003 9.003 0 0012 21a9.003 9.003 0 008.354-5.646z"></path></svg></button>
Scrollable region must have keyboard access
ComponentRef FFWQZB
Scrollable region must have keyboard access
https://noplisu.com/blog/implementing-semantic-search-in-bookmanticpre:nth-child(23) > .language-ruby.hljs[data-highlighted="yes"]<code class="text-sm hljs language-ruby" data-highlighted="yes">
ComponentRef RXF0QM
Scrollable region must have keyboard access
https://noplisu.com/blog/harnessing-ai.language-json<code class="text-sm hljs language-json" data-highlighted="yes">
ComponentRef 32F4IZ
Scrollable region must have keyboard access
https://noplisu.com/blog/implementing-semantic-search-in-bookmantic.language-sql<code class="text-sm hljs language-sql" data-highlighted="yes">
Content sits outside any landmark region
ComponentRef 47WGCH
Meaningful content is not contained in a landmark (header/nav/main/footer/aside), so assistive-technology users cannot reach it via landmark navigation.
https://noplisu.com/html > body > section:nth-of-type(1) > div:nth-of-type(4)<div class="relative z-10 max-w-6xl mx-auto px-4 sm:px-6 lg:px-8 mt-8 sm:mt-0"><div class="text-center"><div class="mb-8 animate-fade-in-up"><div class="relative inline-block"><div class="absolute inset-0 bg-gradient-primary dark:bg-gradient-primary-dark rounded-full animate-pulse-slow"></div><div class="relative bg-white dark:bg-gray-800 p-2 rounded-full shadow-hard"><img alt="Grzegorz Lisowski - Full Stack Developer" fetchpriority="high" width="200" height="200" decoding="async" data-nimg="1" class="rounded-full shadow-medium" style="color:transparent" src="glisowski.jpg"></div></div></div><…
/ /blog/implementing-semantic-search-in-bookmantic /blog/harnessing-ai /blog/modernizing-rails-applicationsList markup is malformed
ComponentRef C9IH1H
A list contains elements other than the list items it should, breaking its structure.
https://noplisu.com/blog/implementing-semantic-search-in-bookmanticol:nth-child(19)<ol class="list-decimal pl-6 my-4 space-y-1">
/blog/implementing-semantic-search-in-bookmantic /blog/harnessing-ai /blog/modernizing-rails-applicationsComponentRef C9IH20
A list contains elements other than the list items it should, breaking its structure.
https://noplisu.com/blog/harnessing-aiul:nth-child(70)<ul class="list-disc pl-6 my-4 space-y-1">
/blog/harnessing-ai /blog/modernizing-rails-applicationsTouch targets are too small on mobile
ComponentRef NEFXEQ
Interactive controls are smaller than the 24×24px minimum target size, making them hard to activate reliably by touch.
https://noplisu.com/div:nth-of-type(3) > div > article:nth-of-type(1) > div > div > a<a class="text-primary-600 dark:text-red-500 hover:text-primary-700 dark:hover:text-red-600 font-medium text-sm transition-colors duration-300" href="/blog/harnessing-ai">Read More →</a>
/ /blog/implementing-semantic-search-in-bookmanticText has insufficient colour contrast
ComponentRef J8UZH9
Text and background colours do not meet the minimum contrast ratio, reducing legibility.
https://noplisu.com/blog/harnessing-ai.hover\:scale-105.hover\:text-primary-600.dark\:hover\:text-red-500:nth-child(3)<a class="font-medium transition-all duration-300 hover:scale-105 text-gray-700 dark:text-gray-300 hover:text-primary-600 dark:hover:text-red-500" href="/#blog">Blog</a>
/ /blog/implementing-semantic-search-in-bookmantic /blog/harnessing-ai /blog/modernizing-rails-applicationsComponentRef 4586NS
Text and background colours do not meet the minimum contrast ratio, reducing legibility.
https://noplisu.com/blog/modernizing-rails-applications.hover\:-translate-y-0\.5<a class="bg-gradient-primary dark:bg-gradient-primary-dark text-white px-6 py-2 rounded-full font-medium shadow-soft dark:shadow-glow-red hover:shadow-glow dark:hover:shadow-glow-red-dark transform hover:-translate-y-0.5 transition-all duration-300" href="/#contact-form">Get In Touch</a>
/ /blog/implementing-semantic-search-in-bookmantic /blog/harnessing-ai /blog/modernizing-rails-applicationsComponentRef 2Q8CKM
Text and background colours do not meet the minimum contrast ratio, reducing legibility.
https://noplisu.com/a[href$="bookmantic.com"]<a href="https://bookmantic.com" target="_blank" rel="noopener noreferrer" class="inline-flex items-center px-3 py-2 bg-primary-600 dark:bg-red-600 text-white text-sm font-medium rounded-lg hover:bg-primary-700 dark:hover:bg-red-700 transition-colors duration-300">
ComponentRef FVR88K
Text and background colours do not meet the minimum contrast ratio, reducing legibility.
https://noplisu.com/article:nth-child(2) > .pb-6.px-6 > .pt-4.border-t.justify-between > .hover\:text-primary-700.dark\:hover\:text-red-600.dark\:text-red-500<a class="text-primary-600 dark:text-red-500 hover:text-primary-700 dark:hover:text-red-600 font-medium text-sm transition-colors duration-300" href="/blog/implementing-semantic-search-in-bookmantic">Read More →</a>
ComponentRef CC7BWC
Text and background colours do not meet the minimum contrast ratio, reducing legibility.
https://noplisu.com/.hover\:text-primary-700.dark\:hover\:text-red-600[href$="harnessing-ai"]<a class="text-primary-600 dark:text-red-500 hover:text-primary-700 dark:hover:text-red-600 font-medium text-sm transition-colors duration-300" href="/blog/harnessing-ai">Read More →</a>
ComponentRef TKLH9J
Text and background colours do not meet the minimum contrast ratio, reducing legibility.
https://noplisu.com/.dark\:bg-white.dark\:text-gray-800[href$="#contact-form"]<a href="#contact-form" class="inline-flex items-center px-8 py-3 bg-white dark:bg-white text-primary-600 dark:text-gray-800 font-semibold rounded-full shadow-soft dark:shadow-hard hover:shadow-glow dark:hover:shadow-glow-red transform hover:-translate-y-1 transition-all duration-300">
ComponentRef WQDDH1
Text and background colours do not meet the minimum contrast ratio, reducing legibility.
https://noplisu.com/.block[rel="noopener noreferrer"][target="_blank"]:nth-child(1) > .h-full.flex-col.flex > .space-x-4.mb-4.items-center > .min-w-0.flex-1 > .mt-1 > .text-primary-500.dark\:text-red-400.text-xs<span class="text-xs text-primary-500 dark:text-red-400 font-medium">View Certificate →</span>
ComponentRef WDJ3E6
Text and background colours do not meet the minimum contrast ratio, reducing legibility.
https://noplisu.com/#projects > .max-w-7xl.sm\:px-6.lg\:px-8 > .mb-12 > .mb-6.gap-3.flex-wrap > .shadow-lg.bg-primary-600.dark\:bg-red-600<button class="px-6 py-3 rounded-full font-semibold transition-all duration-300 transform hover:scale-105 bg-primary-600 dark:bg-red-600 text-white shadow-lg">All Projects<!-- --> (<!-- -->10<!-- -->)</button>
ComponentRef HCYA57
Text and background colours do not meet the minimum contrast ratio, reducing legibility.
https://noplisu.com/#projects > .max-w-7xl.sm\:px-6.lg\:px-8 > .mt-16.text-center.animate-fade-in-up > .p-8.dark\:shadow-glow-red.rounded-2xl > .sm\:flex-row.gap-4.justify-center > .dark\:bg-white.dark\:text-gray-800[href$="noplisu"]<a href="https://github.com/n..." target="_blank" rel="noopener noreferrer" class="inline-flex items-ce...">
ComponentRef J6U9KE
Text and background colours do not meet the minimum contrast ratio, reducing legibility.
https://noplisu.com/#skills > .max-w-7xl.sm\:px-6.lg\:px-8 > .mb-12 > .gap-3.flex-wrap.justify-center > .shadow-lg.bg-primary-600.dark\:bg-red-600<button class="px-6 py-3 rounded-full font-semibold transition-all duration-300 transform hover:scale-105 bg-primary-600 dark:bg-red-600 text-white shadow-lg">Certificates</button>
ComponentRef 3YRPX6
Text and background colours do not meet the minimum contrast ratio, reducing legibility.
https://noplisu.com/blog/implementing-semantic-search-in-bookmantic.underline[target="_blank"][rel="noopener noreferrer"]:nth-child(3)<a href="https://github.com/ankane/neighbor" class="text-primary-600 dark:text-red-500 hover:text-primary-700 dark:hover:text-red-600 underline" target="_blank" rel="noopener noreferrer">neighbor</a>
ComponentRef CVG574
Text and background colours do not meet the minimum contrast ratio, reducing legibility.
https://noplisu.com/blog/harnessing-ai.leading-relaxed.mb-4:nth-child(6) > .underline[target="_blank"][rel="noopener noreferrer"]<a href="https://github.com/noplisu/fractal-engine" class="text-primary-600 dark:text-red-500 hover:text-primary-700 dark:hover:text-red-600 underline" target="_blank" rel="noopener noreferrer">Fractal Engine</a>
ComponentRef LHGA2M
Text and background colours do not meet the minimum contrast ratio, reducing legibility.
https://noplisu.com/blog/implementing-semantic-search-in-bookmantic.leading-relaxed.mb-4.text-gray-700:nth-child(7) > .underline[href$="bookmantic.com"][target="_blank"]<a href="https://bookmantic.com" class="text-primary-600 dark:text-red-500 hover:text-primary-700 dark:hover:text-red-600 underline" target="_blank" rel="noopener noreferrer">Bookmantic</a>
ComponentRef IN2K6S
Text and background colours do not meet the minimum contrast ratio, reducing legibility.
https://noplisu.com/blog/implementing-semantic-search-in-bookmantich1<h1 class="text-4xl sm:text-5xl lg:text-6xl font-bold gradient-text mb-6 leading-tight">Beyond Keywords: Implementing Semantic Search in Bookmantic</h1>
/blog/implementing-semantic-search-in-bookmantic /blog/harnessing-ai /blog/modernizing-rails-applicationsComponentRef INH5PV
Text and background colours do not meet the minimum contrast ratio, reducing legibility.
https://noplisu.com/blog/implementing-semantic-search-in-bookmantic.lg\:text-2xl<p class="text-xl lg:text-2xl text-gray-600 dark:text-gray-300 mb-8 max-w-4xl mx-auto leading-relaxed">How I built Bookmantic, a Rails 8 book discovery API that finds titles by intent using OpenAI embeddings, PostgreSQL pgvector, and a curated ~45k catalog from Open Library.</p>
/blog/implementing-semantic-search-in-bookmantic /blog/harnessing-ai /blog/modernizing-rails-applicationsComponentRef CH88VS
Text and background colours do not meet the minimum contrast ratio, reducing legibility.
https://noplisu.com/blog/implementing-semantic-search-in-bookmantic.flex-1 > .leading-relaxed.mb-4.text-gray-700<p class="text-gray-700 dark:text-gray-300 leading-relaxed mb-4">Full-Stack Developer & AR/VR Specialist with over a decade of experience building robust applications. Passionate about modernizing legacy systems and creating innovative solutions.</p>
/blog/implementing-semantic-search-in-bookmantic /blog/harnessing-ai /blog/modernizing-rails-applicationsComponentRef JX8GLL
Text and background colours do not meet the minimum contrast ratio, reducing legibility.
https://noplisu.com/blog/modernizing-rails-applications.text-white.font-bold.text-sm<span class="text-white font-bold text-sm">GL</span>
/blog/implementing-semantic-search-in-bookmantic /blog/harnessing-ai /blog/modernizing-rails-applicationsComponentRef IVB0U5
Text and background colours do not meet the minimum contrast ratio, reducing legibility.
https://noplisu.com/blog/implementing-semantic-search-in-bookmantic.flex-1 > h3<h3 class="text-xl font-bold text-gray-900 dark:text-gray-100 mb-2">Grzegorz Lisowski</h3>
/blog/implementing-semantic-search-in-bookmantic /blog/harnessing-ai /blog/modernizing-rails-applicationsComponentRef 8YLYE1
Text and background colours do not meet the minimum contrast ratio, reducing legibility.
https://noplisu.com/blog/modernizing-rails-applications.space-x-2.flex.items-center > .font-medium<span class="font-medium">By <!-- -->Grzegorz Lisowski</span>
/blog/implementing-semantic-search-in-bookmantic /blog/harnessing-ai /blog/modernizing-rails-applicationsComponentRef 7AZ7MS
Text and background colours do not meet the minimum contrast ratio, reducing legibility.
https://noplisu.com/blog/harnessing-ai.text-lg<span class="font-bold text-lg sm:text-xl transition-colors duration-300 text-gray-800 dark:text-gray-200">Grzegorz Lisowski</span>
/blog/implementing-semantic-search-in-bookmantic /blog/harnessing-ai /blog/modernizing-rails-applicationsComponentRef 8YLYE0
Text and background colours do not meet the minimum contrast ratio, reducing legibility.
https://noplisu.com/blog/implementing-semantic-search-in-bookmantic.space-x-1.flex.items-center:nth-child(2) > span<span>August 17, 2026</span>
/blog/implementing-semantic-search-in-bookmantic /blog/harnessing-ai /blog/modernizing-rails-applicationsComponentRef U9MBO8
Text and background colours do not meet the minimum contrast ratio, reducing legibility.
https://noplisu.com/blog/modernizing-rails-applications.text-white.text-2xl.font-bold<span class="text-white font-bold text-2xl">GL</span>
/blog/implementing-semantic-search-in-bookmantic /blog/harnessing-ai /blog/modernizing-rails-applicationsComponentRef C1U8QT
Text and background colours do not meet the minimum contrast ratio, reducing legibility.
https://noplisu.com/blog/implementing-semantic-search-in-bookmantic.px-8<a class="inline-flex items-center px-8 py-4 bg-gradient-primary dark:bg-gradient-primary-dark text-white font-semibold rounded-full shadow-soft dark:shadow-glow-red hover:shadow-glow dark:hover:shadow-glow-red-dark transform hover:-translate-y-1 transition-all duration-300" href="/#blog">
/blog/implementing-semantic-search-in-bookmantic /blog/harnessing-ai /blog/modernizing-rails-applicationsComponentRef 7K5PBK
Text and background colours do not meet the minimum contrast ratio, reducing legibility.
https://noplisu.com/blog/harnessing-ai.hover\:scale-105.hover\:text-primary-600[href$="/#projects"]<a class="font-medium transition-all duration-300 hover:scale-105 text-gray-700 dark:text-gray-300 hover:text-primary-600 dark:hover:text-red-500" href="/#projects">Projects</a>
/blog/implementing-semantic-search-in-bookmantic /blog/harnessing-ai /blog/modernizing-rails-applicationsComponentRef CD9M7W
Text and background colours do not meet the minimum contrast ratio, reducing legibility.
https://noplisu.com/blog/implementing-semantic-search-in-bookmantic.hljs-literal:nth-child(13)<span class="hljs-literal">true</span>
/blog/implementing-semantic-search-in-bookmantic /blog/harnessing-aiComponentRef D9575A
Text and background colours do not meet the minimum contrast ratio, reducing legibility.
https://noplisu.com/blog/harnessing-aia[href$="openrouter.ai/"]<a href="https://openrouter.ai/" class="text-primary-600 dark:text-red-500 hover:text-primary-700 dark:hover:text-red-600 underline" target="_blank" rel="noopener noreferrer">OpenRouter</a>
ComponentRef ROX8Z9
Text and background colours do not meet the minimum contrast ratio, reducing legibility.
https://noplisu.com/.disabled\:opacity-50<button type="submit" class="px-8 py-4 bg-gradien...">
ComponentRef WUBS4Z
Text and background colours do not meet the minimum contrast ratio, reducing legibility.
https://noplisu.com/.sm\:text-xl<span class="font-bold text-lg sm:text-xl transition-colors duration-300 text-gray-800 dark:text-gray-200">Grzegorz Lisowski</span>
ComponentRef SWDURA
Text and background colours do not meet the minimum contrast ratio, reducing legibility.
https://noplisu.com/#projects > .max-w-7xl.sm\:px-6.lg\:px-8 > .mb-16.text-center.animate-fade-in-up > .max-w-3xl.mx-auto.text-xl<p class="text-xl text-gray-600 dark:text-gray-300 max-w-3xl mx-auto">A showcase of my work spanning full-stack development, AR/VR experiences, and open source contributions</p>
ComponentRef 1N1IL5
Text and background colours do not meet the minimum contrast ratio, reducing legibility.
https://noplisu.com/.opacity-100 > .space-y-8 > .space-y-6 > .border-b-2.border-primary-200.dark\:border-red-800<h3 class="text-2xl font-bold text-gray-800 dark:text-gray-200 border-b-2 border-primary-200 dark:border-red-800 pb-2">Professional Certifications</h3>
ComponentRef RBKW85
Text and background colours do not meet the minimum contrast ratio, reducing legibility.
https://noplisu.com/.rounded-2xl.overflow-hidden.hover\:shadow-medium:nth-child(1) > .h-48.dark\:from-gray-700.to-gray-100 > .top-4.right-4.absolute > .dark\:shadow-glow-red.px-3.bg-gradient-primary<span class="bg-gradient-primary dark:bg-gradient-primary-dark text-white px-3 py-1 rounded-full text-sm font-semibold shadow-soft dark:shadow-glow-red">Featured</span>
ComponentRef O5UFFX
Text and background colours do not meet the minimum contrast ratio, reducing legibility.
https://noplisu.com/.mb-6.dark\:text-gray-400.text-lg<p class="text-gray-600 dark:text-gray-400 mb-6 text-lg font-medium">Let's connect</p>
ComponentRef VDUR13
Text and background colours do not meet the minimum contrast ratio, reducing legibility.
https://noplisu.com/article:nth-child(2) > .block > .h-48.dark\:from-gray-700.to-gray-100 > .top-4.right-4.absolute > .dark\:shadow-glow-red.px-3.bg-gradient-primary<span class="bg-gradient-primary dark:bg-gradient-primary-dark text-white px-3 py-1 rounded-full text-sm font-semibold shadow-soft dark:shadow-glow-red">Featured</span>
ComponentRef LZLXRV
Text and background colours do not meet the minimum contrast ratio, reducing legibility.
https://noplisu.com/h1<h1 class="text-5xl sm:text-6xl lg:text-7xl font-bold gradient-text mb-4 leading-tight">Grzegorz Lisowski</h1>
ComponentRef COC6UI
Text and background colours do not meet the minimum contrast ratio, reducing legibility.
https://noplisu.com/.mb-2.dark\:text-gray-400.text-lg<p class="text-lg text-gray-600 dark:text-gray-400 mb-2 font-medium">Hello, I'm</p>
ComponentRef J9GLI2
Text and background colours do not meet the minimum contrast ratio, reducing legibility.
https://noplisu.com/.block[href$="harnessing-ai"] > .h-48.dark\:from-gray-700.to-gray-100 > .top-4.right-4.absolute > .dark\:shadow-glow-red.px-3.bg-gradient-primary<span class="bg-gradient-primary dark:bg-gradient-primary-dark text-white px-3 py-1 rounded-full text-sm font-semibold shadow-soft dark:shadow-glow-red">Featured</span>
ComponentRef H7H8VX
Text and background colours do not meet the minimum contrast ratio, reducing legibility.
https://noplisu.com/#projects > .max-w-7xl.sm\:px-6.lg\:px-8 > .mt-16.text-center.animate-fade-in-up > .p-8.dark\:shadow-glow-red.rounded-2xl > .text-2xl<h3 class="text-2xl font-bold mb-4">Interested in My Work?</h3>
ComponentRef XH6IXI
Text and background colours do not meet the minimum contrast ratio, reducing legibility.
https://noplisu.com/.sm\:text-3xl > .inline-flex.gap-2<span class="inline-flex items-center gap-2"><span class="text-3xl">🚀</span>Full-Stack Developer</span>
ComponentRef E28HBH
Text and background colours do not meet the minimum contrast ratio, reducing legibility.
https://noplisu.com/.border-primary-600<a href="#blog" class="inline-flex items-center px-8 py-4 border-2 border-primary-600 dark:border-red-500 text-primary-600 dark:text-red-500 font-semibold rounded-full hover:bg-primary-600 dark:hover:bg-red-600 hover:text-white transform hover:-translate-y-1 transition-all duration-300">
ComponentRef KU2V08
Text and background colours do not meet the minimum contrast ratio, reducing legibility.
https://noplisu.com/.max-w-2xl<p class="text-lg text-gray-500 dark:text-gray-400 max-w-2xl mx-auto">Crafting exceptional digital experiences since 2013</p>
ComponentRef B15OZ2
Text and background colours do not meet the minimum contrast ratio, reducing legibility.
https://noplisu.com/.shadow-glow<a href="#projects" class="inline-flex items-center px-8 py-4 bg-gradient-primary dark:bg-gradient-primary-dark text-white font-semibold rounded-full shadow-glow dark:shadow-glow-red hover:shadow-hard transform hover:-translate-y-1 transition-all duration-300">
ComponentRef 2XZT2X
Text and background colours do not meet the minimum contrast ratio, reducing legibility.
https://noplisu.com/#projects > .max-w-7xl.sm\:px-6.lg\:px-8 > .mb-16.text-center.animate-fade-in-up > .text-4xl.sm\:text-5xl<h2 class="text-4xl sm:text-5xl font-bold gradient-text mb-4">Featured Projects</h2>
ComponentRef ZM5OYK
Text and background colours do not meet the minimum contrast ratio, reducing legibility.
https://noplisu.com/#projects > .max-w-7xl.sm\:px-6.lg\:px-8 > .mt-16.text-center.animate-fade-in-up > .p-8.dark\:shadow-glow-red.rounded-2xl > .sm\:flex-row.gap-4.justify-center > .border-white.dark\:border-white.dark\:text-white<a href="#contact-form" class="inline-flex items-center px-8 py-3 border-2 border-white dark:border-white text-white dark:text-white font-semibold rounded-full hover:bg-white dark:hover:bg-white hover:text-primary-600 dark:hover:text-gray-800 transition-all duration-300">
ComponentRef NAZXNL
Text and background colours do not meet the minimum contrast ratio, reducing legibility.
https://noplisu.com/article:nth-child(1) > .pb-6.px-6 > .pt-4.border-t.justify-between > .space-x-2.items-center.flex > .w-8.h-8.bg-gradient-primary > .text-white.font-bold.text-sm<span class="text-white font-bold text-sm">GL</span>
ComponentRef YLA55E
Text and background colours do not meet the minimum contrast ratio, reducing legibility.
https://noplisu.com/.mb-12.text-center > .text-4xl.sm\:text-5xl<h2 class="text-4xl sm:text-5xl font-bold gradient-text mb-4">Let's Build Something Amazing</h2>
ComponentRef UGH5Y5
Text and background colours do not meet the minimum contrast ratio, reducing legibility.
https://noplisu.com/.mb-12.text-center > .max-w-3xl.mx-auto.text-xl<p class="text-xl text-gray-600 dark:text-gray-300 max-w-3xl mx-auto">Ready to bring your vision to life? I'm excited to discuss your project and explore how we can create something extraordinary together.</p>
ComponentRef 6CZC3P
Text and background colours do not meet the minimum contrast ratio, reducing legibility.
https://noplisu.com/#projects > .max-w-7xl.sm\:px-6.lg\:px-8 > .mt-16.text-center.animate-fade-in-up > .p-8.dark\:shadow-glow-red.rounded-2xl > .opacity-90.mb-6.text-lg<p class="text-lg mb-6 opacity-90">Check out my GitHub for more projects and contributions, or let's discuss your next project</p>
ComponentRef 7TWTIE
Text and background colours do not meet the minimum contrast ratio, reducing legibility.
https://noplisu.com/blog/implementing-semantic-search-in-bookmanticpre:nth-child(23) > .language-ruby.hljs[data-highlighted="yes"] > .hljs-string<span class="hljs-string">"DISABLE_EMBEDDING_CALLBACKS"</span>
ComponentRef Y60LRG
Text and background colours do not meet the minimum contrast ratio, reducing legibility.
https://noplisu.com/blog/implementing-semantic-search-in-bookmantic.hljs-variable.constant_:nth-child(33)<span class="hljs-variable constant_">DIMENSIONS</span>
ComponentRef KQNRAU
Text and background colours do not meet the minimum contrast ratio, reducing legibility.
https://noplisu.com/blog/implementing-semantic-search-in-bookmantic.inline-flex.mb-8[href$="/#blog"]<a class="inline-flex items-center text-primary-600 dark:text-red-500 hover:text-primary-700 dark:hover:text-red-600 font-medium transition-colors duration-300 mb-8" href="/#blog">
ComponentRef O3K7Z5
Text and background colours do not meet the minimum contrast ratio, reducing legibility.
https://noplisu.com/blog/harnessing-ai.inline-flex.mb-8.text-primary-600<a class="inline-flex items-center text-primary-600 dark:text-red-500 hover:text-primary-700 dark:hover:text-red-600 font-medium transition-colors duration-300 mb-8" href="/#blog">
ComponentRef 2MTTTM
Text and background colours do not meet the minimum contrast ratio, reducing legibility.
https://noplisu.com/blog/implementing-semantic-search-in-bookmantic.language-sql > .hljs-number<span class="hljs-number">1536</span>
ComponentRef 4RMQB2
Text and background colours do not meet the minimum contrast ratio, reducing legibility.
https://noplisu.com/blog/implementing-semantic-search-in-bookmantic.language-ruby.hljs[data-highlighted="yes"] > .hljs-keyword:nth-child(6)<span class="hljs-keyword">if</span>
ComponentRef HQZN9W
Text and background colours do not meet the minimum contrast ratio, reducing legibility.
https://noplisu.com/blog/implementing-semantic-search-in-bookmanticpre:nth-child(23) > .language-ruby.hljs[data-highlighted="yes"] > .hljs-variable.constant_<span class="hljs-variable constant_">ENV</span>
ComponentRef 6NZPKZ
Text and background colours do not meet the minimum contrast ratio, reducing legibility.
https://noplisu.com/blog/implementing-semantic-search-in-bookmantic.language-sql<code class="text-sm hljs language-sql" data-highlighted="yes">
ComponentRef 8VXLBL
Text and background colours do not meet the minimum contrast ratio, reducing legibility.
https://noplisu.com/blog/modernizing-rails-applications.text-primary-600<a class="inline-flex items-center text-primary-600 dark:text-red-500 hover:text-primary-700 dark:hover:text-red-600 font-medium transition-colors duration-300 mb-8" href="/#blog">
ComponentRef U6HOTI
Text and background colours do not meet the minimum contrast ratio, reducing legibility.
https://noplisu.com/blog/implementing-semantic-search-in-bookmantic.class_.hljs-title:nth-child(16)<span class="hljs-title class_">ActiveModel::Type::Boolean</span>
05 · Pages inspected
06 · About this assessment
Evolize inspects publicly accessible website pages using automated browser-based testing and deterministic accessibility rules. Automated testing can identify many reproducible technical issues but cannot determine complete WCAG or legal compliance.
- Publicly accessible surfaces only — no credentials, private systems, or source-code access.
- Findings apply to the pages and states successfully inspected; automated analysis may not detect every issue.
- Results reflect the site at the scan date and may have changed since.
Evolize provides digital risk intelligence and does not provide legal advice, certify compliance, or guarantee that litigation will not occur. Methodology · Security · Example assessment
07 · Continuous monitoring
This public report captures one assessment. Evolize monitoring rescans the website, detects new and recurring findings, tracks changes over time and verifies corrections.
Is information in this report inaccurate or outdated? Request a correction or removal.