View ksrilal's full-sized avatar
🎯
Focusing
🎯
Focusing

    Block or report ksrilal

    Block user

    Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

    You must be logged in to block users.

    Content in all repositories owned by your account will be closed.
    Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
    Report abuse

    Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

    Report abuse
    ksrilal/README.md

    ksrilal

    Hi there 👋

    • 🔭 I’m Keerthi Srilal. Thanks for visiting my github.
    • 📫 How to reach me : LinkedIn

    Languages and Tools:

    Pinned Loading

    1. devtools-suitedevtools-suitePublic

      Free privacy-first developer tools that run entirely in your browser — JSON formatter, JWT decoder, regex tester, cron generator, diff checker & smart checklist. No login, no uploads.

      TypeScript 1

    2. dailyplanlydailyplanlyPublic

      DailyPlanly is a calm, printable-first productivity platform. Beautiful planners, structured checklists, and focused tools — all in your browser, no account needed.

      TypeScript

    3. InterviewForgeInterviewForgePublic

      AI-powered interview training platform that simulates real-world interviews, generates personalized question banks, analyzes resumes and job descriptions, identifies skill gaps, and helps candidate…

      TypeScript

    4. DailyLearnDailyLearnPublic

      DailyLearn is an AI-powered micro-learning platform built for Software Engineers who want to learn consistently through bite-sized daily lessons. It combines structured learning paths with AI-gener…

      TypeScript

    5. kapruka-agentkapruka-agentPublic

      Kiyo is an AI shopping assistant built on top of Kapruka — Sri Lanka's largest online gifting and delivery platform. We believe the future of e-commerce isn't a better search box; it's a smarter co…

      TypeScript 1

    6. KS-Movie-BaseKS-Movie-BasePublic

      The movie base app (HTML, CSS & JS) with TMDB APIs

      CSS

    , 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
     blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
    }
    } catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
    })();
    (function(){
    try {
    var __m = "github.com";
    var __re = new RegExp('^' + "github\\.com" + '
    
    Skip to content
    View ksrilal's full-sized avatar
    🎯
    Focusing
    🎯
    Focusing

      Block or report ksrilal

      Block user

      Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

      You must be logged in to block users.

      Content in all repositories owned by your account will be closed.
      Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
      Report abuse

      Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

      Report abuse
      ksrilal/README.md

      ksrilal

      Hi there 👋

      • 🔭 I’m Keerthi Srilal. Thanks for visiting my github.
      • 📫 How to reach me : LinkedIn

      Languages and Tools:

      Pinned Loading

      1. devtools-suitedevtools-suitePublic

        Free privacy-first developer tools that run entirely in your browser — JSON formatter, JWT decoder, regex tester, cron generator, diff checker & smart checklist. No login, no uploads.

        TypeScript 1

      2. dailyplanlydailyplanlyPublic

        DailyPlanly is a calm, printable-first productivity platform. Beautiful planners, structured checklists, and focused tools — all in your browser, no account needed.

        TypeScript

      3. InterviewForgeInterviewForgePublic

        AI-powered interview training platform that simulates real-world interviews, generates personalized question banks, analyzes resumes and job descriptions, identifies skill gaps, and helps candidate…

        TypeScript

      4. DailyLearnDailyLearnPublic

        DailyLearn is an AI-powered micro-learning platform built for Software Engineers who want to learn consistently through bite-sized daily lessons. It combines structured learning paths with AI-gener…

        TypeScript

      5. kapruka-agentkapruka-agentPublic

        Kiyo is an AI shopping assistant built on top of Kapruka — Sri Lanka's largest online gifting and delivery platform. We believe the future of e-commerce isn't a better search box; it's a smarter co…

        TypeScript 1

      6. KS-Movie-BaseKS-Movie-BasePublic

        The movie base app (HTML, CSS & JS) with TMDB APIs

        CSS

      , 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
      Skip to content
      View ksrilal's full-sized avatar
      🎯
      Focusing
      🎯
      Focusing

        Block or report ksrilal

        Block user

        Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

        You must be logged in to block users.

        Content in all repositories owned by your account will be closed.
        Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
        Report abuse

        Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

        Report abuse
        ksrilal/README.md

        ksrilal

        Hi there 👋

        • 🔭 I’m Keerthi Srilal. Thanks for visiting my github.
        • 📫 How to reach me : LinkedIn

        Languages and Tools:

        Pinned Loading

        1. devtools-suitedevtools-suitePublic

          Free privacy-first developer tools that run entirely in your browser — JSON formatter, JWT decoder, regex tester, cron generator, diff checker & smart checklist. No login, no uploads.

          TypeScript 1

        2. dailyplanlydailyplanlyPublic

          DailyPlanly is a calm, printable-first productivity platform. Beautiful planners, structured checklists, and focused tools — all in your browser, no account needed.

          TypeScript

        3. InterviewForgeInterviewForgePublic

          AI-powered interview training platform that simulates real-world interviews, generates personalized question banks, analyzes resumes and job descriptions, identifies skill gaps, and helps candidate…

          TypeScript

        4. DailyLearnDailyLearnPublic

          DailyLearn is an AI-powered micro-learning platform built for Software Engineers who want to learn consistently through bite-sized daily lessons. It combines structured learning paths with AI-gener…

          TypeScript

        5. kapruka-agentkapruka-agentPublic

          Kiyo is an AI shopping assistant built on top of Kapruka — Sri Lanka's largest online gifting and delivery platform. We believe the future of e-commerce isn't a better search box; it's a smarter co…

          TypeScript 1

        6. KS-Movie-BaseKS-Movie-BasePublic

          The movie base app (HTML, CSS & JS) with TMDB APIs

          CSS

        , 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
        Skip to content
        View ksrilal's full-sized avatar
        🎯
        Focusing
        🎯
        Focusing

          Block or report ksrilal

          Block user

          Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

          You must be logged in to block users.

          Content in all repositories owned by your account will be closed.
          Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
          Report abuse

          Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

          Report abuse
          ksrilal/README.md

          ksrilal

          Hi there 👋

          • 🔭 I’m Keerthi Srilal. Thanks for visiting my github.
          • 📫 How to reach me : LinkedIn

          Languages and Tools:

          Pinned Loading

          1. devtools-suitedevtools-suitePublic

            Free privacy-first developer tools that run entirely in your browser — JSON formatter, JWT decoder, regex tester, cron generator, diff checker & smart checklist. No login, no uploads.

            TypeScript 1

          2. dailyplanlydailyplanlyPublic

            DailyPlanly is a calm, printable-first productivity platform. Beautiful planners, structured checklists, and focused tools — all in your browser, no account needed.

            TypeScript

          3. InterviewForgeInterviewForgePublic

            AI-powered interview training platform that simulates real-world interviews, generates personalized question banks, analyzes resumes and job descriptions, identifies skill gaps, and helps candidate…

            TypeScript

          4. DailyLearnDailyLearnPublic

            DailyLearn is an AI-powered micro-learning platform built for Software Engineers who want to learn consistently through bite-sized daily lessons. It combines structured learning paths with AI-gener…

            TypeScript

          5. kapruka-agentkapruka-agentPublic

            Kiyo is an AI shopping assistant built on top of Kapruka — Sri Lanka's largest online gifting and delivery platform. We believe the future of e-commerce isn't a better search box; it's a smarter co…

            TypeScript 1

          6. KS-Movie-BaseKS-Movie-BasePublic

            The movie base app (HTML, CSS & JS) with TMDB APIs

            CSS

          , 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
          Skip to content
          View ksrilal's full-sized avatar
          🎯
          Focusing
          🎯
          Focusing

            Block or report ksrilal

            Block user

            Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

            You must be logged in to block users.

            Content in all repositories owned by your account will be closed.
            Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
            Report abuse

            Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

            Report abuse
            ksrilal/README.md

            ksrilal

            Hi there 👋

            • 🔭 I’m Keerthi Srilal. Thanks for visiting my github.
            • 📫 How to reach me : LinkedIn

            Languages and Tools:

            Pinned Loading

            1. devtools-suitedevtools-suitePublic

              Free privacy-first developer tools that run entirely in your browser — JSON formatter, JWT decoder, regex tester, cron generator, diff checker & smart checklist. No login, no uploads.

              TypeScript 1

            2. dailyplanlydailyplanlyPublic

              DailyPlanly is a calm, printable-first productivity platform. Beautiful planners, structured checklists, and focused tools — all in your browser, no account needed.

              TypeScript

            3. InterviewForgeInterviewForgePublic

              AI-powered interview training platform that simulates real-world interviews, generates personalized question banks, analyzes resumes and job descriptions, identifies skill gaps, and helps candidate…

              TypeScript

            4. DailyLearnDailyLearnPublic

              DailyLearn is an AI-powered micro-learning platform built for Software Engineers who want to learn consistently through bite-sized daily lessons. It combines structured learning paths with AI-gener…

              TypeScript

            5. kapruka-agentkapruka-agentPublic

              Kiyo is an AI shopping assistant built on top of Kapruka — Sri Lanka's largest online gifting and delivery platform. We believe the future of e-commerce isn't a better search box; it's a smarter co…

              TypeScript 1

            6. KS-Movie-BaseKS-Movie-BasePublic

              The movie base app (HTML, CSS & JS) with TMDB APIs

              CSS

            , 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
            Skip to content
            View ksrilal's full-sized avatar
            🎯
            Focusing
            🎯
            Focusing

              Block or report ksrilal

              Block user

              Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

              You must be logged in to block users.

              Content in all repositories owned by your account will be closed.
              Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
              Report abuse

              Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

              Report abuse
              ksrilal/README.md

              ksrilal

              Hi there 👋

              • 🔭 I’m Keerthi Srilal. Thanks for visiting my github.
              • 📫 How to reach me : LinkedIn

              Languages and Tools:

              Pinned Loading

              1. devtools-suitedevtools-suitePublic

                Free privacy-first developer tools that run entirely in your browser — JSON formatter, JWT decoder, regex tester, cron generator, diff checker & smart checklist. No login, no uploads.

                TypeScript 1

              2. dailyplanlydailyplanlyPublic

                DailyPlanly is a calm, printable-first productivity platform. Beautiful planners, structured checklists, and focused tools — all in your browser, no account needed.

                TypeScript

              3. InterviewForgeInterviewForgePublic

                AI-powered interview training platform that simulates real-world interviews, generates personalized question banks, analyzes resumes and job descriptions, identifies skill gaps, and helps candidate…

                TypeScript

              4. DailyLearnDailyLearnPublic

                DailyLearn is an AI-powered micro-learning platform built for Software Engineers who want to learn consistently through bite-sized daily lessons. It combines structured learning paths with AI-gener…

                TypeScript

              5. kapruka-agentkapruka-agentPublic

                Kiyo is an AI shopping assistant built on top of Kapruka — Sri Lanka's largest online gifting and delivery platform. We believe the future of e-commerce isn't a better search box; it's a smarter co…

                TypeScript 1

              6. KS-Movie-BaseKS-Movie-BasePublic

                The movie base app (HTML, CSS & JS) with TMDB APIs

                CSS

              , 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
              Skip to content
              View ksrilal's full-sized avatar
              🎯
              Focusing
              🎯
              Focusing

                Block or report ksrilal

                Block user

                Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

                You must be logged in to block users.

                Content in all repositories owned by your account will be closed.
                Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
                Report abuse

                Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

                Report abuse
                ksrilal/README.md

                ksrilal

                Hi there 👋

                • 🔭 I’m Keerthi Srilal. Thanks for visiting my github.
                • 📫 How to reach me : LinkedIn

                Languages and Tools:

                Pinned Loading

                1. devtools-suitedevtools-suitePublic

                  Free privacy-first developer tools that run entirely in your browser — JSON formatter, JWT decoder, regex tester, cron generator, diff checker & smart checklist. No login, no uploads.

                  TypeScript 1

                2. dailyplanlydailyplanlyPublic

                  DailyPlanly is a calm, printable-first productivity platform. Beautiful planners, structured checklists, and focused tools — all in your browser, no account needed.

                  TypeScript

                3. InterviewForgeInterviewForgePublic

                  AI-powered interview training platform that simulates real-world interviews, generates personalized question banks, analyzes resumes and job descriptions, identifies skill gaps, and helps candidate…

                  TypeScript

                4. DailyLearnDailyLearnPublic

                  DailyLearn is an AI-powered micro-learning platform built for Software Engineers who want to learn consistently through bite-sized daily lessons. It combines structured learning paths with AI-gener…

                  TypeScript

                5. kapruka-agentkapruka-agentPublic

                  Kiyo is an AI shopping assistant built on top of Kapruka — Sri Lanka's largest online gifting and delivery platform. We believe the future of e-commerce isn't a better search box; it's a smarter co…

                  TypeScript 1

                6. KS-Movie-BaseKS-Movie-BasePublic

                  The movie base app (HTML, CSS & JS) with TMDB APIs

                  CSS

                , 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
                Skip to content
                View ksrilal's full-sized avatar
                🎯
                Focusing
                🎯
                Focusing

                  Block or report ksrilal

                  Block user

                  Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

                  You must be logged in to block users.

                  Content in all repositories owned by your account will be closed.
                  Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
                  Report abuse

                  Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

                  Report abuse
                  ksrilal/README.md

                  ksrilal

                  Hi there 👋

                  • 🔭 I’m Keerthi Srilal. Thanks for visiting my github.
                  • 📫 How to reach me : LinkedIn

                  Languages and Tools:

                  Pinned Loading

                  1. devtools-suitedevtools-suitePublic

                    Free privacy-first developer tools that run entirely in your browser — JSON formatter, JWT decoder, regex tester, cron generator, diff checker & smart checklist. No login, no uploads.

                    TypeScript 1

                  2. dailyplanlydailyplanlyPublic

                    DailyPlanly is a calm, printable-first productivity platform. Beautiful planners, structured checklists, and focused tools — all in your browser, no account needed.

                    TypeScript

                  3. InterviewForgeInterviewForgePublic

                    AI-powered interview training platform that simulates real-world interviews, generates personalized question banks, analyzes resumes and job descriptions, identifies skill gaps, and helps candidate…

                    TypeScript

                  4. DailyLearnDailyLearnPublic

                    DailyLearn is an AI-powered micro-learning platform built for Software Engineers who want to learn consistently through bite-sized daily lessons. It combines structured learning paths with AI-gener…

                    TypeScript

                  5. kapruka-agentkapruka-agentPublic

                    Kiyo is an AI shopping assistant built on top of Kapruka — Sri Lanka's largest online gifting and delivery platform. We believe the future of e-commerce isn't a better search box; it's a smarter co…

                    TypeScript 1

                  6. KS-Movie-BaseKS-Movie-BasePublic

                    The movie base app (HTML, CSS & JS) with TMDB APIs

                    CSS