{"id":677,"date":"2026-08-29T08:41:48","date_gmt":"2026-08-29T08:41:48","guid":{"rendered":"https:\/\/basein.dev\/blog\/?p=677"},"modified":"2026-08-29T08:43:00","modified_gmt":"2026-08-29T08:43:00","slug":"how-id-build-a-tiny-sec-filing-radar-for-myself","status":"publish","type":"post","link":"https:\/\/basein.dev\/blog\/2026\/08\/29\/how-id-build-a-tiny-sec-filing-radar-for-myself\/","title":{"rendered":"How I&#8217;d Build a Tiny SEC Filing Radar for Myself"},"content":{"rendered":"\n<h1 class=\"wp-block-heading\"><\/h1>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>I don&#8217;t want AI to pick stocks. I want it to tell me what changed.<\/p>\n<\/blockquote>\n\n\n\n<p>The idea started in a slightly ridiculous place: <em>Transcendence<\/em>.<\/p>\n\n\n<figure class=\"wp-block-embed-youtube wp-block-embed is-type-video is-provider-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"lyte-wrapper fourthree\" style=\"width:420px;max-width:100%;margin:5px;\"><div class=\"lyMe\" id=\"WYL_h7K-6XRzQRw\"><div id=\"lyte_h7K-6XRzQRw\" data-src=\"\/\/i.ytimg.com\/vi\/h7K-6XRzQRw\/hqdefault.jpg\" class=\"pL\"><div class=\"tC\"><div class=\"tT\"><\/div><\/div><button tabindex=\"0\" class=\"play\"><\/button><div class=\"ctrl\"><div class=\"Lctrl\"><\/div><div class=\"Rctrl\"><\/div><\/div><\/div><noscript><a href=\"https:\/\/youtu.be\/h7K-6XRzQRw\" rel=\"nofollow\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/i.ytimg.com\/vi\/h7K-6XRzQRw\/0.jpg\" alt=\"YouTube video thumbnail\" width=\"420\" height=\"295\" \/><br \/>Watch this video on YouTube<\/a><\/noscript><\/div><\/div><div class=\"lL\" style=\"max-width:100%;width:420px;margin:5px;\"><\/div><figcaption><\/figcaption><\/figure>\n\n\n<p>Not because I expect an all-knowing machine to take over the market. The film simply pushed me back toward an old question: if software could watch more information than I can, what should I actually ask it to watch?<\/p>\n\n\n\n<p>Years ago, when I traded more actively, I learned a simple lesson: by the time something becomes a news story, it is usually no longer a signal. It has already been selected, interpreted, rewritten, published, shared and, in many cases, priced in.<\/p>\n\n\n\n<p>The more useful place to look is the primary source.<\/p>\n\n\n\n<p>For US public companies, one of those sources is EDGAR: the SEC&#8217;s database of company filings. Annual reports, quarterly reports, material events and insider transactions arrive there before they are reduced to headlines such as \u201cCompany beats expectations\u201d or \u201cInvestors react to weak guidance.\u201d<\/p>\n\n\n\n<p>That led me to build SEC Watcher, a small personal research tool.<\/p>\n\n\n\n<p>It is not a Bloomberg terminal for people who do not want to pay for Bloomberg. It does not predict prices, recommend trades or generate a magic number called \u201cAI confidence.\u201d Its job is narrower:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>new filing\n\u2192 extract useful facts\n\u2192 compare them with earlier facts\n\u2192 apply personal rules\n\u2192 flag anomalies\n\u2192 summarize what deserves manual review<\/code><\/pre>\n\n\n\n<p>That is enough.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"878\" height=\"451\" src=\"https:\/\/basein.dev\/blog\/wp-content\/uploads\/2026\/08\/image.png\" alt=\"\" class=\"wp-image-678\" srcset=\"https:\/\/basein.dev\/blog\/wp-content\/uploads\/2026\/08\/image.png 878w, https:\/\/basein.dev\/blog\/wp-content\/uploads\/2026\/08\/image-300x154.png 300w, https:\/\/basein.dev\/blog\/wp-content\/uploads\/2026\/08\/image-768x394.png 768w\" sizes=\"auto, (max-width: 878px) 100vw, 878px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Why I care more about changes than numbers<\/h2>\n\n\n\n<p>A financial number without context is often close to useless.<\/p>\n\n\n\n<p>Revenue of $500 million may be excellent or terrible. Debt of $200 million may be harmless or existential. Inventory growth can mean preparation for demand, or products that are no longer selling.<\/p>\n\n\n\n<p>The interesting part is movement:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>revenue is still growing, but the rate has slowed for three quarters;<\/li>\n\n\n\n<li>gross margin deteriorated while management kept emphasizing \u201cstrong demand\u201d;<\/li>\n\n\n\n<li>inventory grew much faster than sales;<\/li>\n\n\n\n<li>receivables increased while reported revenue looked healthy;<\/li>\n\n\n\n<li>free cash flow turned positive, but only because payables jumped;<\/li>\n\n\n\n<li>the share count quietly expanded;<\/li>\n\n\n\n<li>debt moved from optional financing to a refinancing risk;<\/li>\n\n\n\n<li>guidance language changed from \u201cexpect\u201d to \u201caim\u201d;<\/li>\n\n\n\n<li>a risk factor that had been boilerplate suddenly became specific;<\/li>\n\n\n\n<li>an insider transaction was a routine tax sale\u2014or an unusual discretionary sale.<\/li>\n<\/ul>\n\n\n\n<p>None of these facts automatically means buy or sell. They mean: look here.<\/p>\n\n\n\n<p>This distinction matters because a language model is very good at producing a fluent explanation of a filing. Fluency is not the same as analysis. A generic summary may save reading time, but a change detector can redirect attention.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What SEC Watcher does today<\/h2>\n\n\n\n<p>The current version is a FastAPI application with a PostgreSQL database, a background worker and a simple dashboard.<\/p>\n\n\n\n<p>I add a ticker to the watchlist. The worker polls SEC submissions for active companies, downloads new filings and stores the original text. The filing then goes through a form-specific analysis path.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Form 4<\/strong> filings receive deterministic insider-transaction analysis.<\/li>\n\n\n\n<li><strong>8-K<\/strong> filings receive deterministic classification for material corporate events.<\/li>\n\n\n\n<li><strong>10-Q and 10-K<\/strong> filings receive XBRL metric extraction and investment-rule checks.<\/li>\n\n\n\n<li>Other supported filings can receive a cautious LLM-generated summary.<\/li>\n\n\n\n<li>Results appear in the dashboard.<\/li>\n\n\n\n<li>Telegram alerts are sent only when the analysis contains a positive or negative signal.<\/li>\n<\/ul>\n\n\n\n<p>The SEC provides JSON APIs for company submission histories and extracted XBRL facts. They require no API key, are updated throughout the day and cover data from forms including 10-Q, 10-K, 8-K, 20-F, 40-F and 6-K. The only important operational constraint is to behave like a reasonable client: identify the application, cache responses and stay within the SEC&#8217;s fair-access guidance of no more than ten requests per second.<\/p>\n\n\n\n<p>For a personal watchlist, that is not a difficult limitation. There is no reason to hammer the source.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"606\" height=\"626\" src=\"https:\/\/basein.dev\/blog\/wp-content\/uploads\/2026\/08\/image-1.png\" alt=\"\" class=\"wp-image-679\" srcset=\"https:\/\/basein.dev\/blog\/wp-content\/uploads\/2026\/08\/image-1.png 606w, https:\/\/basein.dev\/blog\/wp-content\/uploads\/2026\/08\/image-1-290x300.png 290w\" sizes=\"auto, (max-width: 606px) 100vw, 606px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Why I do not send every filing to an LLM<\/h2>\n\n\n\n<p>The easiest prototype would be:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>download filing \u2192 send entire document to AI \u2192 ask for summary<\/code><\/pre>\n\n\n\n<p>It would also be the wrong architecture.<\/p>\n\n\n\n<p>First, filings are long. Paying to process the same boilerplate every quarter is wasteful. Second, language models can confuse periods, units and similarly named metrics. Third, many useful checks do not require AI at all.<\/p>\n\n\n\n<p>Code should handle what code handles well:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>accession numbers and duplicate detection;<\/li>\n\n\n\n<li>form types and filing dates;<\/li>\n\n\n\n<li>numeric comparisons;<\/li>\n\n\n\n<li>XBRL units and reporting periods;<\/li>\n\n\n\n<li>personal thresholds;<\/li>\n\n\n\n<li>known Form 4 transaction codes;<\/li>\n\n\n\n<li>known 8-K item categories;<\/li>\n\n\n\n<li>history and auditability.<\/li>\n<\/ul>\n\n\n\n<p>An LLM should handle the smaller fuzzy layer:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>explain why a detected change may matter;<\/li>\n\n\n\n<li>summarize a new disclosure;<\/li>\n\n\n\n<li>compare management wording;<\/li>\n\n\n\n<li>identify language that became more cautious or more specific;<\/li>\n\n\n\n<li>turn structured findings into a compact alert.<\/li>\n<\/ul>\n\n\n\n<p>This is also why I do not want the project tied to an expensive hosted AI model. I do not want every polling cycle or reprocessing job to burn paid tokens. I plan to keep experimenting with Ollama and local models, especially for summaries and textual comparisons where a small model may be good enough.<\/p>\n\n\n\n<p>The system should still work when the AI layer is unavailable. A filing monitor with reliable rules is useful. A filing monitor that becomes blind when an API balance reaches zero is not.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">The rules are personal, not universal<\/h2>\n\n\n\n<p>I am not trying to invent one financial score that works for every company.<\/p>\n\n\n\n<p>A young SaaS company, a bank and an industrial manufacturer should not be evaluated with the same thresholds. Even two software companies may have completely different reasons for being on my watchlist.<\/p>\n\n\n\n<p>For a growth company, I might care about:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>revenue growth\nfree cash flow and FCF margin\nGAAP profitability trend\ngross margin\nstock-based compensation as a percentage of revenue\nshare-count growth\ncash and net debt\nmaterial weaknesses<\/code><\/pre>\n\n\n\n<p>For a manufacturer, inventory, receivables, order backlog and capital expenditure may matter more. For a lender, funding costs, delinquencies and credit losses are central.<\/p>\n\n\n\n<p>The important question is not \u201cIs this company good?\u201d It is:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>Is the reason I started following this company becoming stronger or weaker?<\/p>\n<\/blockquote>\n\n\n\n<p>Eventually, I want each ticker to have a small investment-thesis file with its own rules. The watcher can then report a thesis change instead of producing another generic company score.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Telegram is the real interface<\/h2>\n\n\n\n<p>The project has a dashboard, but I do not want another dashboard that I must remember to open.<\/p>\n\n\n\n<p>Useful monitoring tools should enter an existing reaction loop. In my case, alerts go to my Telegram bot for fast reactions. The dashboard is for adding companies, reviewing history and inspecting the evidence. Telegram is where the system earns its place.<\/p>\n\n\n\n<p>A useful alert should be short enough to scan and specific enough to verify:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>NEW 10-Q \u2014 Example Corp\n\nRevenue growth: 24% \u2192 19%\nGross margin: 76.2% \u2192 74.8%\nShare count: +4.1% YoY\nReceivables grew faster than revenue.\n\nLanguage change:\nManagement removed \u201caccelerating enterprise demand\u201d\nand now expects \u201cmeasured customer expansion.\u201d\n\nReview reason: growth is slowing while dilution increased.\nSource: filing and extracted facts attached.<\/code><\/pre>\n\n\n\n<p>The wording should remain cautious. \u201cReview reason\u201d is honest. \u201cSell signal\u201d would be theatre.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"833\" height=\"1024\" src=\"https:\/\/basein.dev\/blog\/wp-content\/uploads\/2026\/08\/image-2-833x1024.png\" alt=\"\" class=\"wp-image-680\" srcset=\"https:\/\/basein.dev\/blog\/wp-content\/uploads\/2026\/08\/image-2-833x1024.png 833w, https:\/\/basein.dev\/blog\/wp-content\/uploads\/2026\/08\/image-2-244x300.png 244w, https:\/\/basein.dev\/blog\/wp-content\/uploads\/2026\/08\/image-2-768x945.png 768w, https:\/\/basein.dev\/blog\/wp-content\/uploads\/2026\/08\/image-2.png 1131w\" sizes=\"auto, (max-width: 833px) 100vw, 833px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">The hardest part is not the AI<\/h2>\n\n\n\n<p>The code for calling a language model is trivial. The difficult parts are much less glamorous.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">XBRL data is structured, but not perfectly uniform<\/h3>\n\n\n\n<p>Companies can use different tags for economically similar facts. Periods can be quarterly, year-to-date or annual. Units can differ. Restatements and amended filings complicate comparisons. A number that looks comparable may refer to a different duration or context.<\/p>\n\n\n\n<p>The extraction layer therefore needs validation before scoring. The AI should never be allowed to invent or silently \u201crepair\u201d financial values.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Different forms need different logic<\/h3>\n\n\n\n<p>An 8-K is a current report for material events, not a miniature quarterly report. A Form 4 is an ownership transaction disclosure, not evidence of insider conviction by itself. A 10-Q is more abbreviated than a 10-K and contains a different disclosure rhythm.<\/p>\n\n\n\n<p>Treating every document as unstructured text loses information that the form already provides.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Summaries need provenance<\/h3>\n\n\n\n<p>Every claim in an alert should be traceable to a filing, a metric and a comparison period. If I cannot quickly verify why the system raised a flag, the alert becomes noise.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Historical records need migration<\/h3>\n\n\n\n<p>I recently made English the primary language throughout the application: dashboard labels, dates, accessibility text, generated summaries, rule results and Telegram headings. New filings now follow that format, but older database records remain unchanged until they are reprocessed.<\/p>\n\n\n\n<p>That sounds like a minor interface task. It is actually a reminder that even a personal data product accumulates state. Changing a prompt does not change history. Backfills, rechecks and versioned logic are part of the product.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What is still missing<\/h2>\n\n\n\n<p>The current version handles monitoring, storage, form-specific analysis, XBRL checks and alerts. It is useful, but it is not yet the full radar I originally imagined.<\/p>\n\n\n\n<p>The next valuable layer is not a prettier dashboard. It is better comparison.<\/p>\n\n\n\n<p>I want to add:<\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li><strong>Reliable filing-to-filing metric deltas.<\/strong> Compare equivalent periods, not merely the latest two values returned by an API.<\/li>\n\n\n\n<li><strong>Management-language diffs.<\/strong> Focus on MD&amp;A, guidance, liquidity and risk-factor changes rather than comparing entire documents.<\/li>\n\n\n\n<li><strong>Company-specific thesis rules.<\/strong> Let each ticker have different assumptions and failure conditions.<\/li>\n\n\n\n<li><strong>Evidence-first summaries.<\/strong> Attach the exact source section or fact behind every important statement.<\/li>\n\n\n\n<li><strong>Outcome tracking.<\/strong> Record what happened to the company and its price after each flag\u2014without pretending correlation proves predictability.<\/li>\n\n\n\n<li><strong>Alert quality metrics.<\/strong> Track which alerts caused a useful manual review and which were false positives.<\/li>\n<\/ol>\n\n\n\n<p>The fifth point is the experiment behind the experiment. I want to know whether systematic conclusions from filings can improve my decisions or returns. I do not assume they can. The only honest way to find out is to record alerts before knowing the outcome and evaluate them later.<\/p>\n\n\n\n<p>Otherwise, it is easy to look backward and discover that every warning was \u201cobvious.\u201d<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What I deliberately would not build<\/h2>\n\n\n\n<p>Scope is the main defense against turning a useful personal tool into an unfinished platform.<\/p>\n\n\n\n<p>I would not start with:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>coverage of every listed company;<\/li>\n\n\n\n<li>real-time price prediction;<\/li>\n\n\n\n<li>automatic trading;<\/li>\n\n\n\n<li>social sentiment;<\/li>\n\n\n\n<li>portfolio allocation;<\/li>\n\n\n\n<li>a universal AI investment score;<\/li>\n\n\n\n<li>a chat interface over thousands of filings;<\/li>\n\n\n\n<li>subscriptions and billing before I know whether I use the tool myself.<\/li>\n<\/ul>\n\n\n\n<p>There are already large products for financial search, terminals, alternative data and automated research. Competing with their breadth would remove the exact advantage of this project: I can make it opinionated around my own watchlist and decision process.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">A small data product with real utility<\/h2>\n\n\n\n<p>SEC Watcher fits the kind of software I increasingly find interesting: small tools built around a specific information bottleneck.<\/p>\n\n\n\n<p>The raw data is public. The individual components are not especially exotic. FastAPI, PostgreSQL, a worker, XBRL parsing, a few deterministic rules, a local model and Telegram are enough to build the first version.<\/p>\n\n\n\n<p>The value is in the pipeline and the discipline:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>primary source\n\u2192 structured extraction\n\u2192 explicit comparison\n\u2192 personal rules\n\u2192 cautious explanation\n\u2192 manual decision<\/code><\/pre>\n\n\n\n<p>AI sits inside that pipeline. It does not sit above it pretending to be an investor.<\/p>\n\n\n\n<p>Maybe the tool will eventually reveal patterns that improve my results. Maybe it will only save time and make me read filings more consistently. The second outcome is already useful.<\/p>\n\n\n\n<p>I do not need AI to tell me which stock will go up.<\/p>\n\n\n\n<p>I need it to notice that something changed before I forget why I was watching the company in the first place.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p><em>SEC Watcher is a personal research experiment, not investment advice. EDGAR filings and extracted XBRL facts are available through the <\/em><a href=\"https:\/\/www.sec.gov\/search-filings\/edgar-application-programming-interfaces\"><em>SEC&#8217;s public APIs<\/em><\/a><em>. Developers should also follow the SEC&#8217;s <\/em><a href=\"https:\/\/www.sec.gov\/about\/developer-resources\"><em>fair-access guidance<\/em><\/a><em>.<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>I don&#8217;t want AI to pick stocks. I want it to tell me what changed. The idea started in a&hellip;<\/p>\n","protected":false},"author":1,"featured_media":681,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[878],"tags":[],"class_list":["post-677","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-in-progress-build"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.9 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>How I&#039;d Build a Tiny SEC Filing Radar for Myself - Inside the Lab<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/basein.dev\/blog\/2026\/08\/29\/how-id-build-a-tiny-sec-filing-radar-for-myself\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How I&#039;d Build a Tiny SEC Filing Radar for Myself - Inside the Lab\" \/>\n<meta property=\"og:description\" content=\"I don&#8217;t want AI to pick stocks. I want it to tell me what changed. The idea started in a&hellip;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/basein.dev\/blog\/2026\/08\/29\/how-id-build-a-tiny-sec-filing-radar-for-myself\/\" \/>\n<meta property=\"og:site_name\" content=\"Inside the Lab\" \/>\n<meta property=\"article:published_time\" content=\"2026-08-29T08:41:48+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-08-29T08:43:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/basein.dev\/blog\/wp-content\/uploads\/2026\/08\/5fe587d6-44a6-4b98-b0f9-2e422240148b.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1672\" \/>\n\t<meta property=\"og:image:height\" content=\"941\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Yevhen D.\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Yevhen D.\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"9 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/basein.dev\/blog\/2026\/08\/29\/how-id-build-a-tiny-sec-filing-radar-for-myself\/\",\"url\":\"https:\/\/basein.dev\/blog\/2026\/08\/29\/how-id-build-a-tiny-sec-filing-radar-for-myself\/\",\"name\":\"How I'd Build a Tiny SEC Filing Radar for Myself - Inside the Lab\",\"isPartOf\":{\"@id\":\"https:\/\/basein.dev\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/basein.dev\/blog\/2026\/08\/29\/how-id-build-a-tiny-sec-filing-radar-for-myself\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/basein.dev\/blog\/2026\/08\/29\/how-id-build-a-tiny-sec-filing-radar-for-myself\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/basein.dev\/blog\/wp-content\/uploads\/2026\/08\/5fe587d6-44a6-4b98-b0f9-2e422240148b.png\",\"datePublished\":\"2026-08-29T08:41:48+00:00\",\"dateModified\":\"2026-08-29T08:43:00+00:00\",\"author\":{\"@id\":\"https:\/\/basein.dev\/blog\/#\/schema\/person\/e1073793a1beab22e3970c5639ed44f3\"},\"breadcrumb\":{\"@id\":\"https:\/\/basein.dev\/blog\/2026\/08\/29\/how-id-build-a-tiny-sec-filing-radar-for-myself\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/basein.dev\/blog\/2026\/08\/29\/how-id-build-a-tiny-sec-filing-radar-for-myself\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/basein.dev\/blog\/2026\/08\/29\/how-id-build-a-tiny-sec-filing-radar-for-myself\/#primaryimage\",\"url\":\"https:\/\/basein.dev\/blog\/wp-content\/uploads\/2026\/08\/5fe587d6-44a6-4b98-b0f9-2e422240148b.png\",\"contentUrl\":\"https:\/\/basein.dev\/blog\/wp-content\/uploads\/2026\/08\/5fe587d6-44a6-4b98-b0f9-2e422240148b.png\",\"width\":1672,\"height\":941},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/basein.dev\/blog\/2026\/08\/29\/how-id-build-a-tiny-sec-filing-radar-for-myself\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/basein.dev\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How I&#8217;d Build a Tiny SEC Filing Radar for Myself\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/basein.dev\/blog\/#website\",\"url\":\"https:\/\/basein.dev\/blog\/\",\"name\":\"Inside the Lab\",\"description\":\"Experiments, systems, and monetization in motion.\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/basein.dev\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/basein.dev\/blog\/#\/schema\/person\/e1073793a1beab22e3970c5639ed44f3\",\"name\":\"Yevhen D.\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/basein.dev\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/basein.dev\/blog\/wp-content\/uploads\/2025\/05\/avatar_user_1_1746891952-96x96.jpeg\",\"contentUrl\":\"https:\/\/basein.dev\/blog\/wp-content\/uploads\/2025\/05\/avatar_user_1_1746891952-96x96.jpeg\",\"caption\":\"Yevhen D.\"},\"description\":\"Business Ideas \u2022 Software ecosystems \u2022 Online business \u2022 Marketplaces \u2022 Digital Products \u2022 Startups \u2022 SaaS Tips for beginners and experienced businessmen. We help in the study of useful and effective tools for online business. Tips and guides for the services you use or would like to use. We are experts in online business, or at least our experience allows us to talk about many interesting things :)\",\"sameAs\":[\"https:\/\/basein.dev\/blog\/\"],\"url\":\"https:\/\/basein.dev\/blog\/author\/shopexpertfy\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"How I'd Build a Tiny SEC Filing Radar for Myself - Inside the Lab","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/basein.dev\/blog\/2026\/08\/29\/how-id-build-a-tiny-sec-filing-radar-for-myself\/","og_locale":"en_US","og_type":"article","og_title":"How I'd Build a Tiny SEC Filing Radar for Myself - Inside the Lab","og_description":"I don&#8217;t want AI to pick stocks. I want it to tell me what changed. The idea started in a&hellip;","og_url":"https:\/\/basein.dev\/blog\/2026\/08\/29\/how-id-build-a-tiny-sec-filing-radar-for-myself\/","og_site_name":"Inside the Lab","article_published_time":"2026-08-29T08:41:48+00:00","article_modified_time":"2026-08-29T08:43:00+00:00","og_image":[{"width":1672,"height":941,"url":"https:\/\/basein.dev\/blog\/wp-content\/uploads\/2026\/08\/5fe587d6-44a6-4b98-b0f9-2e422240148b.png","type":"image\/png"}],"author":"Yevhen D.","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Yevhen D.","Est. reading time":"9 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/basein.dev\/blog\/2026\/08\/29\/how-id-build-a-tiny-sec-filing-radar-for-myself\/","url":"https:\/\/basein.dev\/blog\/2026\/08\/29\/how-id-build-a-tiny-sec-filing-radar-for-myself\/","name":"How I'd Build a Tiny SEC Filing Radar for Myself - Inside the Lab","isPartOf":{"@id":"https:\/\/basein.dev\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/basein.dev\/blog\/2026\/08\/29\/how-id-build-a-tiny-sec-filing-radar-for-myself\/#primaryimage"},"image":{"@id":"https:\/\/basein.dev\/blog\/2026\/08\/29\/how-id-build-a-tiny-sec-filing-radar-for-myself\/#primaryimage"},"thumbnailUrl":"https:\/\/basein.dev\/blog\/wp-content\/uploads\/2026\/08\/5fe587d6-44a6-4b98-b0f9-2e422240148b.png","datePublished":"2026-08-29T08:41:48+00:00","dateModified":"2026-08-29T08:43:00+00:00","author":{"@id":"https:\/\/basein.dev\/blog\/#\/schema\/person\/e1073793a1beab22e3970c5639ed44f3"},"breadcrumb":{"@id":"https:\/\/basein.dev\/blog\/2026\/08\/29\/how-id-build-a-tiny-sec-filing-radar-for-myself\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/basein.dev\/blog\/2026\/08\/29\/how-id-build-a-tiny-sec-filing-radar-for-myself\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/basein.dev\/blog\/2026\/08\/29\/how-id-build-a-tiny-sec-filing-radar-for-myself\/#primaryimage","url":"https:\/\/basein.dev\/blog\/wp-content\/uploads\/2026\/08\/5fe587d6-44a6-4b98-b0f9-2e422240148b.png","contentUrl":"https:\/\/basein.dev\/blog\/wp-content\/uploads\/2026\/08\/5fe587d6-44a6-4b98-b0f9-2e422240148b.png","width":1672,"height":941},{"@type":"BreadcrumbList","@id":"https:\/\/basein.dev\/blog\/2026\/08\/29\/how-id-build-a-tiny-sec-filing-radar-for-myself\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/basein.dev\/blog\/"},{"@type":"ListItem","position":2,"name":"How I&#8217;d Build a Tiny SEC Filing Radar for Myself"}]},{"@type":"WebSite","@id":"https:\/\/basein.dev\/blog\/#website","url":"https:\/\/basein.dev\/blog\/","name":"Inside the Lab","description":"Experiments, systems, and monetization in motion.","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/basein.dev\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/basein.dev\/blog\/#\/schema\/person\/e1073793a1beab22e3970c5639ed44f3","name":"Yevhen D.","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/basein.dev\/blog\/#\/schema\/person\/image\/","url":"https:\/\/basein.dev\/blog\/wp-content\/uploads\/2025\/05\/avatar_user_1_1746891952-96x96.jpeg","contentUrl":"https:\/\/basein.dev\/blog\/wp-content\/uploads\/2025\/05\/avatar_user_1_1746891952-96x96.jpeg","caption":"Yevhen D."},"description":"Business Ideas \u2022 Software ecosystems \u2022 Online business \u2022 Marketplaces \u2022 Digital Products \u2022 Startups \u2022 SaaS Tips for beginners and experienced businessmen. We help in the study of useful and effective tools for online business. Tips and guides for the services you use or would like to use. We are experts in online business, or at least our experience allows us to talk about many interesting things :)","sameAs":["https:\/\/basein.dev\/blog\/"],"url":"https:\/\/basein.dev\/blog\/author\/shopexpertfy\/"}]}},"_links":{"self":[{"href":"https:\/\/basein.dev\/blog\/wp-json\/wp\/v2\/posts\/677","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/basein.dev\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/basein.dev\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/basein.dev\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/basein.dev\/blog\/wp-json\/wp\/v2\/comments?post=677"}],"version-history":[{"count":1,"href":"https:\/\/basein.dev\/blog\/wp-json\/wp\/v2\/posts\/677\/revisions"}],"predecessor-version":[{"id":682,"href":"https:\/\/basein.dev\/blog\/wp-json\/wp\/v2\/posts\/677\/revisions\/682"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/basein.dev\/blog\/wp-json\/wp\/v2\/media\/681"}],"wp:attachment":[{"href":"https:\/\/basein.dev\/blog\/wp-json\/wp\/v2\/media?parent=677"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/basein.dev\/blog\/wp-json\/wp\/v2\/categories?post=677"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/basein.dev\/blog\/wp-json\/wp\/v2\/tags?post=677"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}