Accessibility

Accessibility Statement

I believe the web should be accessible to everyone, regardless of ability, device, or assistive technology. Accessibility is considered throughout the design and development process of this portfolio rather than being treated as an afterthought. My goal is to create an experience that is inclusive, intuitive, and usable for every visitor.

Commitment to Accessibility

This website is designed with accessibility in mind and aims to align with the principles of the Web Content Accessibility Guidelines (WCAG) 2.1 Level AA wherever reasonably possible. While accessibility is an ongoing process rather than a finished task, I continuously review and improve the experience as the portfolio evolves.

Every new feature, project showcase, and interface enhancement is evaluated with usability, readability, and keyboard accessibility in mind to provide a consistent experience across desktop, tablet, and mobile devices.

Accessibility Features

The following practices have been incorporated throughout the development of this portfolio to improve usability for all visitors.

Semantic HTML

Proper semantic elements such asheader,main,nav,section, andfooterare used to improve document structure and compatibility with assistive technologies.

Keyboard Navigation

Interactive components are designed to be fully operable using a keyboard, with logical focus order, visible focus indicators, and support for standard keyboard interactions.

Screen Reader Support

ARIA attributes are added where appropriate to improve context for screen readers without replacing semantic HTML. Decorative elements are hidden from assistive technologies whenever possible.

Colour Contrast

The light and dark themes are designed with sufficient colour contrast to improve readability while maintaining a clean, modern appearance across different lighting environments.

Responsive Design

Every page is built using responsive layouts that adapt to various screen sizes without compromising usability or content accessibility.

Motion Preferences

Reduced motion preferences are respected using theprefers-reduced-motionmedia query to minimise animations for visitors who request a less animated experience.

Accessibility Principles

The development of this portfolio is guided by four core accessibility principles that help create an inclusive browsing experience for all visitors.

Perceivable

Content is structured with clear headings, descriptive text, meaningful labels, and sufficient colour contrast to improve readability across different devices and assistive technologies.

Operable

Navigation and interactive elements are designed to be usable with a keyboard and compatible with modern browsers and accessibility tools.

Understandable

Information is presented using consistent layouts, descriptive headings, and straightforward language to improve clarity for all users.

Robust

Modern web standards, semantic HTML, and progressive enhancement are used to maximise compatibility with browsers, assistive technologies, and future platform improvements.

Performance & User Experience

Accessibility extends beyond visual design. A fast and responsive website benefits everyone, including visitors using assistive technologies, mobile networks, or lower-powered devices.

This portfolio follows modern development practices such as server-side rendering, responsive layouts, optimized images, semantic markup, efficient code splitting, and performance monitoring to deliver a reliable browsing experience while aiming for excellent Google Lighthouse scores.

Known Limitations

Although accessibility is considered throughout development, some limitations may still exist while new features continue to be improved.

  • AI-generated responses may vary depending on the capabilities of the underlying language model and may not always provide perfectly accessible formatting.
  • Certain third-party embedded content may have accessibility limitations outside my direct control.
  • Some project demonstrations or videos may not yet include captions or audio descriptions. Improvements will continue as additional content is published.

Feedback & Assistance

Accessibility is an ongoing commitment. If you experience any difficulty accessing content, encounter an accessibility barrier, or have suggestions that could improve your experience, I would appreciate hearing from you.

Please use the Contact page to report any accessibility issue or provide feedback. Every report is reviewed carefully and helps improve the portfolio for all visitors.

Continuous Improvement

As my experience as a full-stack developer continues to grow, this portfolio will evolve alongside modern accessibility standards, browser capabilities, and user expectations. Regular reviews, testing, and updates are performed to improve usability, performance, and compatibility over time.

Last reviewed: June 2026

This Accessibility Statement will be updated periodically to reflect improvements, new features, and evolving accessibility standards.

Terms of Service

Terms and Conditions

Welcome to my professional portfolio and platform. By accessing or using this website, including the integrated AI assistant, blog, and associated services, you agree to comply with and be bound by the following terms and conditions. If you do not agree to these terms, please refrain from using this site.

Intellectual Property Rights

All original content featured on this website—including but not limited to project source code, architectural documentation, UI designs, blog articles, brand assets, images, and graphics—is my personal intellectual property unless explicitly stated otherwise or attributed to open-source licenses.

You are welcome to explore my public repositories and live implementations for educational purposes. However, duplication, commercial exploitation, or distribution of closed-source material, custom branding, or proprietary backend code without prior written authorization is strictly prohibited.

AI Assistant Disclaimer & Usage

The interactive conversational interface on this website is powered by an artificial intelligence assistant utilizing Google's Gemini Large Language Model (LLM) API. This tool is intended solely for informational, interactive, and contextual demonstration purposes.

Important Notice regarding AI Output:

AI model outputs can fluctuate and may occasionally include inaccurate, incomplete, or hallucinated technical statements. Content generated by the assistant does not constitute official engineering blueprints, binding software consultations, or legal/professional development advice. You assume full responsibility for validating any code snippets, strategies, or technical insights generated by the assistant before production deployment.

Acceptable Use Policy

To preserve the availability, performance, and security of this platform for all visitors, you agree not to engage in any of the following prohibited behaviors:

API and Form Abuse

You must not execute programmatic script injections, automate spam submissions via the contact form, or consciously prompt the AI assistant to perform heavy-resource exhaustion vectors.

Unauthorized Access

Any deliberate attempts to bypass rate limits, probe security endpoints, scrape content database paths, or force access into secure Admin panels or backend systems will be immediately restricted and reported.

Limitation of Liability

This website and all included text, assets, code samples, and operational features are provided on an "as-is" and "as-available" basis without warranties of any kind, whether explicit or implied.

Under no circumstances shall I be held liable for any direct, indirect, incidental, or consequential damages, operational losses, data discrepancies, system disruptions, or security issues arising from your reliance on my blog, external hyperlinks, live project portfolio deployments, or third-party cloud infrastructure.

Governing Law

These terms and conditions are governed by and construed in accordance with the relevant local and international data security frameworks and electronic transaction standards. Any disputes or enforcement initiatives pertaining to platform vulnerability exploitation or unauthorized structural abuse will be addressed within the respective competent legal jurisdictions.

Last reviewed: June 2026

These Terms and Conditions may be modified dynamically to account for newly integrated features, updated security protocols, or changing architectural compliance metrics.

Privacy Compliance

Privacy Policy

Your privacy is of paramount importance. This Privacy Policy outlines the specific types of data collected through this portfolio application, how that information is securely handled, and the measures taken to safeguard your identity. This platform is designed to align with the Kenya Data Protection Act (KDPA) alongside international frameworks like GDPR and CCPA.

Data Collection & Purpose

This website strictly minimizes data acquisition to explicit user interactions. Data is only captured through the following conduits:

Contact Form Interaction

When sending a query, the application collects your name, email address, and the raw text of your message. This data is exclusively processed to establish direct communication regarding professional opportunities or feedback.

Blog Engagement

Interacting with published blog items (such as submitting optional reader comments or analytical feedback) may require contextual indexing of user identities or timestamps to maintain high comment integrity and protect against automated scripts.

AI Assistant Data Processing

The embedded conversational assistant uses Google's Gemini API to process prompts. Any text queries or code inputs you submit directly to the AI assistant are securely transmitted to Google cloud infrastructure for dynamic real-time generation.

Conversations managed by the assistant are intended to be completely transient. Chat interactions are not persistently written to my core databases, nor are they used to build hidden advertising identities. Please avoid entering highly sensitive financial credentials, private API keys, or confidential source files into the chat prompt interface.

Third-Party Infrastructure & Sub-processors

To preserve the security and delivery of this portfolio, specific transactional metadata is routed through trusted technology providers:

LLM Engine

Google Gemini API

Dynamically evaluates natural language input to deliver responsive portfolio summaries and tech support context.

Cloud Infrastructure

Supabase

Hosts core structured relational tables, administers contact messages, and governs security schemas for Admin portal authentication.

Security Edge

Cloudflare Turnstile

Validates human telemetry during form submissions without tracking user habits or collecting commercial cookies.

Cookies & Local Storage Mechanisms

This application avoids invasive or commercial retargeting cookies. Instead, the architecture utilizes browserlocalStorageand essential telemetry keys purely to handle security and system continuity:

  • Rate-Limiting Tokens: Tracks the threshold of contact messages and AI chats submitted during a single browser lifecycle to block denial-of-service attempts.
  • Theme Configuration: Preserves light or dark mode styling selections across consecutive page navigations.
  • Security Tokens: Non-intrusive variables deployed via Cloudflare Turnstile to verify client machines against algorithmic scraping.

Data Protection & Anti-Abuse Controls

Robust defensive measures protect user submissions from intercepted exfiltration. Data streams are fully encrypted in transit using Secure Sockets Layer (SSL/TLS) mechanisms. Backend access layers are hardened via programmatic honeypots and multi-factor admin guardrails to keep internal logs resilient against malicious exploits or bulk data harvesting.

Your Data Rights

Pursuant to the provisions of the Kenya Data Protection Act (KDPA) and related global frameworks, you retain complete ownership of your information. You possess the following legal entitlements regarding any personal data processed on this site:

  • The right to inspect any personal communications preserved inside platform systems.
  • The right to modify, correct, or amend out-of-date records.
  • The right to enforce total erasure of your historical contact messages from production databases.

To initiate an explicit data deletion or inspection request, please reach out directly through the Contact interface.

Last reviewed: June 2026

This Privacy Policy stays aligned with evolving database additions, API parameter modifications, and legal regulatory developments.