Sigrid De los Santos commited on
Commit
7cb8f2e
·
1 Parent(s): 544de3a

debugging for analysis tables

Browse files
data/test_startup_2025-07-26.md ADDED
@@ -0,0 +1,69 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ### 📌 Executive Summary
2
+
3
+ - **Positive Sentiment:** The $100M Series A funding round suggests strong investor confidence and institutional validation for Test Startup’s growth prospects.
4
+ - **Key Risk:** Ongoing regulatory lawsuit poses near-term headline and operational risk, potentially impacting valuation and investor sentiment.
5
+ - **Catalysts:** Capital influx could drive market expansion, product innovation, or hiring, but regulatory outcomes must be monitored closely.
6
+ - **Market Tone:** Mixed this week – strong signals for growth, offset by legal headwinds; watch for regulatory updates.
7
+
8
+ ---
9
+
10
+ ### 📊 Signals and Analysis (Include Sources)
11
+
12
+ #### **Test Startup Raises $100M Series A**
13
+ Test Startup secured a **$100M Series A funding** round, a substantial early-stage raise indicating deep-pocketed backers and implied confidence in market potential. At a time when venture rounds are contracting, such a raise suggests Test Startup is perceived as having a competitive product, possible early traction, or significant technology moat. High cash reserves post-raise are a positive signal for future operational runway and negotiating power in strategic partnerships. This event hints at the possibility of undervaluation versus potential value unlock through rapid expansion. [[source](https://example.com/funding)]
14
+
15
+ #### **Test Startup Faces Regulatory Lawsuit**
16
+ Simultaneously, Test Startup is grappling with **regulatory lawsuits over environmental violations**. This risk could constrain operational scope, delay product timelines, or saddle the company with fines. Investors must be wary: settlement costs, management distraction, and negative publicity may weigh on short- and mid-term performance. The regulatory environment is especially crucial for early-stage companies scaling in industries with environmental impact. [[source](https://example.com/lawsuit)]
17
+
18
+ ---
19
+
20
+ ### 🧠 Investment Thesis
21
+
22
+ **Sentiment & Market Trends**
23
+ VC and public-market risk appetite remains selective in 2024, with large growth rounds favoring startups showing resilience or distinctive advantage (tech, regulatory moats, or strong leadership). However, increased regulatory scrutiny—especially on environmental and social practices—is raising risks for even well-capitalized startups.
24
+
25
+ **Analysis**
26
+ - **Buy/Watch (High Risk/High Reward):**
27
+ The sheer size of the Series A implies a potential mispricing or underrecognition of Test Startup’s future value, especially if funds accelerate scale or product defensibility. However, prudent investors must **watch** pending litigation outcomes, and consider potential downside from unfavorable regulatory resolutions.
28
+ - **Key Risks:**
29
+ Regulatory headwinds, possible stock/dilution on further raises for legal/reserve needs, negative press, and cyclical VC appetites.
30
+ - **Reward Potential:**
31
+ Successful litigation resolution and deployment of capital could drive outsized returns, especially versus comparables with similar funding but less legal baggage.
32
+
33
+ **Smart Money Moves:**
34
+ - Institutional capital, likely from established VCs, appears bullish per the size of the fundraise.
35
+ - Absence of clear insider buys or key high-profile additions this week suggests most action is from financial (not operator) players.
36
+ - Watch for notable board appointments, capital deployment patterns, or partnerships in coming quarters.
37
+
38
+ **What to Monitor:**
39
+ - Legal case progress and settlement risk.
40
+ - Post-raise strategic operational moves.
41
+ - Any new high-profile investors or operators joining.
42
+
43
+ ---
44
+
45
+ ### 🔎 Stocks or Startups to Watch
46
+
47
+ - **Test Startup**: High potential but monitor legal headwinds. No public valuation, but Series A magnitude makes it a possible future IPO or buyout candidate.
48
+ - [Funding details](https://example.com/funding)
49
+ - **Peers:** Look for other small-caps/startups in the same sector or who recently resolved regulatory challenges — these may see re-rating if sentiment improves.
50
+
51
+ ---
52
+
53
+ ### 📚 References
54
+
55
+ 1. [Startup raises $100M Series A funding](https://example.com/funding)
56
+ 2. [Company faces regulatory lawsuit](https://example.com/lawsuit)
57
+
58
+ ---
59
+
60
+ ### 🧠 Investment Hypothesis
61
+
62
+ Given the **combination of strong institutional capital inflow** and near-term **regulatory risk**, Test Startup represents a high-beta play on execution and regulatory clarity. **If the lawsuit resolves favorably**, early investors could benefit from disproportionate upside as operations and valuation normalize. Conversely, if regulatory risks escalate, valuation could contract sharply or fundraise capital may be depleted in legal costs.
63
+
64
+ **Approach:**
65
+ - *Short term*: Watch and assess for clarity on lawsuit and deployment of funds.
66
+ - *Long term*: Invest post-clarity, or as legal risk is discounted by broader market, given strong fundamental backing and recent large fundraise.
67
+
68
+ **Bottom Line:**
69
+ Risk-tolerant value investors should keep Test Startup under close review, pending resolution of headline legal risk and further signals of operational strength or capital deployment.
debug_pipeline.py ADDED
@@ -0,0 +1,26 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # debug_pipeline.py
2
+ import os
3
+ import sys
4
+ import pandas as pd
5
+
6
+ # Add src to path
7
+ sys.path.append(os.path.join(os.path.dirname(__file__), 'src'))
8
+ from main import run_pipeline
9
+
10
+ # Prepare a temporary CSV for topics
11
+ csv_path = "test_topics.csv"
12
+ pd.DataFrame([{"topic": "Test Startup", "timespan_days": 7}]).to_csv(csv_path, index=False)
13
+
14
+ # Run pipeline
15
+ print("🚀 Running pipeline (local debug mode, no Tavily)...")
16
+ html_paths, articles_df, insights_df = run_pipeline(csv_path, "dummy_tavily_key", progress_callback=print)
17
+
18
+ # Output results
19
+ print("\n=== HTML Paths ===")
20
+ print(html_paths)
21
+
22
+ print("\n=== Articles ===")
23
+ print(articles_df)
24
+
25
+ print("\n=== Insights ===")
26
+ print(insights_df)
debug_sentiment.py ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # debug_sentiment.py
2
+ import sys
3
+ import os
4
+
5
+ # Add src to path
6
+ sys.path.append(os.path.join(os.path.dirname(__file__), 'src'))
7
+ from fin_interpreter import analyze_article
8
+
9
+ print("🔍 Debugging FinBERT sentiment analysis...\n")
10
+
11
+ sample_articles = [
12
+ "Tesla reported record profits and plans a major expansion in Europe.",
13
+ "The company faces regulatory scrutiny and potential lawsuits over its new product.",
14
+ "The startup raised $50M in Series A funding from top venture capital firms."
15
+ ]
16
+
17
+ for idx, text in enumerate(sample_articles, 1):
18
+ print(f"--- Article {idx} ---")
19
+ result = analyze_article(text)
20
+ print(f"Text: {text}")
21
+ print(f"Result: {result}")
22
+ print()
html/ai_2025-06-03.html CHANGED
@@ -1,99 +1,99 @@
1
 
2
- <!DOCTYPE html>
3
- <html lang="en">
4
- <head>
5
- <meta charset="UTF-8">
6
- <title>ai_2025-06-03</title>
7
- <style>
8
- body {
9
- font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
10
- margin: 0;
11
- background-color: #f8f9fa;
12
- color: #212529;
13
- line-height: 1.6;
14
- }
15
- header {
16
- background-color: #ffffff;
17
- text-align: center;
18
- padding: 1em;
19
- border-bottom: 2px solid #dee2e6;
20
- }
21
- header img {
22
- width: 100%;
23
- height: auto;
24
- max-height: 50vh;
25
- object-fit: cover;
26
- }
27
- .credit {
28
- font-size: 0.85em;
29
- color: #6c757d;
30
- margin-top: 0.5em;
31
- }
32
- .container {
33
- display: flex;
34
- flex-direction: row;
35
- max-width: 1200px;
36
- margin: 2em auto;
37
- padding: 0 1em;
38
- gap: 2em;
39
- }
40
- main {
41
- flex: 3;
42
- }
43
- aside {
44
- flex: 1;
45
- background-color: #ffffff;
46
- border: 1px solid #dee2e6;
47
- border-radius: 8px;
48
- padding: 1em;
49
- box-shadow: 0 2px 6px rgba(0,0,0,0.05);
50
- height: fit-content;
51
- }
52
- main img {
53
- max-width: 100%;
54
- height: auto;
55
- display: block;
56
- margin: 1.5em auto;
57
- box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
58
- }
59
- h1, h2, h3 {
60
- color: #0d6efd;
61
- }
62
- a {
63
- color: #0d6efd;
64
- text-decoration: none;
65
- }
66
- a:hover {
67
- text-decoration: underline;
68
- }
69
- code {
70
- background: #e9ecef;
71
- padding: 0.2em 0.4em;
72
- border-radius: 4px;
73
- font-family: monospace;
74
- }
75
- pre {
76
- background: #e9ecef;
77
- padding: 1em;
78
- overflow-x: auto;
79
- border-radius: 6px;
80
- }
81
- blockquote {
82
- border-left: 4px solid #0d6efd;
83
- padding-left: 1em;
84
- color: #495057;
85
- margin: 1em 0;
86
- background: #f1f3f5;
87
- }
88
- </style>
89
- </head>
90
- <body>
91
- <header>
92
- <img src="https://images.unsplash.com/photo-1703192163836-ce785fdb89de?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NzIzMjF8MHwxfHNlYXJjaHwxfHxhaSUyMDIwMjUtMDYtMDN8ZW58MHwwfHx8MTc1MTQ3NjczOHww&ixlib=rb-4.1.0&q=80&w=1080" alt="ai_2025-06-03 Banner">
93
- </header>
94
- <div class="container">
95
- <main>
96
-
97
  <h1 id="ai-value-investing-memo-week-ending-2june2025-weekly-focus">AI Value Investing Memo – Week Ending 2/June/2025 (Weekly Focus)</h1>
98
  <h2 id="intro-market-context"><strong>Intro &amp; Market Context</strong></h2>
99
  <p>This week in AI, the market accelerated along its current high-anticipation trajectory, with a cluster of activity in startup fundraising, M&amp;A, and fresh enterprise adoption. While no single "breakthrough" event dominated headlines, several key themes emerged: (1) Venture capital continues to quietly roll up smaller firms into AI-centric portfolios, (2) corporate M&amp;A is ramping up in the AI space, (3) established tech giants are focusing on massive compute expansion as agentic AI demand surges, (4) novel applications (psychiatry, fintech, legaltech, and biology) are moving into commercial and even IPO-ready scale, and (5) regulatory and privacy debate continues to follow AI's march into sensitive sectors.</p>
@@ -209,12 +209,12 @@
209
  <p><strong>Broad Summary of This Week's AI News:</strong>
210
  The week was dominated by continued VC confidence, strategic M&amp;A, and institutional moves in vertical AI applications, with significant attention on small-cap and startup valuations. Macroeconomic backdrop remains strong for AI demand, but value opportunities lie beneath the surface in rollups, newly funded vertical SaaS, and compliance-driven niches. Regulatory risk rising but also carving new investable moats.</p>
211
  <hr />
212
- </main>
213
- <aside>
214
- <h3>🧠 Metrics</h3>
215
- <ul><li>Metrics</li><li>Topic: AI</li><li>Articles Collected: 371</li><li>Generated: 2025-06-03 11:57</li></ul>
216
- </aside>
217
- </div>
218
- </body>
219
- </html>
220
-
 
1
 
2
+ <!DOCTYPE html>
3
+ <html lang="en">
4
+ <head>
5
+ <meta charset="UTF-8">
6
+ <title>ai_2025-06-03</title>
7
+ <style>
8
+ body {
9
+ font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
10
+ margin: 0;
11
+ background-color: #f8f9fa;
12
+ color: #212529;
13
+ line-height: 1.6;
14
+ }
15
+ header {
16
+ background-color: #ffffff;
17
+ text-align: center;
18
+ padding: 1em;
19
+ border-bottom: 2px solid #dee2e6;
20
+ }
21
+ header img {
22
+ width: 100%;
23
+ height: auto;
24
+ max-height: 50vh;
25
+ object-fit: cover;
26
+ }
27
+ .credit {
28
+ font-size: 0.85em;
29
+ color: #6c757d;
30
+ margin-top: 0.5em;
31
+ }
32
+ .container {
33
+ display: flex;
34
+ flex-direction: row;
35
+ max-width: 1200px;
36
+ margin: 2em auto;
37
+ padding: 0 1em;
38
+ gap: 2em;
39
+ }
40
+ main {
41
+ flex: 3;
42
+ }
43
+ aside {
44
+ flex: 1;
45
+ background-color: #ffffff;
46
+ border: 1px solid #dee2e6;
47
+ border-radius: 8px;
48
+ padding: 1em;
49
+ box-shadow: 0 2px 6px rgba(0,0,0,0.05);
50
+ height: fit-content;
51
+ }
52
+ main img {
53
+ max-width: 100%;
54
+ height: auto;
55
+ display: block;
56
+ margin: 1.5em auto;
57
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
58
+ }
59
+ h1, h2, h3 {
60
+ color: #0d6efd;
61
+ }
62
+ a {
63
+ color: #0d6efd;
64
+ text-decoration: none;
65
+ }
66
+ a:hover {
67
+ text-decoration: underline;
68
+ }
69
+ code {
70
+ background: #e9ecef;
71
+ padding: 0.2em 0.4em;
72
+ border-radius: 4px;
73
+ font-family: monospace;
74
+ }
75
+ pre {
76
+ background: #e9ecef;
77
+ padding: 1em;
78
+ overflow-x: auto;
79
+ border-radius: 6px;
80
+ }
81
+ blockquote {
82
+ border-left: 4px solid #0d6efd;
83
+ padding-left: 1em;
84
+ color: #495057;
85
+ margin: 1em 0;
86
+ background: #f1f3f5;
87
+ }
88
+ </style>
89
+ </head>
90
+ <body>
91
+ <header>
92
+ <img src="https://via.placeholder.com/1280x720.png?text=AI+News+Analyzer" alt="ai_2025-06-03 Banner">
93
+ </header>
94
+ <div class="container">
95
+ <main>
96
+
97
  <h1 id="ai-value-investing-memo-week-ending-2june2025-weekly-focus">AI Value Investing Memo – Week Ending 2/June/2025 (Weekly Focus)</h1>
98
  <h2 id="intro-market-context"><strong>Intro &amp; Market Context</strong></h2>
99
  <p>This week in AI, the market accelerated along its current high-anticipation trajectory, with a cluster of activity in startup fundraising, M&amp;A, and fresh enterprise adoption. While no single "breakthrough" event dominated headlines, several key themes emerged: (1) Venture capital continues to quietly roll up smaller firms into AI-centric portfolios, (2) corporate M&amp;A is ramping up in the AI space, (3) established tech giants are focusing on massive compute expansion as agentic AI demand surges, (4) novel applications (psychiatry, fintech, legaltech, and biology) are moving into commercial and even IPO-ready scale, and (5) regulatory and privacy debate continues to follow AI's march into sensitive sectors.</p>
 
209
  <p><strong>Broad Summary of This Week's AI News:</strong>
210
  The week was dominated by continued VC confidence, strategic M&amp;A, and institutional moves in vertical AI applications, with significant attention on small-cap and startup valuations. Macroeconomic backdrop remains strong for AI demand, but value opportunities lie beneath the surface in rollups, newly funded vertical SaaS, and compliance-driven niches. Regulatory risk rising but also carving new investable moats.</p>
211
  <hr />
212
+ </main>
213
+ <aside>
214
+ <h3>🧠 Metrics</h3>
215
+ <ul><li>Metrics</li><li>Topic: AI</li><li>Articles Collected: 371</li><li>Generated: 2025-06-03 11:57</li></ul>
216
+ </aside>
217
+ </div>
218
+ </body>
219
+ </html>
220
+
html/ai_2025-07-04.html ADDED
@@ -0,0 +1,169 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ <!DOCTYPE html>
3
+ <html lang="en">
4
+ <head>
5
+ <meta charset="UTF-8">
6
+ <title>ai_2025-07-04</title>
7
+ <style>
8
+ body {
9
+ font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
10
+ margin: 0;
11
+ background-color: #f8f9fa;
12
+ color: #212529;
13
+ line-height: 1.6;
14
+ }
15
+ header {
16
+ background-color: #ffffff;
17
+ text-align: center;
18
+ padding: 1em;
19
+ border-bottom: 2px solid #dee2e6;
20
+ }
21
+ header img {
22
+ width: 100%;
23
+ height: auto;
24
+ max-height: 50vh;
25
+ object-fit: cover;
26
+ }
27
+ .credit {
28
+ font-size: 0.85em;
29
+ color: #6c757d;
30
+ margin-top: 0.5em;
31
+ }
32
+ .container {
33
+ display: flex;
34
+ flex-direction: row;
35
+ max-width: 1200px;
36
+ margin: 2em auto;
37
+ padding: 0 1em;
38
+ gap: 2em;
39
+ }
40
+ main {
41
+ flex: 3;
42
+ }
43
+ aside {
44
+ flex: 1;
45
+ background-color: #ffffff;
46
+ border: 1px solid #dee2e6;
47
+ border-radius: 8px;
48
+ padding: 1em;
49
+ box-shadow: 0 2px 6px rgba(0,0,0,0.05);
50
+ height: fit-content;
51
+ }
52
+ main img {
53
+ max-width: 100%;
54
+ height: auto;
55
+ display: block;
56
+ margin: 1.5em auto;
57
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
58
+ }
59
+ h1, h2, h3 {
60
+ color: #0d6efd;
61
+ }
62
+ a {
63
+ color: #0d6efd;
64
+ text-decoration: none;
65
+ }
66
+ a:hover {
67
+ text-decoration: underline;
68
+ }
69
+ code {
70
+ background: #e9ecef;
71
+ padding: 0.2em 0.4em;
72
+ border-radius: 4px;
73
+ font-family: monospace;
74
+ }
75
+ pre {
76
+ background: #e9ecef;
77
+ padding: 1em;
78
+ overflow-x: auto;
79
+ border-radius: 6px;
80
+ }
81
+ blockquote {
82
+ border-left: 4px solid #0d6efd;
83
+ padding-left: 1em;
84
+ color: #495057;
85
+ margin: 1em 0;
86
+ background: #f1f3f5;
87
+ }
88
+ </style>
89
+ </head>
90
+ <body>
91
+ <header>
92
+ <img src="https://via.placeholder.com/1280x720.png?text=AI+News+Analyzer" alt="ai_2025-07-04 Banner">
93
+ </header>
94
+ <div class="container">
95
+ <main>
96
+
97
+ <h1 id="value-investor-ai-weekly-memo">Value Investor AI Weekly Memo</h1>
98
+ <p><strong>Week of June 30 – July 6, 2025</strong></p>
99
+ <hr />
100
+ <h2 id="market-sentiment-trends">Market Sentiment &amp; Trends</h2>
101
+ <p>This week, the AI market continues to be characterized by robust <em>growth optimism</em> and <em>massive capital deployment</em>. Sentiment remains largely positive in infrastructure and applied AI, but there is rising skepticism toward sky-high private market valuations in some fast-following startups. Major headlines focus on AI’s influence in cybersecurity, legal, HR, and consulting verticals, as well as the continuing "picks and shovels" theme in datacenter hardware and services.<br />
102
+ <em>No major regulatory shocks noted</em>, but institutions and investors are expressing caution about the sustainability of AI startup valuations and possible hype cycles.</p>
103
+ <hr />
104
+ <h2 id="1-key-value-signals">1. Key Value Signals</h2>
105
+ <ul>
106
+ <li><strong>Infrastructure Focus Remains Dominant:</strong> The highest conviction for value investing is in AI infrastructure—hardware, datacenters, and core networking.</li>
107
+ <li><strong>M&amp;A and Partnership Activity:</strong> Notable signals like Apple considering partnerships/acquisitions for Siri enhancements (Anthropic, OpenAI) and SoftBank moving aggressively on artificial superintelligence with multi-phase global projects.</li>
108
+ <li><strong>Startup Capital Flows Accelerating:</strong> Noteworthy rounds at Harvey ($300M Series E, legal AI), Abridge ($300M Series E, medical AI), Metaview ($35M, hiring), and Lovable ($150M rumored). However, most are at steep valuations (&gt;$2B pre/post-money).</li>
109
+ <li><strong>Insider &amp; Smart Money Activity:</strong> a16z, Kleiner Perkins, Coatue, Google Ventures, and Sequoia are active, with Glasswing Ventures discussing new AI funding strategies.</li>
110
+ <li><strong>Geographic Expansion:</strong> SoftBank’s ASI moves and Asia-centric “build with context” approach highlight a more sustainable, potentially undervalued new-entrant pipeline.</li>
111
+ </ul>
112
+ <hr />
113
+ <h2 id="2-stocks-or-startups-to-watch">2. Stocks or Startups to Watch</h2>
114
+ <h3 id="public-markets"><strong>Public Markets:</strong></h3>
115
+ <ul>
116
+ <li><strong>Arista Networks (ANET)</strong>, <strong>Nvidia (NVDA)</strong>, <strong>AMD (AMD):</strong> “Picks and shovels” for the AI gold rush—datacenter, networking, compute chips. <em>Arista</em> has a lower valuation multiple than Nvidia, still strong ROE, and is less crowded.</li>
117
+ <li><strong>SoftBank (SFTBY/SFTBF):</strong> The push for "artificial superintelligence" signals heavy capital spend, but could be an undervalued play if execution improves and Vision Fund losses subside.</li>
118
+ <li><strong>Apple (AAPL):</strong> Movement on AI partnerships/acquisitions may re-rate Siri’s potential, although Apple trades rich by value standards.</li>
119
+ </ul>
120
+ <h3 id="privatestartup-watchlist"><strong>Private/Startup Watchlist:</strong></h3>
121
+ <ul>
122
+ <li><strong>Harvey (Legal AI):</strong> $5B valuation, but massive adoption potential for legal transformation; recently had consecutive mega-rounds—possibly ahead of fundamentals.</li>
123
+ <li><strong>Abridge (Healthcare AI):</strong> $5.3B valuation; automating medical notes is a real use-case, but valuation steep.</li>
124
+ <li><strong>Metaview (Recruitment AI):</strong> Google Ventures led; automating/bias-reducing hiring—smaller, earlier, potentially higher reward.</li>
125
+ <li><strong>Lovable:</strong> On track for $150M at $2B. Early-stage AI firm, unknown fundamentals, but worth tracking as a potential future public market debut.</li>
126
+ </ul>
127
+ <h3 id="infrastructure-enablers"><strong>Infrastructure enablers:</strong></h3>
128
+ <ul>
129
+ <li><strong>Scott Data (Private):</strong> Midwest US data center, supporting AI startups—potential for M&amp;A or IPO as picks-and-shovels to the AI startup wave.</li>
130
+ <li><strong>Industrial/Manufacturing AI:</strong> Watch industrial AI “digital twins” and multimodal analytics for less-flashy, but real, B2B moats.</li>
131
+ </ul>
132
+ <hr />
133
+ <h2 id="3-what-smart-money-might-be-acting-on">3. What Smart Money Might Be Acting On</h2>
134
+ <ul>
135
+ <li><strong>Private Market Rotation:</strong> Top VCs (Kleiner Perkins, a16z, Coatue, Sequoia, Google Ventures) are doubling down on AI startups, but selectively—pivoting more to infrastructure, HR, and healthcare use-cases where actual adoption is measurable.</li>
136
+ <li><strong>Datacenter &amp; Networking Expansion:</strong> Institutional and growth investors pushing into datacenter, network, and hardware plays over frothy model-chatbot proliferators.</li>
137
+ <li><strong>“Asia Build” Angle:</strong> Long-term capital weighs Asian AI execution models, where blitzscaling is shunned for capital efficiency. Early institutional allocation might offer less-overpriced entry into the next breakout AI winners.</li>
138
+ </ul>
139
+ <hr />
140
+ <h2 id="4-references">4. References</h2>
141
+ <ul>
142
+ <li><a href="https://www.forbes.com/sites/rscottraynovich/2025/07/01/inside-the-ai-hype-cycle-whats-next-for-enterprise-ai/">Forbes: AI Hype Cycle &amp; Infrastructure</a> </li>
143
+ <li><a href="https://www.rcrwireless.com/20250630/ai-infrastructure/softbank-artificial">RCR Wireless: SoftBank's Superintelligence Ambitions</a> </li>
144
+ <li><a href="https://techcrunch.com/2025/06/27/startups-weekly-tech-and-the-law/">TechCrunch: Harvey, Abridge funding</a> </li>
145
+ <li><a href="https://www.startupecosystem.ca/news/lovable-ai-startup-on-track-to-raise-150m-at-2b-valuation/">Startup Ecosystem Canada: Lovable AI funding</a> </li>
146
+ <li><a href="https://www.govtech.com/artificial-intelligence/partnership-looks-to-drive-ai-adoption-in-omaha-neb">GovTech: Scott Data, Omaha AI infrastructure partnership</a> </li>
147
+ <li><a href="https://www.mining-technology.com/sponsored/whats-next-for-industrial-ai-five-key-developments-shaping-the-space/">Mining Technology: Industrial/Multimodal AI</a> </li>
148
+ <li><a href="https://www.businessinsider.com/claude-ran-store-anthropic-ai-agent-lessons-learned-middle-managers-2025-6">Business Insider: Claude/Anthropic, Microsoft AI as a core workflow</a></li>
149
+ </ul>
150
+ <hr />
151
+ <h2 id="5-investment-hypothesis">5. Investment Hypothesis</h2>
152
+ <p><strong>The market is in the mid-to-late innings of the first generative AI value cycle. Near-term value is likely to accrue to AI infrastructure enablers (datacenter, networking, compute), NOT to richly-priced flashy model startups. The next wave UNLOCK is in B2B-specific verticals—manufacturing, healthcare, legal, hiring—especially those with defensible data or workflows (moats). Early-stage infrastructure providers outside the Bay Area (e.g., Midwest data centers, lower-multiple Asia AI shops) may offer underappreciated value. SoftBank’s renewed push and Apple’s partnership strategy suggest major future M&amp;A, benefiting core AI tech and infrastructure players.</strong></p>
153
+ <h3 id="screen-for"><strong>Screen for:</strong></h3>
154
+ <ul>
155
+ <li>Public tech with strong fundamentals (low P/E, high ROE, cash flows) in critical infrastructure (Arista, AMD)</li>
156
+ <li>Private companies with repeat-use, high-barrier products — notably in B2B SaaS, industrial, or privacy-compliant hiring/medtech AI </li>
157
+ <li>Undercovered, smaller infrastructure shops and regional datacenter players (public or potential IPO/M&amp;A targets)</li>
158
+ </ul>
159
+ <hr />
160
+ <p><strong>(Caveat: Recent startup valuations may be unsustainably high. Exercise discipline; seek evidence of unit economics and actual cashflow, not just growth metrics.)</strong></p>
161
+ </main>
162
+ <aside>
163
+ <h3>🧠 Metrics</h3>
164
+ <ul><li>Topic: AI</li><li>Articles Collected: 163</li><li>Generated: 2025-07-04 13:40</li></ul>
165
+ </aside>
166
+ </div>
167
+ </body>
168
+ </html>
169
+
html/ai_2025-07-04_1.html CHANGED
@@ -89,7 +89,7 @@
89
  </head>
90
  <body>
91
  <header>
92
- <img src="https://images.unsplash.com/photo-1600992446626-e3d8100a878f?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NzIzMjF8MHwxfHNlYXJjaHwxfHxhaV8yMDI1LTA3LTA0XzF8ZW58MHwwfHx8MTc1MTYzMTEyMnww&ixlib=rb-4.1.0&q=80&w=1080" alt="ai_2025-07-04_1 Banner">
93
  </header>
94
  <div class="container">
95
  <main>
 
89
  </head>
90
  <body>
91
  <header>
92
+ <img src="https://via.placeholder.com/1280x720.png?text=AI+News+Analyzer" alt="ai_2025-07-04_1 Banner">
93
  </header>
94
  <div class="container">
95
  <main>
html/combined_report.html CHANGED
@@ -89,7 +89,7 @@
89
  </head>
90
  <body>
91
  <header>
92
- <img src="https://images.unsplash.com/photo-1725544014976-5c60cc9fc1fd?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NzIzMjF8MHwxfHNlYXJjaHwxfHxjb21iaW5lZF9yZXBvcnR8ZW58MHwwfHx8MTc1MTYyOTY1NHww&ixlib=rb-4.1.0&q=80&w=1080" alt="combined_report Banner">
93
  </header>
94
  <div class="container">
95
  <main>
 
89
  </head>
90
  <body>
91
  <header>
92
+ <img src="https://via.placeholder.com/1280x720.png?text=AI+News+Analyzer" alt="combined_report Banner">
93
  </header>
94
  <div class="container">
95
  <main>
html/mining_2025-07-04.html CHANGED
@@ -89,7 +89,7 @@
89
  </head>
90
  <body>
91
  <header>
92
- <img src="https://images.unsplash.com/photo-1686945126682-35f9141dda15?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NzIzMjF8MHwxfHNlYXJjaHwxfHxtaW5pbmdfMjAyNS0wNy0wNHxlbnwwfDB8fHwxNzUxNjMxNDQyfDA&ixlib=rb-4.1.0&q=80&w=1080" alt="mining_2025-07-04 Banner">
93
  </header>
94
  <div class="container">
95
  <main>
 
89
  </head>
90
  <body>
91
  <header>
92
+ <img src="https://via.placeholder.com/1280x720.png?text=AI+News+Analyzer" alt="mining_2025-07-04 Banner">
93
  </header>
94
  <div class="container">
95
  <main>
html/nuclear_energy_2025-06-03.html CHANGED
@@ -1,99 +1,99 @@
1
 
2
- <!DOCTYPE html>
3
- <html lang="en">
4
- <head>
5
- <meta charset="UTF-8">
6
- <title>nuclear_energy_2025-06-03</title>
7
- <style>
8
- body {
9
- font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
10
- margin: 0;
11
- background-color: #f8f9fa;
12
- color: #212529;
13
- line-height: 1.6;
14
- }
15
- header {
16
- background-color: #ffffff;
17
- text-align: center;
18
- padding: 1em;
19
- border-bottom: 2px solid #dee2e6;
20
- }
21
- header img {
22
- width: 100%;
23
- height: auto;
24
- max-height: 50vh;
25
- object-fit: cover;
26
- }
27
- .credit {
28
- font-size: 0.85em;
29
- color: #6c757d;
30
- margin-top: 0.5em;
31
- }
32
- .container {
33
- display: flex;
34
- flex-direction: row;
35
- max-width: 1200px;
36
- margin: 2em auto;
37
- padding: 0 1em;
38
- gap: 2em;
39
- }
40
- main {
41
- flex: 3;
42
- }
43
- aside {
44
- flex: 1;
45
- background-color: #ffffff;
46
- border: 1px solid #dee2e6;
47
- border-radius: 8px;
48
- padding: 1em;
49
- box-shadow: 0 2px 6px rgba(0,0,0,0.05);
50
- height: fit-content;
51
- }
52
- main img {
53
- max-width: 100%;
54
- height: auto;
55
- display: block;
56
- margin: 1.5em auto;
57
- box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
58
- }
59
- h1, h2, h3 {
60
- color: #0d6efd;
61
- }
62
- a {
63
- color: #0d6efd;
64
- text-decoration: none;
65
- }
66
- a:hover {
67
- text-decoration: underline;
68
- }
69
- code {
70
- background: #e9ecef;
71
- padding: 0.2em 0.4em;
72
- border-radius: 4px;
73
- font-family: monospace;
74
- }
75
- pre {
76
- background: #e9ecef;
77
- padding: 1em;
78
- overflow-x: auto;
79
- border-radius: 6px;
80
- }
81
- blockquote {
82
- border-left: 4px solid #0d6efd;
83
- padding-left: 1em;
84
- color: #495057;
85
- margin: 1em 0;
86
- background: #f1f3f5;
87
- }
88
- </style>
89
- </head>
90
- <body>
91
- <header>
92
- <img src="https://images.unsplash.com/photo-1630142895963-6996ae6b3a5b?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NzIzMjF8MHwxfHNlYXJjaHwxfHxudWNsZWFyJTIwZW5lcmd5fGVufDB8MHx8fDE3NTE0NzUxNTd8MA&ixlib=rb-4.1.0&q=80&w=1080" alt="nuclear_energy_2025-06-03 Banner">
93
- </header>
94
- <div class="container">
95
- <main>
96
- <p><em>Photo by <a href="https://unsplash.com/@llehotsky" target="_blank">Lukáš Lehotský</a> on <a href="https://unsplash.com" target="_blank">Unsplash</a></em></p>
97
 
98
  <h1 id="nuclear-energy-value-investing-memo-week-ending-2june2025">Nuclear Energy Value Investing Memo – Week Ending 2/June/2025</h1>
99
  <h2 id="general-situation-market-summary">General Situation &amp; Market Summary</h2>
@@ -255,12 +255,12 @@
255
  </table>
256
  <p><em>Data based on latest available annual/quarterly filings and estimates.</em></p>
257
  <hr />
258
- </main>
259
- <aside>
260
- <h3>🧠 Metrics</h3>
261
- <ul><li>🧠 Metrics</li><li>- Topic: nuclear energy</li><li>- Articles Collected: 69</li><li>- Generated: 2025-06-03 10:10</li></ul>
262
- </aside>
263
- </div>
264
- </body>
265
- </html>
266
-
 
1
 
2
+ <!DOCTYPE html>
3
+ <html lang="en">
4
+ <head>
5
+ <meta charset="UTF-8">
6
+ <title>nuclear_energy_2025-06-03</title>
7
+ <style>
8
+ body {
9
+ font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
10
+ margin: 0;
11
+ background-color: #f8f9fa;
12
+ color: #212529;
13
+ line-height: 1.6;
14
+ }
15
+ header {
16
+ background-color: #ffffff;
17
+ text-align: center;
18
+ padding: 1em;
19
+ border-bottom: 2px solid #dee2e6;
20
+ }
21
+ header img {
22
+ width: 100%;
23
+ height: auto;
24
+ max-height: 50vh;
25
+ object-fit: cover;
26
+ }
27
+ .credit {
28
+ font-size: 0.85em;
29
+ color: #6c757d;
30
+ margin-top: 0.5em;
31
+ }
32
+ .container {
33
+ display: flex;
34
+ flex-direction: row;
35
+ max-width: 1200px;
36
+ margin: 2em auto;
37
+ padding: 0 1em;
38
+ gap: 2em;
39
+ }
40
+ main {
41
+ flex: 3;
42
+ }
43
+ aside {
44
+ flex: 1;
45
+ background-color: #ffffff;
46
+ border: 1px solid #dee2e6;
47
+ border-radius: 8px;
48
+ padding: 1em;
49
+ box-shadow: 0 2px 6px rgba(0,0,0,0.05);
50
+ height: fit-content;
51
+ }
52
+ main img {
53
+ max-width: 100%;
54
+ height: auto;
55
+ display: block;
56
+ margin: 1.5em auto;
57
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
58
+ }
59
+ h1, h2, h3 {
60
+ color: #0d6efd;
61
+ }
62
+ a {
63
+ color: #0d6efd;
64
+ text-decoration: none;
65
+ }
66
+ a:hover {
67
+ text-decoration: underline;
68
+ }
69
+ code {
70
+ background: #e9ecef;
71
+ padding: 0.2em 0.4em;
72
+ border-radius: 4px;
73
+ font-family: monospace;
74
+ }
75
+ pre {
76
+ background: #e9ecef;
77
+ padding: 1em;
78
+ overflow-x: auto;
79
+ border-radius: 6px;
80
+ }
81
+ blockquote {
82
+ border-left: 4px solid #0d6efd;
83
+ padding-left: 1em;
84
+ color: #495057;
85
+ margin: 1em 0;
86
+ background: #f1f3f5;
87
+ }
88
+ </style>
89
+ </head>
90
+ <body>
91
+ <header>
92
+ <img src="https://via.placeholder.com/1280x720.png?text=AI+News+Analyzer" alt="nuclear_energy_2025-06-03 Banner">
93
+ </header>
94
+ <div class="container">
95
+ <main>
96
+ <p><em>Photo by <a href="https://unsplash.com/@llehotsky" target="_blank">Lukáš Lehotský</a> on <a href="https://unsplash.com" target="_blank">Unsplash</a></em></p>
97
 
98
  <h1 id="nuclear-energy-value-investing-memo-week-ending-2june2025">Nuclear Energy Value Investing Memo – Week Ending 2/June/2025</h1>
99
  <h2 id="general-situation-market-summary">General Situation &amp; Market Summary</h2>
 
255
  </table>
256
  <p><em>Data based on latest available annual/quarterly filings and estimates.</em></p>
257
  <hr />
258
+ </main>
259
+ <aside>
260
+ <h3>🧠 Metrics</h3>
261
+ <ul><li>🧠 Metrics</li><li>- Topic: nuclear energy</li><li>- Articles Collected: 69</li><li>- Generated: 2025-06-03 10:10</li></ul>
262
+ </aside>
263
+ </div>
264
+ </body>
265
+ </html>
266
+
html/nuclear_energy_2025-06-03_1.html CHANGED
@@ -1,99 +1,99 @@
1
 
2
- <!DOCTYPE html>
3
- <html lang="en">
4
- <head>
5
- <meta charset="UTF-8">
6
- <title>nuclear_energy_2025-06-03_1</title>
7
- <style>
8
- body {
9
- font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
10
- margin: 0;
11
- background-color: #f8f9fa;
12
- color: #212529;
13
- line-height: 1.6;
14
- }
15
- header {
16
- background-color: #ffffff;
17
- text-align: center;
18
- padding: 1em;
19
- border-bottom: 2px solid #dee2e6;
20
- }
21
- header img {
22
- width: 100%;
23
- height: auto;
24
- max-height: 50vh;
25
- object-fit: cover;
26
- }
27
- .credit {
28
- font-size: 0.85em;
29
- color: #6c757d;
30
- margin-top: 0.5em;
31
- }
32
- .container {
33
- display: flex;
34
- flex-direction: row;
35
- max-width: 1200px;
36
- margin: 2em auto;
37
- padding: 0 1em;
38
- gap: 2em;
39
- }
40
- main {
41
- flex: 3;
42
- }
43
- aside {
44
- flex: 1;
45
- background-color: #ffffff;
46
- border: 1px solid #dee2e6;
47
- border-radius: 8px;
48
- padding: 1em;
49
- box-shadow: 0 2px 6px rgba(0,0,0,0.05);
50
- height: fit-content;
51
- }
52
- main img {
53
- max-width: 100%;
54
- height: auto;
55
- display: block;
56
- margin: 1.5em auto;
57
- box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
58
- }
59
- h1, h2, h3 {
60
- color: #0d6efd;
61
- }
62
- a {
63
- color: #0d6efd;
64
- text-decoration: none;
65
- }
66
- a:hover {
67
- text-decoration: underline;
68
- }
69
- code {
70
- background: #e9ecef;
71
- padding: 0.2em 0.4em;
72
- border-radius: 4px;
73
- font-family: monospace;
74
- }
75
- pre {
76
- background: #e9ecef;
77
- padding: 1em;
78
- overflow-x: auto;
79
- border-radius: 6px;
80
- }
81
- blockquote {
82
- border-left: 4px solid #0d6efd;
83
- padding-left: 1em;
84
- color: #495057;
85
- margin: 1em 0;
86
- background: #f1f3f5;
87
- }
88
- </style>
89
- </head>
90
- <body>
91
- <header>
92
- <img src="https://images.unsplash.com/photo-1630142895963-6996ae6b3a5b?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NzIzMjF8MHwxfHNlYXJjaHwxfHxudWNsZWFyJTIwZW5lcmd5fGVufDB8MHx8fDE3NTE0NzUxNTd8MA&ixlib=rb-4.1.0&q=80&w=1080" alt="nuclear_energy_2025-06-03_1 Banner">
93
- </header>
94
- <div class="container">
95
- <main>
96
-
97
  <h1 id="nuclear-energy-value-investing-focus-week-ending-2june2025">Nuclear Energy: Value Investing Focus – Week Ending 2/June/2025</h1>
98
  <hr />
99
  <h2 id="intro-market-context-and-week-summary">Intro: Market Context and Week Summary</h2>
@@ -194,12 +194,12 @@ New contract wins for SMR developers. U.S. uranium production and enrichment cap
194
  <hr />
195
  <h3 id="overall-this-weeks-news-offers-a-clear-green-light-for-value-investors-in-nuclear-particularly-those-seeking-both-deep-value-leu-bwxt-and-long-tail-growth-via-platformsmr-innovators-oklo-kairos-nuscale-us-government-and-major-tech-firm-endorsement-serves-as-powerful-affirmation-for-the-sectors-re-rating">Overall: This week’s news offers a clear “green light” for value investors in nuclear, particularly those seeking both deep value (LEU, BWXT) and long-tail growth via platform/SMR innovators (OKLO, Kairos, NuScale). U.S. government and major tech-firm endorsement serves as powerful affirmation for the sector’s re-rating.</h3>
196
  <hr />
197
- </main>
198
- <aside>
199
- <h3>🧠 Metrics</h3>
200
- <ul><li>Metrics</li><li>Topic: nuclear energy</li><li>Articles Collected: 60</li><li>Generated: 2025-06-03 11:52</li></ul>
201
- </aside>
202
- </div>
203
- </body>
204
- </html>
205
-
 
1
 
2
+ <!DOCTYPE html>
3
+ <html lang="en">
4
+ <head>
5
+ <meta charset="UTF-8">
6
+ <title>nuclear_energy_2025-06-03_1</title>
7
+ <style>
8
+ body {
9
+ font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
10
+ margin: 0;
11
+ background-color: #f8f9fa;
12
+ color: #212529;
13
+ line-height: 1.6;
14
+ }
15
+ header {
16
+ background-color: #ffffff;
17
+ text-align: center;
18
+ padding: 1em;
19
+ border-bottom: 2px solid #dee2e6;
20
+ }
21
+ header img {
22
+ width: 100%;
23
+ height: auto;
24
+ max-height: 50vh;
25
+ object-fit: cover;
26
+ }
27
+ .credit {
28
+ font-size: 0.85em;
29
+ color: #6c757d;
30
+ margin-top: 0.5em;
31
+ }
32
+ .container {
33
+ display: flex;
34
+ flex-direction: row;
35
+ max-width: 1200px;
36
+ margin: 2em auto;
37
+ padding: 0 1em;
38
+ gap: 2em;
39
+ }
40
+ main {
41
+ flex: 3;
42
+ }
43
+ aside {
44
+ flex: 1;
45
+ background-color: #ffffff;
46
+ border: 1px solid #dee2e6;
47
+ border-radius: 8px;
48
+ padding: 1em;
49
+ box-shadow: 0 2px 6px rgba(0,0,0,0.05);
50
+ height: fit-content;
51
+ }
52
+ main img {
53
+ max-width: 100%;
54
+ height: auto;
55
+ display: block;
56
+ margin: 1.5em auto;
57
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
58
+ }
59
+ h1, h2, h3 {
60
+ color: #0d6efd;
61
+ }
62
+ a {
63
+ color: #0d6efd;
64
+ text-decoration: none;
65
+ }
66
+ a:hover {
67
+ text-decoration: underline;
68
+ }
69
+ code {
70
+ background: #e9ecef;
71
+ padding: 0.2em 0.4em;
72
+ border-radius: 4px;
73
+ font-family: monospace;
74
+ }
75
+ pre {
76
+ background: #e9ecef;
77
+ padding: 1em;
78
+ overflow-x: auto;
79
+ border-radius: 6px;
80
+ }
81
+ blockquote {
82
+ border-left: 4px solid #0d6efd;
83
+ padding-left: 1em;
84
+ color: #495057;
85
+ margin: 1em 0;
86
+ background: #f1f3f5;
87
+ }
88
+ </style>
89
+ </head>
90
+ <body>
91
+ <header>
92
+ <img src="https://via.placeholder.com/1280x720.png?text=AI+News+Analyzer" alt="nuclear_energy_2025-06-03_1 Banner">
93
+ </header>
94
+ <div class="container">
95
+ <main>
96
+
97
  <h1 id="nuclear-energy-value-investing-focus-week-ending-2june2025">Nuclear Energy: Value Investing Focus – Week Ending 2/June/2025</h1>
98
  <hr />
99
  <h2 id="intro-market-context-and-week-summary">Intro: Market Context and Week Summary</h2>
 
194
  <hr />
195
  <h3 id="overall-this-weeks-news-offers-a-clear-green-light-for-value-investors-in-nuclear-particularly-those-seeking-both-deep-value-leu-bwxt-and-long-tail-growth-via-platformsmr-innovators-oklo-kairos-nuscale-us-government-and-major-tech-firm-endorsement-serves-as-powerful-affirmation-for-the-sectors-re-rating">Overall: This week’s news offers a clear “green light” for value investors in nuclear, particularly those seeking both deep value (LEU, BWXT) and long-tail growth via platform/SMR innovators (OKLO, Kairos, NuScale). U.S. government and major tech-firm endorsement serves as powerful affirmation for the sector’s re-rating.</h3>
196
  <hr />
197
+ </main>
198
+ <aside>
199
+ <h3>🧠 Metrics</h3>
200
+ <ul><li>Metrics</li><li>Topic: nuclear energy</li><li>Articles Collected: 60</li><li>Generated: 2025-06-03 11:52</li></ul>
201
+ </aside>
202
+ </div>
203
+ </body>
204
+ </html>
205
+
html/nuclear_energy_2025-07-02.html CHANGED
@@ -1,99 +1,99 @@
1
 
2
- <!DOCTYPE html>
3
- <html lang="en">
4
- <head>
5
- <meta charset="UTF-8">
6
- <title>nuclear_energy_2025-07-02</title>
7
- <style>
8
- body {
9
- font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
10
- margin: 0;
11
- background-color: #f8f9fa;
12
- color: #212529;
13
- line-height: 1.6;
14
- }
15
- header {
16
- background-color: #ffffff;
17
- text-align: center;
18
- padding: 1em;
19
- border-bottom: 2px solid #dee2e6;
20
- }
21
- header img {
22
- width: 100%;
23
- height: auto;
24
- max-height: 50vh;
25
- object-fit: cover;
26
- }
27
- .credit {
28
- font-size: 0.85em;
29
- color: #6c757d;
30
- margin-top: 0.5em;
31
- }
32
- .container {
33
- display: flex;
34
- flex-direction: row;
35
- max-width: 1200px;
36
- margin: 2em auto;
37
- padding: 0 1em;
38
- gap: 2em;
39
- }
40
- main {
41
- flex: 3;
42
- }
43
- aside {
44
- flex: 1;
45
- background-color: #ffffff;
46
- border: 1px solid #dee2e6;
47
- border-radius: 8px;
48
- padding: 1em;
49
- box-shadow: 0 2px 6px rgba(0,0,0,0.05);
50
- height: fit-content;
51
- }
52
- main img {
53
- max-width: 100%;
54
- height: auto;
55
- display: block;
56
- margin: 1.5em auto;
57
- box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
58
- }
59
- h1, h2, h3 {
60
- color: #0d6efd;
61
- }
62
- a {
63
- color: #0d6efd;
64
- text-decoration: none;
65
- }
66
- a:hover {
67
- text-decoration: underline;
68
- }
69
- code {
70
- background: #e9ecef;
71
- padding: 0.2em 0.4em;
72
- border-radius: 4px;
73
- font-family: monospace;
74
- }
75
- pre {
76
- background: #e9ecef;
77
- padding: 1em;
78
- overflow-x: auto;
79
- border-radius: 6px;
80
- }
81
- blockquote {
82
- border-left: 4px solid #0d6efd;
83
- padding-left: 1em;
84
- color: #495057;
85
- margin: 1em 0;
86
- background: #f1f3f5;
87
- }
88
- </style>
89
- </head>
90
- <body>
91
- <header>
92
- <img src="https://images.unsplash.com/photo-1630142895963-6996ae6b3a5b?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1NzIzMjF8MHwxfHNlYXJjaHwxfHxudWNsZWFyJTIwZW5lcmd5fGVufDB8MHx8fDE3NTE0NzUxNTd8MA&ixlib=rb-4.1.0&q=80&w=1080" alt="nuclear_energy_2025-07-02 Banner">
93
- </header>
94
- <div class="container">
95
- <main>
96
-
97
  <h1 id="nuclear-energy-weekly-value-investing-memo">Nuclear Energy Weekly Value Investing Memo</h1>
98
  <p><strong>Week of July 1, 2025</strong></p>
99
  <hr />
@@ -273,12 +273,12 @@
273
  <hr />
274
  <h2 id="bottom-line"><strong>Bottom Line:</strong></h2>
275
  <p><em>The investable landscape for nuclear is evolving rapidly—value investors should focus on companies bridging policy tailwind into real commercial assets, with an eye for US-centric supply, strategic contracts, and digital enablement of an emerging nuclear buildout cycle. Small/underfunded public names could offer asymmetric re-rating as the cycle unfolds.</em></p>
276
- </main>
277
- <aside>
278
- <h3>🧠 Metrics</h3>
279
- <ul><li>Topic: nuclear energy</li><li>Articles Collected: 133</li><li>Generated: 2025-07-02 20:18</li></ul>
280
- </aside>
281
- </div>
282
- </body>
283
- </html>
284
-
 
1
 
2
+ <!DOCTYPE html>
3
+ <html lang="en">
4
+ <head>
5
+ <meta charset="UTF-8">
6
+ <title>nuclear_energy_2025-07-02</title>
7
+ <style>
8
+ body {
9
+ font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
10
+ margin: 0;
11
+ background-color: #f8f9fa;
12
+ color: #212529;
13
+ line-height: 1.6;
14
+ }
15
+ header {
16
+ background-color: #ffffff;
17
+ text-align: center;
18
+ padding: 1em;
19
+ border-bottom: 2px solid #dee2e6;
20
+ }
21
+ header img {
22
+ width: 100%;
23
+ height: auto;
24
+ max-height: 50vh;
25
+ object-fit: cover;
26
+ }
27
+ .credit {
28
+ font-size: 0.85em;
29
+ color: #6c757d;
30
+ margin-top: 0.5em;
31
+ }
32
+ .container {
33
+ display: flex;
34
+ flex-direction: row;
35
+ max-width: 1200px;
36
+ margin: 2em auto;
37
+ padding: 0 1em;
38
+ gap: 2em;
39
+ }
40
+ main {
41
+ flex: 3;
42
+ }
43
+ aside {
44
+ flex: 1;
45
+ background-color: #ffffff;
46
+ border: 1px solid #dee2e6;
47
+ border-radius: 8px;
48
+ padding: 1em;
49
+ box-shadow: 0 2px 6px rgba(0,0,0,0.05);
50
+ height: fit-content;
51
+ }
52
+ main img {
53
+ max-width: 100%;
54
+ height: auto;
55
+ display: block;
56
+ margin: 1.5em auto;
57
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
58
+ }
59
+ h1, h2, h3 {
60
+ color: #0d6efd;
61
+ }
62
+ a {
63
+ color: #0d6efd;
64
+ text-decoration: none;
65
+ }
66
+ a:hover {
67
+ text-decoration: underline;
68
+ }
69
+ code {
70
+ background: #e9ecef;
71
+ padding: 0.2em 0.4em;
72
+ border-radius: 4px;
73
+ font-family: monospace;
74
+ }
75
+ pre {
76
+ background: #e9ecef;
77
+ padding: 1em;
78
+ overflow-x: auto;
79
+ border-radius: 6px;
80
+ }
81
+ blockquote {
82
+ border-left: 4px solid #0d6efd;
83
+ padding-left: 1em;
84
+ color: #495057;
85
+ margin: 1em 0;
86
+ background: #f1f3f5;
87
+ }
88
+ </style>
89
+ </head>
90
+ <body>
91
+ <header>
92
+ <img src="https://via.placeholder.com/1280x720.png?text=AI+News+Analyzer" alt="nuclear_energy_2025-07-02 Banner">
93
+ </header>
94
+ <div class="container">
95
+ <main>
96
+
97
  <h1 id="nuclear-energy-weekly-value-investing-memo">Nuclear Energy Weekly Value Investing Memo</h1>
98
  <p><strong>Week of July 1, 2025</strong></p>
99
  <hr />
 
273
  <hr />
274
  <h2 id="bottom-line"><strong>Bottom Line:</strong></h2>
275
  <p><em>The investable landscape for nuclear is evolving rapidly—value investors should focus on companies bridging policy tailwind into real commercial assets, with an eye for US-centric supply, strategic contracts, and digital enablement of an emerging nuclear buildout cycle. Small/underfunded public names could offer asymmetric re-rating as the cycle unfolds.</em></p>
276
+ </main>
277
+ <aside>
278
+ <h3>🧠 Metrics</h3>
279
+ <ul><li>Topic: nuclear energy</li><li>Articles Collected: 133</li><li>Generated: 2025-07-02 20:18</li></ul>
280
+ </aside>
281
+ </div>
282
+ </body>
283
+ </html>
284
+
html/nuclear_energy_2025-07-04.html ADDED
@@ -0,0 +1,221 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ <!DOCTYPE html>
3
+ <html lang="en">
4
+ <head>
5
+ <meta charset="UTF-8">
6
+ <title>nuclear_energy_2025-07-04</title>
7
+ <style>
8
+ body {
9
+ font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
10
+ margin: 0;
11
+ background-color: #f8f9fa;
12
+ color: #212529;
13
+ line-height: 1.6;
14
+ }
15
+ header {
16
+ background-color: #ffffff;
17
+ text-align: center;
18
+ padding: 1em;
19
+ border-bottom: 2px solid #dee2e6;
20
+ }
21
+ header img {
22
+ width: 100%;
23
+ height: auto;
24
+ max-height: 50vh;
25
+ object-fit: cover;
26
+ }
27
+ .credit {
28
+ font-size: 0.85em;
29
+ color: #6c757d;
30
+ margin-top: 0.5em;
31
+ }
32
+ .container {
33
+ display: flex;
34
+ flex-direction: row;
35
+ max-width: 1200px;
36
+ margin: 2em auto;
37
+ padding: 0 1em;
38
+ gap: 2em;
39
+ }
40
+ main {
41
+ flex: 3;
42
+ }
43
+ aside {
44
+ flex: 1;
45
+ background-color: #ffffff;
46
+ border: 1px solid #dee2e6;
47
+ border-radius: 8px;
48
+ padding: 1em;
49
+ box-shadow: 0 2px 6px rgba(0,0,0,0.05);
50
+ height: fit-content;
51
+ }
52
+ main img {
53
+ max-width: 100%;
54
+ height: auto;
55
+ display: block;
56
+ margin: 1.5em auto;
57
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
58
+ }
59
+ h1, h2, h3 {
60
+ color: #0d6efd;
61
+ }
62
+ a {
63
+ color: #0d6efd;
64
+ text-decoration: none;
65
+ }
66
+ a:hover {
67
+ text-decoration: underline;
68
+ }
69
+ code {
70
+ background: #e9ecef;
71
+ padding: 0.2em 0.4em;
72
+ border-radius: 4px;
73
+ font-family: monospace;
74
+ }
75
+ pre {
76
+ background: #e9ecef;
77
+ padding: 1em;
78
+ overflow-x: auto;
79
+ border-radius: 6px;
80
+ }
81
+ blockquote {
82
+ border-left: 4px solid #0d6efd;
83
+ padding-left: 1em;
84
+ color: #495057;
85
+ margin: 1em 0;
86
+ background: #f1f3f5;
87
+ }
88
+ </style>
89
+ </head>
90
+ <body>
91
+ <header>
92
+ <img src="https://via.placeholder.com/1280x720.png?text=AI+News+Analyzer" alt="nuclear_energy_2025-07-04 Banner">
93
+ </header>
94
+ <div class="container">
95
+ <main>
96
+
97
+ <h1 id="nuclear-energy-value-investor-weekly-memo">Nuclear Energy: Value-Investor Weekly Memo</h1>
98
+ <p><strong>Week of June 30 – July 7, 2025</strong></p>
99
+ <hr />
100
+ <h2 id="executive-summary-sentiment-market-trends">Executive Summary: Sentiment &amp; Market Trends</h2>
101
+ <p>This week, nuclear energy remains at the center of global and U.S. energy policy debates, buoyed by both political tailwinds (GOP-led support in legislation, state-level deployment pushes) and rising demand from AI/data center infrastructure. Nuclear is also strategically reemerging as the “clean firm” power of choice as renewables face policy setbacks, intermittency challenges, and grid reliability strains. Major tech companies and select startup activity point to accelerations in both fission (SMRs) and fusion, with corporate and government actors signaling capital and operational shifts toward advanced nuclear solutions.</p>
102
+ <p>Market sentiment appears mildly positive for established names but remains neutral for the broader sector. Early-stage deal flow and new executive moves hint at undervalued opportunities in uranium miners, SMR developers, and next-gen reactor supply chains, all backstopped by robust macro trends.</p>
103
+ <hr />
104
+ <h2 id="1-key-value-signals">1. Key Value Signals</h2>
105
+ <ul>
106
+ <li><strong>Public-Private Partnerships &amp; Policy Tailwinds</strong><ul>
107
+ <li>New York’s governor directs pursuit of at least 1 GW of new nuclear (possible “fleet-style” deployments), signifying state-level commitment.</li>
108
+ <li>GOP legislation weakens renewables but retains and even enhances support for nuclear/geothermal—improving medium-term earning prospects for nuclear-exposed businesses.</li>
109
+ </ul>
110
+ </li>
111
+ <li><strong>Tech Giant Commitments</strong><ul>
112
+ <li>Google commits to buying power from Commonwealth Fusion Systems (fusion) and from Kairos Power (SMRs/fission), underscoring long-term belief in and potential floor demand for advanced nuclear power.</li>
113
+ </ul>
114
+ </li>
115
+ <li><strong>M&amp;A / Executive Movement</strong><ul>
116
+ <li>Ur-Energy (URG) names Matthew Gili (ex-Cameco, Energy Fuels) as President; strong management pedigree in uranium mining suggests focus on operational ramp-up and credibility for growth.</li>
117
+ </ul>
118
+ </li>
119
+ <li><strong>Private Funding &amp; Industrial Partnerships</strong><ul>
120
+ <li>Westinghouse-ITER $180M fusion contract advances commercial pathways for fusion.</li>
121
+ <li>Palantir partners with The Nuclear Company for AI deployment in nuclear construction, potentially de-risking timelines and cost overruns—key bottlenecks for new plants.</li>
122
+ </ul>
123
+ </li>
124
+ <li><strong>Uranium Financing</strong><ul>
125
+ <li>Energy Fuels (NYSE: UUUU) launches $300M ATM share offering for growth and possibly M&amp;A, indicating possible scale-up action or acquisition-driven value.</li>
126
+ </ul>
127
+ </li>
128
+ </ul>
129
+ <hr />
130
+ <h2 id="2-stocks-or-startups-to-watch">2. Stocks or Startups to Watch</h2>
131
+ <h3 id="undervalued-small-caps-startups">Undervalued Small Caps / Startups</h3>
132
+ <ul>
133
+ <li><strong>Ur-Energy (URG)</strong><ul>
134
+ <li><strong>Sector</strong>: Uranium production/mining</li>
135
+ <li><strong>Signals</strong>: New CEO with pedigree, North American supply play; potential for insider or institutional accumulation.</li>
136
+ <li><strong>Fundamentals</strong>: Historically low P/B and P/E vs. sector; improving cash flow as uranium prices trend higher.</li>
137
+ </ul>
138
+ </li>
139
+ <li><strong>Energy Fuels (UUUU)</strong><ul>
140
+ <li><strong>Sector</strong>: Uranium/rare earths</li>
141
+ <li><strong>Signals</strong>: ATM share offering—could precede an operational expansion, M&amp;A, or balance sheet fortification.</li>
142
+ <li><strong>Moat</strong>: Vertical integration and North American production base; tailwinds from potential U.S. uranium supply mandates.</li>
143
+ </ul>
144
+ </li>
145
+ <li><strong>Kairos Power</strong><ul>
146
+ <li><strong>Sector</strong>: Small Modular Reactor (SMR) developer</li>
147
+ <li><strong>Signals</strong>: Google is a committed off-taker (500 MW); not public but watch for IPO or private rounds.</li>
148
+ <li><strong>Moat</strong>: Proprietary reactor and fuel tech, first-mover commercial projects.</li>
149
+ </ul>
150
+ </li>
151
+ <li><strong>Commonwealth Fusion Systems (private)</strong><ul>
152
+ <li><strong>Sector</strong>: Fusion</li>
153
+ <li><strong>Signals</strong>: Google investing + off-take for 200MW; implies robust institutional backing, possible pre-IPO unicorn.</li>
154
+ <li><strong>Moat</strong>: Leading IP/patent portfolio in commercial fusion.</li>
155
+ </ul>
156
+ </li>
157
+ <li><strong>Floating Nuclear Consortia (Europe/Mediterranean)</strong><ul>
158
+ <li><strong>Sector</strong>: Maritime nuclear</li>
159
+ <li><strong>Signals</strong>: New industry consortium for floating plants; regulatory tailwinds in Europe; riskier but paradigm-shifting.</li>
160
+ </ul>
161
+ </li>
162
+ </ul>
163
+ <h3 id="large-cap-defensiveincumbent-names">Large-Cap Defensive/Incumbent Names</h3>
164
+ <ul>
165
+ <li><strong>Westinghouse (private, but watch via Brookfield Asset Management/partners)</strong><ul>
166
+ <li><strong>Signals</strong>: $180M fusion contract + global SMR tenders.</li>
167
+ <li><strong>Moat</strong>: Deep IP/patents, established utility relationships.</li>
168
+ </ul>
169
+ </li>
170
+ </ul>
171
+ <h4 id="emerging-themes">Emerging Themes</h4>
172
+ <ul>
173
+ <li>SMEs/startups deploying AI to compress reactor construction timelines (e.g., The Nuclear Company + Palantir).</li>
174
+ <li>Uranium spot market dislocations, supply security, and U.S./Canadian production uptrend.</li>
175
+ </ul>
176
+ <hr />
177
+ <h2 id="3-what-smart-money-might-be-acting-on">3. What Smart Money Might Be Acting On</h2>
178
+ <h3 id="institutional-moves-and-vc-flows">Institutional Moves and VC Flows</h3>
179
+ <ul>
180
+ <li><strong>Tech Company Off-Take Agreements</strong>: Google’s long-dated power purchase agreements (PPAs) for nuclear fusion and SMRs indicate that large buyers are locking in future clean firm power, giving runway and de-risking revenue for emerging projects.</li>
181
+ <li><strong>Leadership Talent Migration</strong>: Appointment of high-profile operators (e.g., Matthew Gili at URG) often precedes capital flows and operational improvement.</li>
182
+ <li><strong>Private/VC Investment</strong>: Ongoing private fundraising in fusion (CFS/publicized; others less visible) and SMR space—potential for pre-IPO access or PIPE deals.</li>
183
+ <li><strong>Policy-driven Lifts</strong>: Funds with a value/cyclical tilt may be accumulating uranium miners and established SMR suppliers, expecting U.S. or European state-driven demand and pricing power.</li>
184
+ </ul>
185
+ <hr />
186
+ <h2 id="4-references">4. References</h2>
187
+ <ul>
188
+ <li><a href="https://www.insidermonkey.com/blog/ur-energy-urg-names-matthew-gili-as-president-to-support-growth-strategy-1562642/">Insider Monkey: Ur-Energy appoints Matthew Gili</a></li>
189
+ <li><a href="https://techcrunch.com/2025/07/01/googles-data-center-energy-use-doubled-in-four-years/">TechCrunch: Google’s data center energy use doubles; commits to SMRs &amp; Fusion</a></li>
190
+ <li><a href="https://www.newsweek.com/google-bets-nuclear-fusion-next-generation-clean-power-2091877">Newsweek: Google bets on Nuclear Fusion, Commonwealth Fusion Systems</a></li>
191
+ <li><a href="https://www.powermag.com/westinghouse-iter-sign-180-million-contract-to-advance-nuclear-fusion/">POWER Magazine: Westinghouse &amp; ITER fusion contract</a></li>
192
+ <li><a href="https://www.utilitydive.com/news/new-york-gov-hochul-hints-at-fleet-style-approach-to-nuclear-deployments/751838/">Utility Dive: NY Gov. Hochul nuclear push</a></li>
193
+ <li><a href="https://www.insidermonkey.com/blog/energy-fuels-uuuu-launches-300-million-atm-share-offering-program-1562647/">Insider Monkey: Energy Fuels ATM offering</a></li>
194
+ <li><a href="https://www.marinelink.com/news/industry-consortium-asses-floating-527616">Marine Link: Industry consortium assesses floating nuclear</a></li>
195
+ <li>[The Verge, Sky News, NPR, CleanTechnica] (multiple for macro/policy context)</li>
196
+ </ul>
197
+ <hr />
198
+ <h2 id="5-investment-hypothesis">5. Investment Hypothesis</h2>
199
+ <p>Amid rising electricity demand from AI/data centers and the political marginalization of wind/solar, nuclear energy—particularly next-gen reactor developers, operationally leveraged uranium miners, and AI-enabled project managers—is set to benefit from both structural and cyclical forces. Near-term policy support, tech company PPA commitments, and tangible operational milestones (fusion contracts, executive talent upgrades) provide a fundamental backdrop for value investors.</p>
200
+ <p><strong>Thesis</strong>: Select undervalued uranium miners (URG, UUUU) and actionable SMR/fusion-related plays with real partnerships or contracts (Kairos, CFS, Palantir’s nuclear construction software partners) are likely mispriced relative to long-term demand, the emergence of tech buyer power, and regulatory tailwinds. Watch for balance sheet improvement, insider activity, and capex deployment as future catalysts.</p>
201
+ <p><strong>Actionable Watchlist:</strong><br />
202
+ - Ur-Energy (NYSE: URG) — ride management upgrade and uranium bull cycle<br />
203
+ - Energy Fuels (NYSE: UUUU) — play on U.S. supply autonomy and balance sheet firepower<br />
204
+ - Private: Kairos Power, Commonwealth Fusion Systems — monitor for IPO/news, pre-IPO funds<br />
205
+ - Established supply chain: Westinghouse (via BAM, or tracking SMR contracts), Palantir’s nuclear ventures</p>
206
+ <hr />
207
+ <p><strong>Macroeconomic/Regulatory Context:</strong><br />
208
+ - U.S. and European grid reliability and policy now lean “pro-nuclear” as renewables face political and technical hurdles.
209
+ - Tech-sector demand for bespoke clean, reliable baseload may outpace traditional grid growth, driving long-term PPA/contracting up for nuclear-adjacent firms.
210
+ - Early stage risk remains (especially fusion), but government cash, looser environmental reviews, and talent influx are de-risking the sector.</p>
211
+ <hr />
212
+ <p><strong>Discipline:</strong> Accumulate on dips with a margin of safety; remain alert to policy reversals, cost overruns, and technology risk. Revisit on IPO news, federal incentive shifts, and real-world contract wins.</p>
213
+ </main>
214
+ <aside>
215
+ <h3>🧠 Metrics</h3>
216
+ <ul><li>Topic: Nuclear energy</li><li>Articles Collected: 150</li><li>Generated: 2025-07-04 13:55</li></ul>
217
+ </aside>
218
+ </div>
219
+ </body>
220
+ </html>
221
+
html/test_startup_2025-07-26.html ADDED
@@ -0,0 +1,157 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ <!DOCTYPE html>
3
+ <html lang="en">
4
+ <head>
5
+ <meta charset="UTF-8">
6
+ <title>test_startup_2025-07-26</title>
7
+ <style>
8
+ body {
9
+ font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
10
+ margin: 0;
11
+ background-color: #f8f9fa;
12
+ color: #212529;
13
+ line-height: 1.6;
14
+ }
15
+ header {
16
+ background-color: #ffffff;
17
+ text-align: center;
18
+ padding: 1em;
19
+ border-bottom: 2px solid #dee2e6;
20
+ }
21
+ header img {
22
+ width: 100%;
23
+ height: auto;
24
+ max-height: 50vh;
25
+ object-fit: cover;
26
+ }
27
+ .credit {
28
+ font-size: 0.85em;
29
+ color: #6c757d;
30
+ margin-top: 0.5em;
31
+ }
32
+ .container {
33
+ display: flex;
34
+ flex-direction: row;
35
+ max-width: 1200px;
36
+ margin: 2em auto;
37
+ padding: 0 1em;
38
+ gap: 2em;
39
+ }
40
+ main {
41
+ flex: 3;
42
+ }
43
+ aside {
44
+ flex: 1;
45
+ background-color: #ffffff;
46
+ border: 1px solid #dee2e6;
47
+ border-radius: 8px;
48
+ padding: 1em;
49
+ box-shadow: 0 2px 6px rgba(0,0,0,0.05);
50
+ height: fit-content;
51
+ }
52
+ main img {
53
+ max-width: 100%;
54
+ height: auto;
55
+ display: block;
56
+ margin: 1.5em auto;
57
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
58
+ }
59
+ h1, h2, h3 {
60
+ color: #0d6efd;
61
+ }
62
+ a {
63
+ color: #0d6efd;
64
+ text-decoration: none;
65
+ }
66
+ a:hover {
67
+ text-decoration: underline;
68
+ }
69
+ code {
70
+ background: #e9ecef;
71
+ padding: 0.2em 0.4em;
72
+ border-radius: 4px;
73
+ font-family: monospace;
74
+ }
75
+ pre {
76
+ background: #e9ecef;
77
+ padding: 1em;
78
+ overflow-x: auto;
79
+ border-radius: 6px;
80
+ }
81
+ blockquote {
82
+ border-left: 4px solid #0d6efd;
83
+ padding-left: 1em;
84
+ color: #495057;
85
+ margin: 1em 0;
86
+ background: #f1f3f5;
87
+ }
88
+ </style>
89
+ </head>
90
+ <body>
91
+ <header>
92
+ <img src="https://via.placeholder.com/1280x720.png?text=AI+News+Analyzer" alt="test_startup_2025-07-26 Banner">
93
+ </header>
94
+ <div class="container">
95
+ <main>
96
+ <h3 id="executive-summary">📌 Executive Summary</h3>
97
+ <ul>
98
+ <li><strong>Positive Sentiment:</strong> The $100M Series A funding round suggests strong investor confidence and institutional validation for Test Startup’s growth prospects.</li>
99
+ <li><strong>Key Risk:</strong> Ongoing regulatory lawsuit poses near-term headline and operational risk, potentially impacting valuation and investor sentiment.</li>
100
+ <li><strong>Catalysts:</strong> Capital influx could drive market expansion, product innovation, or hiring, but regulatory outcomes must be monitored closely.</li>
101
+ <li><strong>Market Tone:</strong> Mixed this week – strong signals for growth, offset by legal headwinds; watch for regulatory updates.</li>
102
+ </ul>
103
+ <hr />
104
+ <h3 id="signals-and-analysis-include-sources">📊 Signals and Analysis (Include Sources)</h3>
105
+ <h4 id="test-startup-raises-100m-series-a"><strong>Test Startup Raises $100M Series A</strong></h4>
106
+ <p>Test Startup secured a <strong>$100M Series A funding</strong> round, a substantial early-stage raise indicating deep-pocketed backers and implied confidence in market potential. At a time when venture rounds are contracting, such a raise suggests Test Startup is perceived as having a competitive product, possible early traction, or significant technology moat. High cash reserves post-raise are a positive signal for future operational runway and negotiating power in strategic partnerships. This event hints at the possibility of undervaluation versus potential value unlock through rapid expansion. [<a href="https://example.com/funding">source</a>]</p>
107
+ <h4 id="test-startup-faces-regulatory-lawsuit"><strong>Test Startup Faces Regulatory Lawsuit</strong></h4>
108
+ <p>Simultaneously, Test Startup is grappling with <strong>regulatory lawsuits over environmental violations</strong>. This risk could constrain operational scope, delay product timelines, or saddle the company with fines. Investors must be wary: settlement costs, management distraction, and negative publicity may weigh on short- and mid-term performance. The regulatory environment is especially crucial for early-stage companies scaling in industries with environmental impact. [<a href="https://example.com/lawsuit">source</a>]</p>
109
+ <hr />
110
+ <h3 id="investment-thesis">🧠 Investment Thesis</h3>
111
+ <p><strong>Sentiment &amp; Market Trends</strong><br />
112
+ VC and public-market risk appetite remains selective in 2024, with large growth rounds favoring startups showing resilience or distinctive advantage (tech, regulatory moats, or strong leadership). However, increased regulatory scrutiny—especially on environmental and social practices—is raising risks for even well-capitalized startups.</p>
113
+ <p><strong>Analysis</strong><br />
114
+ - <strong>Buy/Watch (High Risk/High Reward):</strong><br />
115
+ The sheer size of the Series A implies a potential mispricing or underrecognition of Test Startup’s future value, especially if funds accelerate scale or product defensibility. However, prudent investors must <strong>watch</strong> pending litigation outcomes, and consider potential downside from unfavorable regulatory resolutions.
116
+ - <strong>Key Risks:</strong><br />
117
+ Regulatory headwinds, possible stock/dilution on further raises for legal/reserve needs, negative press, and cyclical VC appetites.<br />
118
+ - <strong>Reward Potential:</strong><br />
119
+ Successful litigation resolution and deployment of capital could drive outsized returns, especially versus comparables with similar funding but less legal baggage.</p>
120
+ <p><strong>Smart Money Moves:</strong><br />
121
+ - Institutional capital, likely from established VCs, appears bullish per the size of the fundraise.
122
+ - Absence of clear insider buys or key high-profile additions this week suggests most action is from financial (not operator) players.
123
+ - Watch for notable board appointments, capital deployment patterns, or partnerships in coming quarters.</p>
124
+ <p><strong>What to Monitor:</strong><br />
125
+ - Legal case progress and settlement risk.
126
+ - Post-raise strategic operational moves.
127
+ - Any new high-profile investors or operators joining.</p>
128
+ <hr />
129
+ <h3 id="stocks-or-startups-to-watch">🔎 Stocks or Startups to Watch</h3>
130
+ <ul>
131
+ <li><strong>Test Startup</strong>: High potential but monitor legal headwinds. No public valuation, but Series A magnitude makes it a possible future IPO or buyout candidate.</li>
132
+ <li><a href="https://example.com/funding">Funding details</a></li>
133
+ <li><strong>Peers:</strong> Look for other small-caps/startups in the same sector or who recently resolved regulatory challenges — these may see re-rating if sentiment improves.</li>
134
+ </ul>
135
+ <hr />
136
+ <h3 id="references">📚 References</h3>
137
+ <ol>
138
+ <li><a href="https://example.com/funding">Startup raises $100M Series A funding</a></li>
139
+ <li><a href="https://example.com/lawsuit">Company faces regulatory lawsuit</a></li>
140
+ </ol>
141
+ <hr />
142
+ <h3 id="investment-hypothesis">🧠 Investment Hypothesis</h3>
143
+ <p>Given the <strong>combination of strong institutional capital inflow</strong> and near-term <strong>regulatory risk</strong>, Test Startup represents a high-beta play on execution and regulatory clarity. <strong>If the lawsuit resolves favorably</strong>, early investors could benefit from disproportionate upside as operations and valuation normalize. Conversely, if regulatory risks escalate, valuation could contract sharply or fundraise capital may be depleted in legal costs.</p>
144
+ <p><strong>Approach:</strong>
145
+ - <em>Short term</em>: Watch and assess for clarity on lawsuit and deployment of funds.
146
+ - <em>Long term</em>: Invest post-clarity, or as legal risk is discounted by broader market, given strong fundamental backing and recent large fundraise. </p>
147
+ <p><strong>Bottom Line:</strong><br />
148
+ Risk-tolerant value investors should keep Test Startup under close review, pending resolution of headline legal risk and further signals of operational strength or capital deployment.</p>
149
+ </main>
150
+ <aside>
151
+ <h3>🧠 Metrics</h3>
152
+
153
+ </aside>
154
+ </div>
155
+ </body>
156
+ </html>
157
+
src/main.py CHANGED
@@ -15,15 +15,18 @@ os.makedirs(HTML_DIR, exist_ok=True)
15
 
16
  load_dotenv()
17
 
 
18
  def derive_priority(sentiment, confidence):
19
- if sentiment == "Positive" and confidence > 0.7:
 
20
  return "High"
21
- elif sentiment == "Negative" and confidence > 0.6:
22
  return "High"
23
- elif confidence > 0.5:
24
  return "Medium"
25
  return "Low"
26
 
 
27
  def run_value_investing_analysis(csv_path, progress_callback=None):
28
  current_df = pd.read_csv(csv_path)
29
  all_articles = []
@@ -33,54 +36,65 @@ def run_value_investing_analysis(csv_path, progress_callback=None):
33
  topic = row.get("topic")
34
  timespan = row.get("timespan_days", 7)
35
  if progress_callback:
36
- progress_callback(f"🔍 Processing: {topic} ({timespan} days)")
37
 
38
  news = fetch_deep_news(topic, timespan)
39
  if not news:
 
 
40
  continue
41
 
42
  for article in news:
43
- summary = article.get("summary", "")
44
  title = article.get("title", "Untitled")
45
  url = article.get("url", "")
46
  date = article.get("date", datetime.now().strftime("%Y-%m-%d"))
47
 
 
48
  try:
49
  result = analyze_article(summary)
50
  sentiment = result.get("sentiment", "Neutral")
51
  confidence = float(result.get("confidence", 0.0))
 
 
52
  except Exception as e:
53
- print(f"[FinBERT ERROR] {e}")
 
54
  sentiment, confidence = "Neutral", 0.0
55
 
56
  priority = derive_priority(sentiment, confidence)
57
 
58
- # Add to articles_df
59
  all_articles.append({
60
  "Title": title,
61
  "URL": url,
62
- "Summary": summary,
63
  "Priority": priority,
64
  "Date": date,
 
 
65
  })
66
 
67
- # Collect company-level data for insights
68
  company_data.append({
69
- "Company": topic, # For now, use topic as company proxy
70
  "Sentiment": sentiment,
71
  "Confidence": confidence,
72
  "Summary": summary,
73
  })
74
 
75
  # Save markdown report
76
- report_body = generate_value_investor_report(topic, news)
77
- filename = f"{topic.replace(' ', '_').lower()}_{datetime.now().strftime('%Y-%m-%d')}.md"
78
- filepath = os.path.join(DATA_DIR, filename)
79
- with open(filepath, "w", encoding="utf-8") as f:
80
- f.write(report_body)
 
 
 
 
81
 
82
  return all_articles, company_data
83
 
 
84
  def build_company_insights(company_data):
85
  if not company_data:
86
  return pd.DataFrame()
@@ -99,8 +113,11 @@ def build_company_insights(company_data):
99
  "Confidence": avg_confidence,
100
  "Highlights": highlights
101
  })
102
- return pd.DataFrame(insights)
103
 
 
 
 
 
104
  def run_pipeline(csv_path, tavily_api_key, progress_callback=None):
105
  os.environ["TAVILY_API_KEY"] = tavily_api_key
106
  all_articles, company_data = run_value_investing_analysis(csv_path, progress_callback)
 
15
 
16
  load_dotenv()
17
 
18
+ # === Priority Logic ===
19
  def derive_priority(sentiment, confidence):
20
+ sentiment = sentiment.lower()
21
+ if sentiment == "positive" and confidence > 0.7:
22
  return "High"
23
+ if sentiment == "negative" and confidence > 0.6:
24
  return "High"
25
+ if confidence > 0.5:
26
  return "Medium"
27
  return "Low"
28
 
29
+ # === Main Analysis ===
30
  def run_value_investing_analysis(csv_path, progress_callback=None):
31
  current_df = pd.read_csv(csv_path)
32
  all_articles = []
 
36
  topic = row.get("topic")
37
  timespan = row.get("timespan_days", 7)
38
  if progress_callback:
39
+ progress_callback(f"🔍 Processing topic: {topic} ({timespan} days)")
40
 
41
  news = fetch_deep_news(topic, timespan)
42
  if not news:
43
+ if progress_callback:
44
+ progress_callback(f"⚠️ No news found for topic: {topic}")
45
  continue
46
 
47
  for article in news:
48
+ summary = article.get("summary", "") or article.get("content", "")
49
  title = article.get("title", "Untitled")
50
  url = article.get("url", "")
51
  date = article.get("date", datetime.now().strftime("%Y-%m-%d"))
52
 
53
+ # === Sentiment Analysis ===
54
  try:
55
  result = analyze_article(summary)
56
  sentiment = result.get("sentiment", "Neutral")
57
  confidence = float(result.get("confidence", 0.0))
58
+ if progress_callback:
59
+ progress_callback(f"📰 [{title[:50]}...] → Sentiment: {sentiment}, Confidence: {confidence}")
60
  except Exception as e:
61
+ if progress_callback:
62
+ progress_callback(f"[FinBERT ERROR] {e}")
63
  sentiment, confidence = "Neutral", 0.0
64
 
65
  priority = derive_priority(sentiment, confidence)
66
 
 
67
  all_articles.append({
68
  "Title": title,
69
  "URL": url,
70
+ "Summary": summary[:300] + "..." if summary else "",
71
  "Priority": priority,
72
  "Date": date,
73
+ "Sentiment": sentiment,
74
+ "Confidence": confidence
75
  })
76
 
 
77
  company_data.append({
78
+ "Company": topic, # Use topic as placeholder for company detection
79
  "Sentiment": sentiment,
80
  "Confidence": confidence,
81
  "Summary": summary,
82
  })
83
 
84
  # Save markdown report
85
+ try:
86
+ report_body = generate_value_investor_report(topic, news)
87
+ filename = f"{topic.replace(' ', '_').lower()}_{datetime.now().strftime('%Y-%m-%d')}.md"
88
+ filepath = os.path.join(DATA_DIR, filename)
89
+ with open(filepath, "w", encoding="utf-8") as f:
90
+ f.write(report_body)
91
+ except Exception as e:
92
+ if progress_callback:
93
+ progress_callback(f"[REPORT ERROR] {e}")
94
 
95
  return all_articles, company_data
96
 
97
+ # === Insights Tab Data ===
98
  def build_company_insights(company_data):
99
  if not company_data:
100
  return pd.DataFrame()
 
113
  "Confidence": avg_confidence,
114
  "Highlights": highlights
115
  })
 
116
 
117
+ insights_df = pd.DataFrame(insights)
118
+ return insights_df.sort_values(by="Confidence", ascending=False).head(5)
119
+
120
+ # === Pipeline ===
121
  def run_pipeline(csv_path, tavily_api_key, progress_callback=None):
122
  os.environ["TAVILY_API_KEY"] = tavily_api_key
123
  all_articles, company_data = run_value_investing_analysis(csv_path, progress_callback)
src/news_analysis.py CHANGED
@@ -214,69 +214,87 @@ def tavily_search(query, days, max_results=10):
214
 
215
  # === Smart News Search ===
216
  def fetch_deep_news(topic, days):
217
- all_results = []
218
- seen_urls = set()
219
-
220
- base_queries = [
221
- topic,
222
- f"{topic} AND startup",
223
- f"{topic} AND acquisition OR merger OR funding",
224
- f"{topic} AND CEO OR executive OR leadership",
225
- f"{topic} AND venture capital OR Series A OR Series B",
226
- f"{topic} AND government grant OR approval OR contract",
227
- f"{topic} AND underrated OR small-cap OR micro-cap"
 
 
 
228
  ]
229
 
230
- investor_queries = [
231
- f"{topic} AND BlackRock OR Vanguard OR SoftBank",
232
- f"{topic} AND Elon Musk OR Sam Altman OR Peter Thiel",
233
- f"{topic} AND Berkshire Hathaway OR Warren Buffett",
234
- f"{topic} AND institutional investor OR hedge fund",
235
- ]
236
 
237
- related_terms = get_related_terms(topic)
238
- synonym_queries = [f"{term} AND {kw}" for term in related_terms for kw in ["startup", "funding", "merger", "acquisition"]]
 
 
 
 
 
 
 
239
 
240
- all_queries = base_queries + investor_queries + synonym_queries
 
 
 
 
 
241
 
242
- for query in all_queries:
243
- try:
244
- print(f"🔍 Tavily query: {query}")
245
- response = tavily_search(query, days)
246
 
247
- if not isinstance(response, dict) or "results" not in response:
248
- print(f"⚠️ Tavily API response issue: {response}")
249
- continue
 
 
 
250
 
251
- for item in response.get("results", []):
252
- url = item.get("url")
253
- content = item.get("content", "") or item.get("summary", "") or item.get("title", "")
254
- if url and url not in seen_urls and len(content) > 150:
255
- all_results.append({
256
- "title": item.get("title"),
257
- "url": url,
258
- "content": content
259
- })
260
- seen_urls.add(url)
 
 
 
 
261
 
262
- except Exception as e:
263
- print(f"⚠️ Tavily request failed for query '{query}': {e}")
264
 
265
- print(f"📰 Total articles collected: {len(all_results)}")
266
- return all_results
267
 
268
  # === Generate Markdown Report ===
269
  def generate_value_investor_report(topic, news_results, max_articles=20, max_chars_per_article=400):
270
  news_results = news_results[:max_articles]
271
 
272
  for item in news_results:
273
- result = analyze_article(item["content"])
 
274
  item["fin_sentiment"] = result.get("sentiment", "neutral")
275
  item["fin_confidence"] = result.get("confidence", 0.0)
276
  item["investment_decision"] = result.get("investment_decision", "Watch")
277
 
278
  article_summary = "".join(
279
- f"- **{item['title']}**: {item['content'][:max_chars_per_article]}... "
280
  f"(Sentiment: {item['fin_sentiment'].title()}, Confidence: {item['fin_confidence']:.2f}, "
281
  f"Decision: {item['investment_decision']}) [link]({item['url']})\n"
282
  for item in news_results
 
214
 
215
  # === Smart News Search ===
216
  def fetch_deep_news(topic, days):
217
+ print(f"[DEBUG] Fetching mock articles for topic: {topic}")
218
+ return [
219
+ {
220
+ "title": "Startup raises $100M Series A funding",
221
+ "url": "https://example.com/funding",
222
+ "summary": "The startup raised $100M in Series A funding to expand operations.",
223
+ "date": "2025-07-20"
224
+ },
225
+ {
226
+ "title": "Company faces regulatory lawsuit",
227
+ "url": "https://example.com/lawsuit",
228
+ "summary": "The company is facing lawsuits due to environmental violations.",
229
+ "date": "2025-07-19"
230
+ }
231
  ]
232
 
233
+ # def fetch_deep_news(topic, days):
234
+ # all_results = []
235
+ # seen_urls = set()
 
 
 
236
 
237
+ # base_queries = [
238
+ # topic,
239
+ # f"{topic} AND startup",
240
+ # f"{topic} AND acquisition OR merger OR funding",
241
+ # f"{topic} AND CEO OR executive OR leadership",
242
+ # f"{topic} AND venture capital OR Series A OR Series B",
243
+ # f"{topic} AND government grant OR approval OR contract",
244
+ # f"{topic} AND underrated OR small-cap OR micro-cap"
245
+ # ]
246
 
247
+ # investor_queries = [
248
+ # f"{topic} AND BlackRock OR Vanguard OR SoftBank",
249
+ # f"{topic} AND Elon Musk OR Sam Altman OR Peter Thiel",
250
+ # f"{topic} AND Berkshire Hathaway OR Warren Buffett",
251
+ # f"{topic} AND institutional investor OR hedge fund",
252
+ # ]
253
 
254
+ # related_terms = get_related_terms(topic)
255
+ # synonym_queries = [f"{term} AND {kw}" for term in related_terms for kw in ["startup", "funding", "merger", "acquisition"]]
 
 
256
 
257
+ # all_queries = base_queries + investor_queries + synonym_queries
258
+
259
+ # for query in all_queries:
260
+ # try:
261
+ # print(f"🔍 Tavily query: {query}")
262
+ # response = tavily_search(query, days)
263
 
264
+ # if not isinstance(response, dict) or "results" not in response:
265
+ # print(f"⚠️ Tavily API response issue: {response}")
266
+ # continue
267
+
268
+ # for item in response.get("results", []):
269
+ # url = item.get("url")
270
+ # content = item.get("content", "") or item.get("summary", "") or item.get("title", "")
271
+ # if url and url not in seen_urls and len(content) > 150:
272
+ # all_results.append({
273
+ # "title": item.get("title"),
274
+ # "url": url,
275
+ # "content": content
276
+ # })
277
+ # seen_urls.add(url)
278
 
279
+ # except Exception as e:
280
+ # print(f"⚠️ Tavily request failed for query '{query}': {e}")
281
 
282
+ # print(f"📰 Total articles collected: {len(all_results)}")
283
+ # return all_results
284
 
285
  # === Generate Markdown Report ===
286
  def generate_value_investor_report(topic, news_results, max_articles=20, max_chars_per_article=400):
287
  news_results = news_results[:max_articles]
288
 
289
  for item in news_results:
290
+ text = item.get("summary") or item.get("content", "")
291
+ result = analyze_article(text)
292
  item["fin_sentiment"] = result.get("sentiment", "neutral")
293
  item["fin_confidence"] = result.get("confidence", 0.0)
294
  item["investment_decision"] = result.get("investment_decision", "Watch")
295
 
296
  article_summary = "".join(
297
+ f"- **{item['title']}**: { (item.get('content') or item.get('summary', ''))[:max_chars_per_article]}... "
298
  f"(Sentiment: {item['fin_sentiment'].title()}, Confidence: {item['fin_confidence']:.2f}, "
299
  f"Decision: {item['investment_decision']}) [link]({item['url']})\n"
300
  for item in news_results
test_topics.csv ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ topic,timespan_days
2
+ Test Startup,7