404
Page not found
The page you requested could not be found. Let's get you back on track.
diff --git a/404.html b/404.html new file mode 100644 index 0000000..554ecf7 --- /dev/null +++ b/404.html @@ -0,0 +1 @@ +
Page not found
The page you requested could not be found. Let's get you back on track.
+ACSTechnology is a founder-led software business based in Southern California. + I help small businesses and teams build custom software when off-the-shelf tools + don’t quite fit — whether that’s internal tools, automations, or client-facing systems. +
+I focus on building systems that solve real problems and remain maintainable long after launch. + The goal isn’t just to ship software — it’s to build something you can rely on. +
+Development happens in the open where it makes sense. Public work is mirrored on GitHub, + while private projects are handled in a controlled, self-hosted environment to protect + client data and maintain clear separation from public code. +
+If an off-the-shelf tool already solves your problem cleanly, I’ll usually recommend that instead. + My work is best suited for cases where existing tools fall short, need to be extended, + or don’t align well with your workflow. +
+I'm Andrew, a developer focused on building practical, maintainable systems for real-world use. +
+I started ACSTechnology to work directly with clients who need software that fits their workflow — + not the other way around. +
+I tend to work best with people who already understand their problem and want a reliable, + long-term solution rather than a quick patch. +
+ACSTechnology is just me - plus the occasional hand from family and friends. + This blog isn't about marketing fluff or corporate updates. It's a running log + of what I'm learning while building real software and a business from the ground up. + Most posts will focus on software engineering, with a few exploring the business side. + Expect a mix of deep-dive tutorials, brutally honest rants, and everything in between. +
+Bookmark it or follow on YouTube, whichever you prefer. +
A lightweight Chrome extension for extracting links, images, and videos from any page using regex filters. Built for manual browsing and bulk collection — with a handy side effect of feeding clean data into LLM workflows. This article walks through the why, the build, and what comes next.
A lightweight Chrome extension for extracting links, images, and videos from any page using regex filters. Built for manual browsing and bulk collection — with a handy side effect of feeding clean data into LLM workflows. This article walks through the why, the build, and what comes next.
Sometimes you’re browsing a page and you want everything on it — every PDF link, every image +from a specific domain, every video URL — without opening DevTools or writing a scraper. +That’s what this extension is for.
+It started as a personal tool for manual browsing and bulk collection. Type a regex, hit +extract, get a clean filtered list of links, images, or videos you can download or save.
+The LLM angle came later, almost by accident. The JSON export format turned out to be +exactly what you’d want to paste into a model prompt — structured, typed, with page context +included. That’s a nice bonus, but it’s not why the extension exists.
+The idea came from a simple frustration. When I’m browsing I often want to bulk-collect +something from a page — all the download links, all the images from a specific source, all +the external URLs — and there’s no good lightweight tool for it. DevTools works but it’s +overkill and verbose. Writing a one-off script works but takes time.
+What I wanted was a popup: type a pattern, see matching assets, grab what I need. No server, +no authentication, no data leaving the browser.
+Building it as a Chrome extension was the obvious fit. It runs entirely client-side, has +direct access to the page DOM, and stays out of the way until you need it.
+The extension has three files at its core: manifest.json, popup.html, and popup.js. +Manifest (MV3)
+The extension uses Manifest V3, Chrome’s current extension standard. The only permissions +required are activeTab — which grants temporary access to the current tab when the user +opens the popup — and scripting, which allows injecting the extraction function into the +page context. No broad host permissions, no background data collection.
+Extraction logic
+The core of the extension is a single function, extractPageAssets, that gets injected into +the active tab via chrome.scripting.executeScript. It queries the DOM for three asset types:
+<a href> — links, with their visible text trimmed to 50 characters
+<img src> — images, with alt text carried through
+<video> and child <source> elements — since most modern players put the real URL
+on a <source> tag rather than the <video> element itself
+All three are filtered by the user’s regex pattern, deduplicated by URL, and returned as +a structured payload with the page title, source URL, and a timestamp.
+Why regex?
+Regex gives you precision without a UI for every use case. Want all YouTube links? youtube.com.
+Want only PDFs? \.pdf. Want links from a specific subdomain? You write the pattern. It keeps
+the tool small and hands control to the user — which also makes it a natural pairing with an LLM,
+since you can ask the model to write the pattern for you if you’re unsure.
If you’ve never written a regex before, regex101.com +is the best place to start — paste a pattern and some test URLs and it explains exactly what +each part does. Make sure the flavor is set to JavaScript, which is what the extension uses.
+Export formats
+Results can be exported as JSON (structured, with full metadata) or Markdown (a clean linked +list, useful for dropping straight into a document or LLM prompt). Both are generated entirely +in the browser using a blob URL — no server involved, no upload.
+For everyday users
+For developers using it as an LLM feed
+The JSON export is designed to be pasted directly into a model prompt. It includes the source +URL, page title, timestamp, and a typed array of items — each with a url, type, and either +text (for links) or alt / poster (for images and videos). A prompt like:
+Here is a JSON list of links extracted from a documentation page.
+Identify which ones are likely API reference pages versus guides.
+…works well out of the box with the exported format. The Markdown export is better suited for +summarisation tasks or when you want the model to reason about link text rather than raw URLs.
+A few things on the roadmap:
+The extension is small by design. It does one thing — gets assets off a page fast — and +stays out of your way otherwise. If you regularly find yourself manually hunting down links +or bulk-saving resources while browsing, it’s worth a try. And if you happen to use an LLM +for content work, the export format will slot straight in.
+The full source is available on GitHub.com. If you run into a bug or have a feature request, +open an issue — I read them.
+Have a project in mind or need help building something custom? + Send a message and I’ll take a look. +
+For questions or inquiries, please contact: +contact@acstech.dev
+ACSTechnology is a founder-led software business based in Southern California. + I help small businesses, entrepreneurs, and growing teams turn ideas into working + software - whether that means a custom web app, process automation, backend systems, + or AI-powered tools. The focus is always the same: build something useful, dependable, + and worth using long after launch. +
+At ACSTechnology, my mission is simple - to build software that actually solves + problems. I work closely with each client to understand their goals and create + custom solutions that fit their business, not the other way around. Every + project gets my full attention, from the first idea to the final delivery, + ensuring a smooth process and a result you'll be proud to launch. +
+At ACSTechnology, we combine practical software engineering with the latest in + AI to help small teams do more with less. Our core focus areas include: +
Let's turn your idea into something real.
A selection of things I've built — from side experiments to tools I actually use.
No public projects yet.
Effective Date: April 27, 2026
Regex Link Extractor is a client-side browser extension. It does not collect, store, + or transmit any personal data. All processing happens locally in your browser. +
The extension requests the following permissions:
No other permissions are requested or used.
+When you click "Find Links", the extension injects a script into the active tab to scan + its content using your regex pattern. Matching links, images, and videos are displayed + in the popup. Nothing leaves your browser during this process. +
+If you choose to export results, the file is generated entirely in your browser and saved + directly to your device. No data is uploaded or transmitted to any server at any point. +
+This policy may be updated to reflect changes in functionality or legal requirements. + Any updates will be reflected with a revised effective date at the top of this page. +
+For questions or concerns about this privacy policy, please contact: +support@acstech.dev