Upload 8 files
Browse files- Dockerfile +21 -0
- aggregator.py +197 -0
- ai_training_scraper.py +119 -0
- app.py +56 -0
- data.json +1210 -0
- requirements.txt +7 -0
- scheduler.py +27 -0
- training_data.json +222 -0
Dockerfile
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
FROM python:3.9-slim
|
| 2 |
+
|
| 3 |
+
# Set up work directory
|
| 4 |
+
WORKDIR /app
|
| 5 |
+
|
| 6 |
+
# Copy requirements and install
|
| 7 |
+
COPY requirements.txt .
|
| 8 |
+
RUN pip install --no-cache-dir -r requirements.txt
|
| 9 |
+
|
| 10 |
+
# Copy all backend files
|
| 11 |
+
COPY . .
|
| 12 |
+
|
| 13 |
+
# Set environment variables
|
| 14 |
+
ENV PORT=7860
|
| 15 |
+
ENV PYTHONUNBUFFERED=1
|
| 16 |
+
|
| 17 |
+
# Expose the port
|
| 18 |
+
EXPOSE 7860
|
| 19 |
+
|
| 20 |
+
# Run the app
|
| 21 |
+
CMD ["python", "app.py"]
|
aggregator.py
ADDED
|
@@ -0,0 +1,197 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import feedparser
|
| 2 |
+
import json
|
| 3 |
+
import requests
|
| 4 |
+
import time
|
| 5 |
+
import os
|
| 6 |
+
import re
|
| 7 |
+
from bs4 import BeautifulSoup
|
| 8 |
+
from datetime import datetime
|
| 9 |
+
|
| 10 |
+
# Configuration
|
| 11 |
+
USER_AGENT = "Funding Tracker Public Tool (contact@example.com)"
|
| 12 |
+
SEC_RSS_URL = "https://www.sec.gov/cgi-bin/browse-edgar?action=getcurrent&type=D&owner=exclude&start=0&count=100&output=atom"
|
| 13 |
+
TC_RSS_URL = "https://techcrunch.com/category/startups/feed/"
|
| 14 |
+
YC_DATA_URL = "https://raw.githubusercontent.com/yc-oss/api/main/data/companies.json"
|
| 15 |
+
|
| 16 |
+
HEADERS = {'User-Agent': USER_AGENT}
|
| 17 |
+
|
| 18 |
+
def slugify(text):
|
| 19 |
+
text = text.lower()
|
| 20 |
+
text = re.sub(r'[^a-z0-9]+', '-', text)
|
| 21 |
+
return text.strip('-')
|
| 22 |
+
|
| 23 |
+
def fetch_sec_filings():
|
| 24 |
+
print("Fetching SEC Form D filings...")
|
| 25 |
+
response = requests.get(SEC_RSS_URL, headers=HEADERS)
|
| 26 |
+
if response.status_code != 200: return []
|
| 27 |
+
|
| 28 |
+
feed = feedparser.parse(response.text)
|
| 29 |
+
filings = []
|
| 30 |
+
for entry in feed.entries:
|
| 31 |
+
if "D" in entry.title or "Form D" in entry.title:
|
| 32 |
+
try:
|
| 33 |
+
parts = entry.title.split(" - ")
|
| 34 |
+
if len(parts) < 2: continue
|
| 35 |
+
company_name = parts[1].split(" (")[0]
|
| 36 |
+
cik = entry.title.split("(")[-1].split(")")[0]
|
| 37 |
+
filings.append({
|
| 38 |
+
"src": "SEC",
|
| 39 |
+
"company_name": company_name,
|
| 40 |
+
"slug": slugify(company_name),
|
| 41 |
+
"date": entry.updated,
|
| 42 |
+
"link": entry.link,
|
| 43 |
+
"id": cik,
|
| 44 |
+
"type": "Form D",
|
| 45 |
+
"funding_amount": "Unknown" # Will be enriched
|
| 46 |
+
})
|
| 47 |
+
except: continue
|
| 48 |
+
return filings
|
| 49 |
+
|
| 50 |
+
def fetch_techcrunch():
|
| 51 |
+
print("Fetching TechCrunch news...")
|
| 52 |
+
response = requests.get(TC_RSS_URL, headers=HEADERS)
|
| 53 |
+
if response.status_code != 200: return []
|
| 54 |
+
|
| 55 |
+
feed = feedparser.parse(response.text)
|
| 56 |
+
news = []
|
| 57 |
+
for entry in feed.entries:
|
| 58 |
+
if any(keyword in entry.title.lower() for keyword in ["funding", "raise", "seed", "series a", "series b", "series c", "backed"]):
|
| 59 |
+
company_name = entry.title.split(" raises ")[0].split(" funding")[0]
|
| 60 |
+
news.append({
|
| 61 |
+
"src": "TechCrunch",
|
| 62 |
+
"company_name": company_name,
|
| 63 |
+
"slug": slugify(company_name),
|
| 64 |
+
"date": entry.published if hasattr(entry, 'published') else datetime.now().isoformat(),
|
| 65 |
+
"link": entry.link,
|
| 66 |
+
"summary": BeautifulSoup(entry.summary, 'html.parser').text[:500] + "...",
|
| 67 |
+
"type": "News",
|
| 68 |
+
"funding_amount": re.search(r'\$\d+(?:\.\d+)?(?:M|B|K)?', entry.title).group(0) if re.search(r'\$\d+(?:\.\d+)?(?:M|B|K)?', entry.title) else "Check Article"
|
| 69 |
+
})
|
| 70 |
+
return news
|
| 71 |
+
|
| 72 |
+
def fetch_yc_startups():
|
| 73 |
+
print("Fetching YC startups...")
|
| 74 |
+
response = requests.get(YC_DATA_URL, headers=HEADERS)
|
| 75 |
+
if response.status_code != 200: return []
|
| 76 |
+
|
| 77 |
+
try:
|
| 78 |
+
data = response.json()
|
| 79 |
+
startups = []
|
| 80 |
+
for co in data[:20]:
|
| 81 |
+
startups.append({
|
| 82 |
+
"src": "Y Combinator",
|
| 83 |
+
"company_name": co['name'],
|
| 84 |
+
"slug": slugify(co['name']),
|
| 85 |
+
"date": datetime.now().isoformat(),
|
| 86 |
+
"link": f"https://www.ycombinator.com/companies/{co['slug']}" if 'slug' in co else co['website'],
|
| 87 |
+
"summary": co.get('description', 'YC Startup'),
|
| 88 |
+
"type": "Batch",
|
| 89 |
+
"funding_amount": "YC Standard"
|
| 90 |
+
})
|
| 91 |
+
return startups
|
| 92 |
+
except: return []
|
| 93 |
+
|
| 94 |
+
def enrich_sec_filing(filing):
|
| 95 |
+
try:
|
| 96 |
+
resp = requests.get(filing['link'], headers=HEADERS)
|
| 97 |
+
soup = BeautifulSoup(resp.text, 'html.parser')
|
| 98 |
+
tables = soup.find_all('table', {'summary': 'Document Format Files'})
|
| 99 |
+
if tables:
|
| 100 |
+
rows = tables[0].find_all('tr')
|
| 101 |
+
for row in rows:
|
| 102 |
+
if 'primary_doc.xml' in row.text:
|
| 103 |
+
xml_link = "https://www.sec.gov" + row.find('a')['href']
|
| 104 |
+
xml_resp = requests.get(xml_link, headers=HEADERS)
|
| 105 |
+
xml_soup = BeautifulSoup(xml_resp.text, 'xml')
|
| 106 |
+
|
| 107 |
+
# Extract Amount
|
| 108 |
+
total_amt = xml_soup.find('totalOfferingAmount')
|
| 109 |
+
if total_amt:
|
| 110 |
+
filing['funding_amount'] = f"${total_amt.text}" if total_amt.text.isdigit() else total_amt.text
|
| 111 |
+
|
| 112 |
+
# Extract Industry
|
| 113 |
+
industry = xml_soup.find('industryGroup')
|
| 114 |
+
if industry:
|
| 115 |
+
filing['summary'] = f"Industry: {industry.find('industryGroupType').text if industry.find('industryGroupType') else 'Miscellaneous'}"
|
| 116 |
+
|
| 117 |
+
# Extract Addresses
|
| 118 |
+
def get_addr(addr_node):
|
| 119 |
+
if not addr_node: return "Not Available"
|
| 120 |
+
s1 = addr_node.find('street1').text if addr_node.find('street1') else ""
|
| 121 |
+
s2 = addr_node.find('street2').text if addr_node.find('street2') else ""
|
| 122 |
+
city = addr_node.find('city').text if addr_node.find('city') else ""
|
| 123 |
+
state = addr_node.find('stateOrCountry').text if addr_node.find('stateOrCountry') else ""
|
| 124 |
+
zip_code = addr_node.find('zipCode').text if addr_node.find('zipCode') else ""
|
| 125 |
+
return f"{s1} {s2}, {city}, {state} {zip_code}".replace(" ", " ").strip(", ")
|
| 126 |
+
|
| 127 |
+
bus_addr = xml_soup.find('businessAddress')
|
| 128 |
+
mail_addr = xml_soup.find('mailingAddress')
|
| 129 |
+
filing['business_address'] = get_addr(bus_addr)
|
| 130 |
+
filing['mailing_address'] = get_addr(mail_addr)
|
| 131 |
+
|
| 132 |
+
founders = []
|
| 133 |
+
for p in xml_soup.find_all('relatedPersonInfo'):
|
| 134 |
+
first = p.find('firstName').text if p.find('firstName') else ""
|
| 135 |
+
last = p.find('lastName').text if p.find('lastName') else ""
|
| 136 |
+
title = p.find('relationshipRole').text if p.find('relationshipRole') else "Executive"
|
| 137 |
+
|
| 138 |
+
# Derived contacts (simulated as requested before)
|
| 139 |
+
handle = (first + last).lower().replace(" ", "")
|
| 140 |
+
email = f"{handle}@{filing['company_name'].lower().split(' ')[0]}.com" if first and last else ""
|
| 141 |
+
x_account = f"https://x.com/{handle}" if first and last else ""
|
| 142 |
+
|
| 143 |
+
founders.append({
|
| 144 |
+
"name": f"{first} {last}",
|
| 145 |
+
"title": title,
|
| 146 |
+
"email": email,
|
| 147 |
+
"x_account": x_account
|
| 148 |
+
})
|
| 149 |
+
return founders
|
| 150 |
+
except Exception as e:
|
| 151 |
+
print(f"Error enriching {filing['company_name']}: {e}")
|
| 152 |
+
return []
|
| 153 |
+
|
| 154 |
+
def main():
|
| 155 |
+
all_data = []
|
| 156 |
+
|
| 157 |
+
sec = fetch_sec_filings()[:50]
|
| 158 |
+
tc = fetch_techcrunch()[:30]
|
| 159 |
+
yc = fetch_yc_startups()[:50]
|
| 160 |
+
|
| 161 |
+
for f in sec:
|
| 162 |
+
print(f"Enriching {f['company_name']}...")
|
| 163 |
+
f['founders'] = enrich_sec_filing(f)
|
| 164 |
+
all_data.append(f)
|
| 165 |
+
time.sleep(0.5)
|
| 166 |
+
|
| 167 |
+
for item in tc + yc:
|
| 168 |
+
item['founders'] = []
|
| 169 |
+
all_data.append(item)
|
| 170 |
+
|
| 171 |
+
all_data.sort(key=lambda x: x['date'], reverse=True)
|
| 172 |
+
|
| 173 |
+
# deduplicate by slug
|
| 174 |
+
seen = set()
|
| 175 |
+
deduped = []
|
| 176 |
+
for d in all_data:
|
| 177 |
+
if d['slug'] not in seen:
|
| 178 |
+
deduped.append(d)
|
| 179 |
+
seen.add(d['slug'])
|
| 180 |
+
|
| 181 |
+
# Sync to Frontend Public Folder
|
| 182 |
+
# We try to find the web/public path relative to this script
|
| 183 |
+
script_dir = os.path.dirname(os.path.abspath(__file__))
|
| 184 |
+
frontend_public_path = os.path.join(script_dir, "..", "web", "public", "data.json")
|
| 185 |
+
|
| 186 |
+
# Save locally and to frontend
|
| 187 |
+
paths_to_save = ["data.json"]
|
| 188 |
+
if os.path.exists(os.path.dirname(frontend_public_path)):
|
| 189 |
+
paths_to_save.append(frontend_public_path)
|
| 190 |
+
|
| 191 |
+
for path in paths_to_save:
|
| 192 |
+
with open(path, "w") as f:
|
| 193 |
+
json.dump(deduped, f, indent=4)
|
| 194 |
+
print(f"Success! Aggregated {len(deduped)} startups into {path}")
|
| 195 |
+
|
| 196 |
+
if __name__ == "__main__":
|
| 197 |
+
main()
|
ai_training_scraper.py
ADDED
|
@@ -0,0 +1,119 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import feedparser
|
| 2 |
+
import json
|
| 3 |
+
import requests
|
| 4 |
+
import time
|
| 5 |
+
import os
|
| 6 |
+
import re
|
| 7 |
+
from bs4 import BeautifulSoup
|
| 8 |
+
from datetime import datetime
|
| 9 |
+
|
| 10 |
+
# Configuration
|
| 11 |
+
USER_AGENT = "Firstify AI Tracker (contact@example.com)"
|
| 12 |
+
TC_RSS_URL = "https://techcrunch.com/category/startups/feed/"
|
| 13 |
+
# AI Specific Keywords
|
| 14 |
+
AI_KEYWORDS = ["ai training", "human feedback", "rlhf", "llm evaluation", "data annotation", "ai workforce", "turing", "prolific", "annotation"]
|
| 15 |
+
|
| 16 |
+
HEADERS = {'User-Agent': USER_AGENT}
|
| 17 |
+
|
| 18 |
+
def slugify(text):
|
| 19 |
+
text = text.lower()
|
| 20 |
+
text = re.sub(r'[^a-z0-9]+', '-', text)
|
| 21 |
+
return text.strip('-')
|
| 22 |
+
|
| 23 |
+
def fetch_ai_training_from_news():
|
| 24 |
+
print("Scouting AI Training platforms from news...")
|
| 25 |
+
response = requests.get(TC_RSS_URL, headers=HEADERS)
|
| 26 |
+
if response.status_code != 200: return []
|
| 27 |
+
|
| 28 |
+
feed = feedparser.parse(response.text)
|
| 29 |
+
platforms = []
|
| 30 |
+
for entry in feed.entries:
|
| 31 |
+
title_lower = entry.title.lower()
|
| 32 |
+
summary_lower = entry.summary.lower() if hasattr(entry, 'summary') else ""
|
| 33 |
+
|
| 34 |
+
if any(keyword in title_lower or keyword in summary_lower for keyword in AI_KEYWORDS):
|
| 35 |
+
# Extract company name (heuristic)
|
| 36 |
+
company_name = entry.title.split(" raises ")[0].split(" funding")[0].split(":")[0]
|
| 37 |
+
platforms.append({
|
| 38 |
+
"src": "AI Scout",
|
| 39 |
+
"company_name": company_name,
|
| 40 |
+
"slug": slugify(company_name),
|
| 41 |
+
"date": entry.published if hasattr(entry, 'published') else datetime.now().isoformat(),
|
| 42 |
+
"link": entry.link,
|
| 43 |
+
"summary": BeautifulSoup(entry.summary, 'html.parser').text[:500] + "...",
|
| 44 |
+
"type": "AI Training",
|
| 45 |
+
"funding_amount": "N/A",
|
| 46 |
+
"founders": []
|
| 47 |
+
})
|
| 48 |
+
return platforms
|
| 49 |
+
|
| 50 |
+
def get_curated_platforms():
|
| 51 |
+
# Focus: Platforms where people make money providing data for AI training
|
| 52 |
+
curated = [
|
| 53 |
+
{"name": "Rapidata", "desc": "High-speed human feedback tasks. Earn money label-ing data.", "url": "https://rapidata.ai"},
|
| 54 |
+
{"name": "Botpool", "desc": "AI training and data annotation marketplace for freelancers.", "url": "https://botpool.ai"},
|
| 55 |
+
{"name": "Mindrift", "desc": "Generate high-quality data for AI as an expert.", "url": "https://mindrift.ai"},
|
| 56 |
+
{"name": "Micro1", "desc": "Join an elite network of AI-vetted remote talent.", "url": "https://micro1.ai"},
|
| 57 |
+
{"name": "Mercor", "desc": "Autonomous hiring platform for AI and engineering roles.", "url": "https://mercor.com"},
|
| 58 |
+
{"name": "Rex.zone", "desc": "Curated RLHF and data services for training experts.", "url": "https://rex.zone"},
|
| 59 |
+
{"name": "Turing", "desc": "World's largest network for AI training and engineering jobs.", "url": "https://turing.com"},
|
| 60 |
+
{"name": "Prolific", "desc": "Participate in research and earn for high-quality data.", "url": "https://prolific.com"},
|
| 61 |
+
{"name": "Toloka", "desc": "Global crowd-force for AI training and RLHF.", "url": "https://toloka.ai"},
|
| 62 |
+
{"name": "DataAnnotation.tech", "desc": "Most popular platform for high-paying AI training tasks.", "url": "https://www.dataannotation.tech"},
|
| 63 |
+
{"name": "Outlier.ai", "desc": "Scale AI's platform for expert RLHF and data training.", "url": "https://outlier.ai"},
|
| 64 |
+
{"name": "Remotasks", "desc": "Work from home and earn money helping build AI.", "url": "https://www.remotasks.com"},
|
| 65 |
+
{"name": "Appen", "desc": "Flexible jobs training AI at the world's leading tech companies.", "url": "https://appen.com"},
|
| 66 |
+
{"name": "OneForma", "desc": "Global crowd platform for transcription, labeling, and AI data.", "url": "https://www.oneforma.com"},
|
| 67 |
+
{"name": "Neevo", "desc": "Defined.ai's platform for earning money through AI data tasks.", "url": "https://neevo.ai"},
|
| 68 |
+
{"name": "CloudFactory", "desc": "Human-in-the-loop workforce focused on meaningful AI work.", "url": "https://www.cloudfactory.com"},
|
| 69 |
+
{"name": "Sama", "desc": "Ethical AI sourcing platform for data labeling jobs.", "url": "https://www.sama.com"},
|
| 70 |
+
{"name": "Clickworker", "desc": "Micro-tasking platform for AI training and data processing.", "url": "https://www.clickworker.com"},
|
| 71 |
+
{"name": "Amazon MTurk", "desc": "The original marketplace for human intelligence tasks.", "url": "https://www.mturk.com"},
|
| 72 |
+
{"name": "Invisible Technologies", "desc": "Become an operator for complex AI training workflows.", "url": "https://www.invisible.co"}
|
| 73 |
+
]
|
| 74 |
+
platforms = []
|
| 75 |
+
for p in curated:
|
| 76 |
+
platforms.append({
|
| 77 |
+
"src": "Curated",
|
| 78 |
+
"company_name": p['name'],
|
| 79 |
+
"slug": slugify(p['name']),
|
| 80 |
+
"date": datetime.now().isoformat(),
|
| 81 |
+
"link": p['url'],
|
| 82 |
+
"summary": p['desc'],
|
| 83 |
+
"type": "AI Training Jobs",
|
| 84 |
+
"funding_amount": "Active",
|
| 85 |
+
"founders": []
|
| 86 |
+
})
|
| 87 |
+
return platforms
|
| 88 |
+
|
| 89 |
+
def main():
|
| 90 |
+
print("Starting Newly AI Training Scouting...")
|
| 91 |
+
|
| 92 |
+
news_leads = fetch_ai_training_from_news()
|
| 93 |
+
curated_leads = get_curated_platforms()
|
| 94 |
+
|
| 95 |
+
all_data = news_leads + curated_leads
|
| 96 |
+
|
| 97 |
+
# Deduplicate
|
| 98 |
+
seen = set()
|
| 99 |
+
deduped = []
|
| 100 |
+
for d in all_data:
|
| 101 |
+
if d['slug'] not in seen:
|
| 102 |
+
deduped.append(d)
|
| 103 |
+
seen.add(d['slug'])
|
| 104 |
+
|
| 105 |
+
# Sync to Frontend
|
| 106 |
+
script_dir = os.path.dirname(os.path.abspath(__file__))
|
| 107 |
+
frontend_public_path = os.path.join(script_dir, "..", "web", "public", "training_data.json")
|
| 108 |
+
|
| 109 |
+
paths_to_save = ["training_data.json"]
|
| 110 |
+
if os.path.exists(os.path.dirname(frontend_public_path)):
|
| 111 |
+
paths_to_save.append(frontend_public_path)
|
| 112 |
+
|
| 113 |
+
for path in paths_to_save:
|
| 114 |
+
with open(path, "w") as f:
|
| 115 |
+
json.dump(deduped, f, indent=4)
|
| 116 |
+
print(f"Success! Aggregated {len(deduped)} AI Training platforms into {path}")
|
| 117 |
+
|
| 118 |
+
if __name__ == "__main__":
|
| 119 |
+
main()
|
app.py
ADDED
|
@@ -0,0 +1,56 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
from flask import Flask, jsonify
|
| 2 |
+
from flask_cors import CORS
|
| 3 |
+
import threading
|
| 4 |
+
import time
|
| 5 |
+
import subprocess
|
| 6 |
+
import sys
|
| 7 |
+
import os
|
| 8 |
+
import json
|
| 9 |
+
|
| 10 |
+
app = Flask(__name__)
|
| 11 |
+
CORS(app) # Enable CORS so the React frontend can fetch data
|
| 12 |
+
|
| 13 |
+
def run_scrapers_periodically():
|
| 14 |
+
"""Background thread to run scrapers every 60 minutes."""
|
| 15 |
+
while True:
|
| 16 |
+
print(f"\n[{time.strftime('%Y-%m-%d %H:%M:%S')}] Starting scheduled background aggregation...")
|
| 17 |
+
try:
|
| 18 |
+
# Run aggregator.py
|
| 19 |
+
subprocess.run([sys.executable, "aggregator.py"], check=True)
|
| 20 |
+
# Run ai_training_scraper.py
|
| 21 |
+
subprocess.run([sys.executable, "ai_training_scraper.py"], check=True)
|
| 22 |
+
print(f"[{time.strftime('%Y-%m-%d %H:%M:%S')}] Aggregation complete.")
|
| 23 |
+
except Exception as e:
|
| 24 |
+
print(f"[{time.strftime('%Y-%m-%d %H:%M:%S')}] Aggregation error: {e}")
|
| 25 |
+
|
| 26 |
+
# Wait for 60 minutes
|
| 27 |
+
time.sleep(3600)
|
| 28 |
+
|
| 29 |
+
@app.route("/")
|
| 30 |
+
def health_check():
|
| 31 |
+
return jsonify({"status": "running", "platform": "Firstify Engine"})
|
| 32 |
+
|
| 33 |
+
@app.route("/api/startups")
|
| 34 |
+
def get_startups():
|
| 35 |
+
try:
|
| 36 |
+
with open("data.json", "r") as f:
|
| 37 |
+
return jsonify(json.load(f))
|
| 38 |
+
except:
|
| 39 |
+
return jsonify([])
|
| 40 |
+
|
| 41 |
+
@app.route("/api/training")
|
| 42 |
+
def get_training():
|
| 43 |
+
try:
|
| 44 |
+
with open("training_data.json", "r") as f:
|
| 45 |
+
return jsonify(json.load(f))
|
| 46 |
+
except:
|
| 47 |
+
return jsonify([])
|
| 48 |
+
|
| 49 |
+
if __name__ == "__main__":
|
| 50 |
+
# Start the scraping thread
|
| 51 |
+
threading.Thread(target=run_scrapers_periodically, daemon=True).start()
|
| 52 |
+
|
| 53 |
+
# Start the Flask server
|
| 54 |
+
# Hugging Face Spaces use port 7860 by default
|
| 55 |
+
port = int(os.environ.get("PORT", 7860))
|
| 56 |
+
app.run(host="0.0.0.0", port=port)
|
data.json
ADDED
|
@@ -0,0 +1,1210 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
[
|
| 2 |
+
{
|
| 3 |
+
"src": "TechCrunch",
|
| 4 |
+
"company_name": "Self-driving truck startup Einride",
|
| 5 |
+
"slug": "self-driving-truck-startup-einride",
|
| 6 |
+
"date": "Thu, 26 Feb 2026 16:32:31 +0000",
|
| 7 |
+
"link": "https://techcrunch.com/2026/02/26/self-driving-truck-startup-einride-raises-113m-pipe-ahead-of-public-debut/",
|
| 8 |
+
"summary": "The proceeds will support Einride\u2019s technology roadmap, global expansion, and autonomous deployments in North America, Europe, and the Middle East....",
|
| 9 |
+
"type": "News",
|
| 10 |
+
"funding_amount": "$113M",
|
| 11 |
+
"founders": []
|
| 12 |
+
},
|
| 13 |
+
{
|
| 14 |
+
"src": "TechCrunch",
|
| 15 |
+
"company_name": "Parade\u2019s Cami Tellez announces new creator economy marketing platform, $4M in",
|
| 16 |
+
"slug": "parade-s-cami-tellez-announces-new-creator-economy-marketing-platform-4m-in",
|
| 17 |
+
"date": "Mon, 02 Mar 2026 14:00:00 +0000",
|
| 18 |
+
"link": "https://techcrunch.com/2026/03/02/parades-cami-tellez-announces-new-creator-economy-marketing-platform-4m-in-funding/",
|
| 19 |
+
"summary": "Cami Tellez announces launch of new company, $4 million raise....",
|
| 20 |
+
"type": "News",
|
| 21 |
+
"funding_amount": "$4M",
|
| 22 |
+
"founders": []
|
| 23 |
+
},
|
| 24 |
+
{
|
| 25 |
+
"src": "SEC",
|
| 26 |
+
"company_name": "VI-01231 Fund IV, a series of AX-RN-Funds, LP",
|
| 27 |
+
"slug": "vi-01231-fund-iv-a-series-of-ax-rn-funds-lp",
|
| 28 |
+
"date": "2026-03-04T07:08:44-05:00",
|
| 29 |
+
"link": "https://www.sec.gov/Archives/edgar/data/2112063/000211206326000001/0002112063-26-000001-index.htm",
|
| 30 |
+
"id": "Filer",
|
| 31 |
+
"type": "Form D",
|
| 32 |
+
"funding_amount": "$68530",
|
| 33 |
+
"summary": "Industry: Pooled Investment Fund",
|
| 34 |
+
"business_address": "Not Available",
|
| 35 |
+
"mailing_address": "Not Available",
|
| 36 |
+
"founders": [
|
| 37 |
+
{
|
| 38 |
+
"name": "N/A Fund GP, LLC",
|
| 39 |
+
"title": "Executive",
|
| 40 |
+
"email": "n/afundgp,llc@vi-01231.com",
|
| 41 |
+
"x_account": "https://x.com/n/afundgp,llc"
|
| 42 |
+
},
|
| 43 |
+
{
|
| 44 |
+
"name": "N/A Belltower Fund Group, Ltd.",
|
| 45 |
+
"title": "Executive",
|
| 46 |
+
"email": "n/abelltowerfundgroup,ltd.@vi-01231.com",
|
| 47 |
+
"x_account": "https://x.com/n/abelltowerfundgroup,ltd."
|
| 48 |
+
}
|
| 49 |
+
]
|
| 50 |
+
},
|
| 51 |
+
{
|
| 52 |
+
"src": "SEC",
|
| 53 |
+
"company_name": "NI-0115 Fund I, a series of Hustle Fund Angel Squad, LP",
|
| 54 |
+
"slug": "ni-0115-fund-i-a-series-of-hustle-fund-angel-squad-lp",
|
| 55 |
+
"date": "2026-03-04T07:06:29-05:00",
|
| 56 |
+
"link": "https://www.sec.gov/Archives/edgar/data/2108022/000210802226000001/0002108022-26-000001-index.htm",
|
| 57 |
+
"id": "Filer",
|
| 58 |
+
"type": "Form D",
|
| 59 |
+
"funding_amount": "$107154",
|
| 60 |
+
"summary": "Industry: Pooled Investment Fund",
|
| 61 |
+
"business_address": "Not Available",
|
| 62 |
+
"mailing_address": "Not Available",
|
| 63 |
+
"founders": [
|
| 64 |
+
{
|
| 65 |
+
"name": "N/A Fund GP, LLC",
|
| 66 |
+
"title": "Executive",
|
| 67 |
+
"email": "n/afundgp,llc@ni-0115.com",
|
| 68 |
+
"x_account": "https://x.com/n/afundgp,llc"
|
| 69 |
+
},
|
| 70 |
+
{
|
| 71 |
+
"name": "N/A Belltower Fund Group, Ltd.",
|
| 72 |
+
"title": "Executive",
|
| 73 |
+
"email": "n/abelltowerfundgroup,ltd.@ni-0115.com",
|
| 74 |
+
"x_account": "https://x.com/n/abelltowerfundgroup,ltd."
|
| 75 |
+
}
|
| 76 |
+
]
|
| 77 |
+
},
|
| 78 |
+
{
|
| 79 |
+
"src": "SEC",
|
| 80 |
+
"company_name": "TO-0112 Fund II, a series of MV Funds, LP",
|
| 81 |
+
"slug": "to-0112-fund-ii-a-series-of-mv-funds-lp",
|
| 82 |
+
"date": "2026-03-04T07:05:31-05:00",
|
| 83 |
+
"link": "https://www.sec.gov/Archives/edgar/data/2108153/000210815326000001/0002108153-26-000001-index.htm",
|
| 84 |
+
"id": "Filer",
|
| 85 |
+
"type": "Form D",
|
| 86 |
+
"funding_amount": "$110000",
|
| 87 |
+
"summary": "Industry: Pooled Investment Fund",
|
| 88 |
+
"business_address": "Not Available",
|
| 89 |
+
"mailing_address": "Not Available",
|
| 90 |
+
"founders": [
|
| 91 |
+
{
|
| 92 |
+
"name": "N/A Fund GP, LLC",
|
| 93 |
+
"title": "Executive",
|
| 94 |
+
"email": "n/afundgp,llc@to-0112.com",
|
| 95 |
+
"x_account": "https://x.com/n/afundgp,llc"
|
| 96 |
+
},
|
| 97 |
+
{
|
| 98 |
+
"name": "N/A Belltower Fund Group, Ltd.",
|
| 99 |
+
"title": "Executive",
|
| 100 |
+
"email": "n/abelltowerfundgroup,ltd.@to-0112.com",
|
| 101 |
+
"x_account": "https://x.com/n/abelltowerfundgroup,ltd."
|
| 102 |
+
}
|
| 103 |
+
]
|
| 104 |
+
},
|
| 105 |
+
{
|
| 106 |
+
"src": "SEC",
|
| 107 |
+
"company_name": "AN-1105 Fund I, a series of Climate Collective, LP",
|
| 108 |
+
"slug": "an-1105-fund-i-a-series-of-climate-collective-lp",
|
| 109 |
+
"date": "2026-03-04T07:05:02-05:00",
|
| 110 |
+
"link": "https://www.sec.gov/Archives/edgar/data/2096721/000209672126000002/0002096721-26-000002-index.htm",
|
| 111 |
+
"id": "Filer",
|
| 112 |
+
"type": "Form D",
|
| 113 |
+
"funding_amount": "$35350",
|
| 114 |
+
"summary": "Industry: Pooled Investment Fund",
|
| 115 |
+
"business_address": "Not Available",
|
| 116 |
+
"mailing_address": "Not Available",
|
| 117 |
+
"founders": [
|
| 118 |
+
{
|
| 119 |
+
"name": "N/A Fund GP, LLC",
|
| 120 |
+
"title": "Executive",
|
| 121 |
+
"email": "n/afundgp,llc@an-1105.com",
|
| 122 |
+
"x_account": "https://x.com/n/afundgp,llc"
|
| 123 |
+
},
|
| 124 |
+
{
|
| 125 |
+
"name": "N/A Belltower Fund Group, Ltd.",
|
| 126 |
+
"title": "Executive",
|
| 127 |
+
"email": "n/abelltowerfundgroup,ltd.@an-1105.com",
|
| 128 |
+
"x_account": "https://x.com/n/abelltowerfundgroup,ltd."
|
| 129 |
+
}
|
| 130 |
+
]
|
| 131 |
+
},
|
| 132 |
+
{
|
| 133 |
+
"src": "SEC",
|
| 134 |
+
"company_name": "FULLER H B CO",
|
| 135 |
+
"slug": "fuller-h-b-co",
|
| 136 |
+
"date": "2026-03-04T07:03:19-05:00",
|
| 137 |
+
"link": "https://www.sec.gov/Archives/edgar/data/39368/000143774926006813/0001437749-26-006813-index.htm",
|
| 138 |
+
"id": "Filer",
|
| 139 |
+
"type": "Form D",
|
| 140 |
+
"funding_amount": "Unknown",
|
| 141 |
+
"founders": []
|
| 142 |
+
},
|
| 143 |
+
{
|
| 144 |
+
"src": "SEC",
|
| 145 |
+
"company_name": "Clayton Street Trust",
|
| 146 |
+
"slug": "clayton-street-trust",
|
| 147 |
+
"date": "2026-03-04T06:17:49-05:00",
|
| 148 |
+
"link": "https://www.sec.gov/Archives/edgar/data/1660765/000119312526089800/0001193125-26-089800-index.htm",
|
| 149 |
+
"id": "Filer",
|
| 150 |
+
"type": "Form D",
|
| 151 |
+
"funding_amount": "Unknown",
|
| 152 |
+
"founders": []
|
| 153 |
+
},
|
| 154 |
+
{
|
| 155 |
+
"src": "SEC",
|
| 156 |
+
"company_name": "JANUS ASPEN SERIES",
|
| 157 |
+
"slug": "janus-aspen-series",
|
| 158 |
+
"date": "2026-03-04T06:16:44-05:00",
|
| 159 |
+
"link": "https://www.sec.gov/Archives/edgar/data/906185/000119312526089798/0001193125-26-089798-index.htm",
|
| 160 |
+
"id": "Filer",
|
| 161 |
+
"type": "Form D",
|
| 162 |
+
"funding_amount": "Unknown",
|
| 163 |
+
"founders": []
|
| 164 |
+
},
|
| 165 |
+
{
|
| 166 |
+
"src": "SEC",
|
| 167 |
+
"company_name": "Janus Detroit Street Trust",
|
| 168 |
+
"slug": "janus-detroit-street-trust",
|
| 169 |
+
"date": "2026-03-04T06:16:09-05:00",
|
| 170 |
+
"link": "https://www.sec.gov/Archives/edgar/data/1500604/000119312526089794/0001193125-26-089794-index.htm",
|
| 171 |
+
"id": "Filer",
|
| 172 |
+
"type": "Form D",
|
| 173 |
+
"funding_amount": "Unknown",
|
| 174 |
+
"founders": []
|
| 175 |
+
},
|
| 176 |
+
{
|
| 177 |
+
"src": "SEC",
|
| 178 |
+
"company_name": "JANUS INVESTMENT FUND",
|
| 179 |
+
"slug": "janus-investment-fund",
|
| 180 |
+
"date": "2026-03-04T06:15:16-05:00",
|
| 181 |
+
"link": "https://www.sec.gov/Archives/edgar/data/277751/000119312526089792/0001193125-26-089792-index.htm",
|
| 182 |
+
"id": "Filer",
|
| 183 |
+
"type": "Form D",
|
| 184 |
+
"funding_amount": "Unknown",
|
| 185 |
+
"founders": []
|
| 186 |
+
},
|
| 187 |
+
{
|
| 188 |
+
"src": "SEC",
|
| 189 |
+
"company_name": "TN Flats INVEST LLC",
|
| 190 |
+
"slug": "tn-flats-invest-llc",
|
| 191 |
+
"date": "2026-03-04T06:10:17-05:00",
|
| 192 |
+
"link": "https://www.sec.gov/Archives/edgar/data/2115225/000211522526000001/0002115225-26-000001-index.htm",
|
| 193 |
+
"id": "Filer",
|
| 194 |
+
"type": "Form D",
|
| 195 |
+
"funding_amount": "$6500000",
|
| 196 |
+
"summary": "Industry: Residential",
|
| 197 |
+
"business_address": "Not Available",
|
| 198 |
+
"mailing_address": "Not Available",
|
| 199 |
+
"founders": [
|
| 200 |
+
{
|
| 201 |
+
"name": "Sean Thompson",
|
| 202 |
+
"title": "Executive",
|
| 203 |
+
"email": "seanthompson@tn.com",
|
| 204 |
+
"x_account": "https://x.com/seanthompson"
|
| 205 |
+
},
|
| 206 |
+
{
|
| 207 |
+
"name": "Melissa Hawkins",
|
| 208 |
+
"title": "Executive",
|
| 209 |
+
"email": "melissahawkins@tn.com",
|
| 210 |
+
"x_account": "https://x.com/melissahawkins"
|
| 211 |
+
},
|
| 212 |
+
{
|
| 213 |
+
"name": "JP Valdes",
|
| 214 |
+
"title": "Executive",
|
| 215 |
+
"email": "jpvaldes@tn.com",
|
| 216 |
+
"x_account": "https://x.com/jpvaldes"
|
| 217 |
+
}
|
| 218 |
+
]
|
| 219 |
+
},
|
| 220 |
+
{
|
| 221 |
+
"src": "SEC",
|
| 222 |
+
"company_name": "Bitcoin Treasuries Media Inc.",
|
| 223 |
+
"slug": "bitcoin-treasuries-media-inc",
|
| 224 |
+
"date": "2026-03-03T20:49:41-05:00",
|
| 225 |
+
"link": "https://www.sec.gov/Archives/edgar/data/2107132/000210713226000001/0002107132-26-000001-index.htm",
|
| 226 |
+
"id": "Filer",
|
| 227 |
+
"type": "Form D",
|
| 228 |
+
"funding_amount": "$80",
|
| 229 |
+
"summary": "Industry: Other",
|
| 230 |
+
"business_address": "Not Available",
|
| 231 |
+
"mailing_address": "Not Available",
|
| 232 |
+
"founders": [
|
| 233 |
+
{
|
| 234 |
+
"name": "Timothy Kotzman",
|
| 235 |
+
"title": "Executive",
|
| 236 |
+
"email": "timothykotzman@bitcoin.com",
|
| 237 |
+
"x_account": "https://x.com/timothykotzman"
|
| 238 |
+
},
|
| 239 |
+
{
|
| 240 |
+
"name": "Edward Juline",
|
| 241 |
+
"title": "Executive",
|
| 242 |
+
"email": "edwardjuline@bitcoin.com",
|
| 243 |
+
"x_account": "https://x.com/edwardjuline"
|
| 244 |
+
}
|
| 245 |
+
]
|
| 246 |
+
},
|
| 247 |
+
{
|
| 248 |
+
"src": "SEC",
|
| 249 |
+
"company_name": "Eastport Dock Prospect Partners",
|
| 250 |
+
"slug": "eastport-dock-prospect-partners",
|
| 251 |
+
"date": "2026-03-03T20:36:12-05:00",
|
| 252 |
+
"link": "https://www.sec.gov/Archives/edgar/data/2108379/000210837926000003/0002108379-26-000003-index.htm",
|
| 253 |
+
"id": "Filer",
|
| 254 |
+
"type": "Form D",
|
| 255 |
+
"funding_amount": "$1356000",
|
| 256 |
+
"summary": "Industry: Oil and Gas",
|
| 257 |
+
"business_address": "Not Available",
|
| 258 |
+
"mailing_address": "Not Available",
|
| 259 |
+
"founders": [
|
| 260 |
+
{
|
| 261 |
+
"name": "Garner Murrell",
|
| 262 |
+
"title": "Executive",
|
| 263 |
+
"email": "garnermurrell@eastport.com",
|
| 264 |
+
"x_account": "https://x.com/garnermurrell"
|
| 265 |
+
},
|
| 266 |
+
{
|
| 267 |
+
"name": "Ronald Filer",
|
| 268 |
+
"title": "Executive",
|
| 269 |
+
"email": "ronaldfiler@eastport.com",
|
| 270 |
+
"x_account": "https://x.com/ronaldfiler"
|
| 271 |
+
},
|
| 272 |
+
{
|
| 273 |
+
"name": "William Harper",
|
| 274 |
+
"title": "Executive",
|
| 275 |
+
"email": "williamharper@eastport.com",
|
| 276 |
+
"x_account": "https://x.com/williamharper"
|
| 277 |
+
},
|
| 278 |
+
{
|
| 279 |
+
"name": "Jeff Crawford",
|
| 280 |
+
"title": "Executive",
|
| 281 |
+
"email": "jeffcrawford@eastport.com",
|
| 282 |
+
"x_account": "https://x.com/jeffcrawford"
|
| 283 |
+
}
|
| 284 |
+
]
|
| 285 |
+
},
|
| 286 |
+
{
|
| 287 |
+
"src": "SEC",
|
| 288 |
+
"company_name": "AVANTI RESIDENTIAL",
|
| 289 |
+
"slug": "avanti-residential",
|
| 290 |
+
"date": "2026-03-03T20:21:11-05:00",
|
| 291 |
+
"link": "https://www.sec.gov/Archives/edgar/data/2106732/000210673226000001/0002106732-26-000001-index.htm",
|
| 292 |
+
"id": "Filer",
|
| 293 |
+
"type": "Form D",
|
| 294 |
+
"funding_amount": "$7860980",
|
| 295 |
+
"summary": "Industry: Pooled Investment Fund",
|
| 296 |
+
"business_address": "Not Available",
|
| 297 |
+
"mailing_address": "Not Available",
|
| 298 |
+
"founders": [
|
| 299 |
+
{
|
| 300 |
+
"name": "Douglas Andrews",
|
| 301 |
+
"title": "Executive",
|
| 302 |
+
"email": "douglasandrews@avanti.com",
|
| 303 |
+
"x_account": "https://x.com/douglasandrews"
|
| 304 |
+
}
|
| 305 |
+
]
|
| 306 |
+
},
|
| 307 |
+
{
|
| 308 |
+
"src": "SEC",
|
| 309 |
+
"company_name": "Passco Prism DST",
|
| 310 |
+
"slug": "passco-prism-dst",
|
| 311 |
+
"date": "2026-03-03T20:12:56-05:00",
|
| 312 |
+
"link": "https://www.sec.gov/Archives/edgar/data/2074515/000207451526000001/0002074515-26-000001-index.htm",
|
| 313 |
+
"id": "Filer",
|
| 314 |
+
"type": "Form D",
|
| 315 |
+
"funding_amount": "$59000000",
|
| 316 |
+
"summary": "Industry: Residential",
|
| 317 |
+
"business_address": "Not Available",
|
| 318 |
+
"mailing_address": "Not Available",
|
| 319 |
+
"founders": [
|
| 320 |
+
{
|
| 321 |
+
"name": "Larry Sullivan",
|
| 322 |
+
"title": "Executive",
|
| 323 |
+
"email": "larrysullivan@passco.com",
|
| 324 |
+
"x_account": "https://x.com/larrysullivan"
|
| 325 |
+
},
|
| 326 |
+
{
|
| 327 |
+
"name": "William Passo",
|
| 328 |
+
"title": "Executive",
|
| 329 |
+
"email": "williampasso@passco.com",
|
| 330 |
+
"x_account": "https://x.com/williampasso"
|
| 331 |
+
},
|
| 332 |
+
{
|
| 333 |
+
"name": "Belden Brown",
|
| 334 |
+
"title": "Executive",
|
| 335 |
+
"email": "beldenbrown@passco.com",
|
| 336 |
+
"x_account": "https://x.com/beldenbrown"
|
| 337 |
+
},
|
| 338 |
+
{
|
| 339 |
+
"name": "Thomas Jahncke",
|
| 340 |
+
"title": "Executive",
|
| 341 |
+
"email": "thomasjahncke@passco.com",
|
| 342 |
+
"x_account": "https://x.com/thomasjahncke"
|
| 343 |
+
},
|
| 344 |
+
{
|
| 345 |
+
"name": "[none] Passco Companies, LLC",
|
| 346 |
+
"title": "Executive",
|
| 347 |
+
"email": "[none]passcocompanies,llc@passco.com",
|
| 348 |
+
"x_account": "https://x.com/[none]passcocompanies,llc"
|
| 349 |
+
},
|
| 350 |
+
{
|
| 351 |
+
"name": "[none] Passco Prism Depositor, LLC",
|
| 352 |
+
"title": "Executive",
|
| 353 |
+
"email": "[none]passcoprismdepositor,llc@passco.com",
|
| 354 |
+
"x_account": "https://x.com/[none]passcoprismdepositor,llc"
|
| 355 |
+
},
|
| 356 |
+
{
|
| 357 |
+
"name": "[none] Passco Prism Manager, LLC",
|
| 358 |
+
"title": "Executive",
|
| 359 |
+
"email": "[none]passcoprismmanager,llc@passco.com",
|
| 360 |
+
"x_account": "https://x.com/[none]passcoprismmanager,llc"
|
| 361 |
+
}
|
| 362 |
+
]
|
| 363 |
+
},
|
| 364 |
+
{
|
| 365 |
+
"src": "SEC",
|
| 366 |
+
"company_name": "Northcenter Ventures LLC",
|
| 367 |
+
"slug": "northcenter-ventures-llc",
|
| 368 |
+
"date": "2026-03-03T20:07:08-05:00",
|
| 369 |
+
"link": "https://www.sec.gov/Archives/edgar/data/2114592/000211459226000001/0002114592-26-000001-index.htm",
|
| 370 |
+
"id": "Filer",
|
| 371 |
+
"type": "Form D",
|
| 372 |
+
"funding_amount": "$1500000",
|
| 373 |
+
"summary": "Industry: Other Technology",
|
| 374 |
+
"business_address": "Not Available",
|
| 375 |
+
"mailing_address": "Not Available",
|
| 376 |
+
"founders": [
|
| 377 |
+
{
|
| 378 |
+
"name": "Brian Portnoy",
|
| 379 |
+
"title": "Executive",
|
| 380 |
+
"email": "brianportnoy@northcenter.com",
|
| 381 |
+
"x_account": "https://x.com/brianportnoy"
|
| 382 |
+
}
|
| 383 |
+
]
|
| 384 |
+
},
|
| 385 |
+
{
|
| 386 |
+
"src": "SEC",
|
| 387 |
+
"company_name": "Riscoin Exchange Ltd",
|
| 388 |
+
"slug": "riscoin-exchange-ltd",
|
| 389 |
+
"date": "2026-03-03T20:06:36-05:00",
|
| 390 |
+
"link": "https://www.sec.gov/Archives/edgar/data/2113402/000211340226000002/0002113402-26-000002-index.htm",
|
| 391 |
+
"id": "Filer",
|
| 392 |
+
"type": "Form D",
|
| 393 |
+
"funding_amount": "$100000000",
|
| 394 |
+
"summary": "Industry: Investing",
|
| 395 |
+
"business_address": "Not Available",
|
| 396 |
+
"mailing_address": "Not Available",
|
| 397 |
+
"founders": [
|
| 398 |
+
{
|
| 399 |
+
"name": "ANDREW LOPATA",
|
| 400 |
+
"title": "Executive",
|
| 401 |
+
"email": "andrewlopata@riscoin.com",
|
| 402 |
+
"x_account": "https://x.com/andrewlopata"
|
| 403 |
+
},
|
| 404 |
+
{
|
| 405 |
+
"name": "ANDREW LOPATA",
|
| 406 |
+
"title": "Executive",
|
| 407 |
+
"email": "andrewlopata@riscoin.com",
|
| 408 |
+
"x_account": "https://x.com/andrewlopata"
|
| 409 |
+
},
|
| 410 |
+
{
|
| 411 |
+
"name": "ANDREW LOPATA",
|
| 412 |
+
"title": "Executive",
|
| 413 |
+
"email": "andrewlopata@riscoin.com",
|
| 414 |
+
"x_account": "https://x.com/andrewlopata"
|
| 415 |
+
}
|
| 416 |
+
]
|
| 417 |
+
},
|
| 418 |
+
{
|
| 419 |
+
"src": "SEC",
|
| 420 |
+
"company_name": "Tribe Capital Firstlook WOR-01, L.P.",
|
| 421 |
+
"slug": "tribe-capital-firstlook-wor-01-l-p",
|
| 422 |
+
"date": "2026-03-03T19:48:55-05:00",
|
| 423 |
+
"link": "https://www.sec.gov/Archives/edgar/data/2115563/000211556326000001/0002115563-26-000001-index.htm",
|
| 424 |
+
"id": "Filer",
|
| 425 |
+
"type": "Form D",
|
| 426 |
+
"funding_amount": "$11999859",
|
| 427 |
+
"summary": "Industry: Pooled Investment Fund",
|
| 428 |
+
"business_address": "Not Available",
|
| 429 |
+
"mailing_address": "Not Available",
|
| 430 |
+
"founders": [
|
| 431 |
+
{
|
| 432 |
+
"name": "Theodore Maidenberg",
|
| 433 |
+
"title": "Executive",
|
| 434 |
+
"email": "theodoremaidenberg@tribe.com",
|
| 435 |
+
"x_account": "https://x.com/theodoremaidenberg"
|
| 436 |
+
},
|
| 437 |
+
{
|
| 438 |
+
"name": "Arjun Sethi",
|
| 439 |
+
"title": "Executive",
|
| 440 |
+
"email": "arjunsethi@tribe.com",
|
| 441 |
+
"x_account": "https://x.com/arjunsethi"
|
| 442 |
+
},
|
| 443 |
+
{
|
| 444 |
+
"name": "Jonathan Hsu",
|
| 445 |
+
"title": "Executive",
|
| 446 |
+
"email": "jonathanhsu@tribe.com",
|
| 447 |
+
"x_account": "https://x.com/jonathanhsu"
|
| 448 |
+
},
|
| 449 |
+
{
|
| 450 |
+
"name": "Boris Revsin",
|
| 451 |
+
"title": "Executive",
|
| 452 |
+
"email": "borisrevsin@tribe.com",
|
| 453 |
+
"x_account": "https://x.com/borisrevsin"
|
| 454 |
+
},
|
| 455 |
+
{
|
| 456 |
+
"name": "Brendan Moore",
|
| 457 |
+
"title": "Executive",
|
| 458 |
+
"email": "brendanmoore@tribe.com",
|
| 459 |
+
"x_account": "https://x.com/brendanmoore"
|
| 460 |
+
}
|
| 461 |
+
]
|
| 462 |
+
},
|
| 463 |
+
{
|
| 464 |
+
"src": "SEC",
|
| 465 |
+
"company_name": "DPV TAI I, a Series of DataPower Ventures LLC",
|
| 466 |
+
"slug": "dpv-tai-i-a-series-of-datapower-ventures-llc",
|
| 467 |
+
"date": "2026-03-03T19:46:20-05:00",
|
| 468 |
+
"link": "https://www.sec.gov/Archives/edgar/data/2113778/000211377826000001/0002113778-26-000001-index.htm",
|
| 469 |
+
"id": "Filer",
|
| 470 |
+
"type": "Form D",
|
| 471 |
+
"funding_amount": "Indefinite",
|
| 472 |
+
"summary": "Industry: Pooled Investment Fund",
|
| 473 |
+
"business_address": "Not Available",
|
| 474 |
+
"mailing_address": "Not Available",
|
| 475 |
+
"founders": [
|
| 476 |
+
{
|
| 477 |
+
"name": "Corporation Alternative Financial",
|
| 478 |
+
"title": "Executive",
|
| 479 |
+
"email": "corporationalternativefinancial@dpv.com",
|
| 480 |
+
"x_account": "https://x.com/corporationalternativefinancial"
|
| 481 |
+
},
|
| 482 |
+
{
|
| 483 |
+
"name": "Bryan Casey",
|
| 484 |
+
"title": "Executive",
|
| 485 |
+
"email": "bryancasey@dpv.com",
|
| 486 |
+
"x_account": "https://x.com/bryancasey"
|
| 487 |
+
}
|
| 488 |
+
]
|
| 489 |
+
},
|
| 490 |
+
{
|
| 491 |
+
"src": "SEC",
|
| 492 |
+
"company_name": "Sensible Care Inc.",
|
| 493 |
+
"slug": "sensible-care-inc",
|
| 494 |
+
"date": "2026-03-03T19:45:49-05:00",
|
| 495 |
+
"link": "https://www.sec.gov/Archives/edgar/data/1938589/000193858926000001/0001938589-26-000001-index.htm",
|
| 496 |
+
"id": "Filer",
|
| 497 |
+
"type": "Form D",
|
| 498 |
+
"funding_amount": "$2334609",
|
| 499 |
+
"summary": "Industry: Other Health Care",
|
| 500 |
+
"business_address": "Not Available",
|
| 501 |
+
"mailing_address": "Not Available",
|
| 502 |
+
"founders": [
|
| 503 |
+
{
|
| 504 |
+
"name": "Paul Kim",
|
| 505 |
+
"title": "Executive",
|
| 506 |
+
"email": "paulkim@sensible.com",
|
| 507 |
+
"x_account": "https://x.com/paulkim"
|
| 508 |
+
},
|
| 509 |
+
{
|
| 510 |
+
"name": "Jeremy May",
|
| 511 |
+
"title": "Executive",
|
| 512 |
+
"email": "jeremymay@sensible.com",
|
| 513 |
+
"x_account": "https://x.com/jeremymay"
|
| 514 |
+
},
|
| 515 |
+
{
|
| 516 |
+
"name": "Paul Chung, M.D.",
|
| 517 |
+
"title": "Executive",
|
| 518 |
+
"email": "paulchung,m.d.@sensible.com",
|
| 519 |
+
"x_account": "https://x.com/paulchung,m.d."
|
| 520 |
+
},
|
| 521 |
+
{
|
| 522 |
+
"name": "Larry Cheng",
|
| 523 |
+
"title": "Executive",
|
| 524 |
+
"email": "larrycheng@sensible.com",
|
| 525 |
+
"x_account": "https://x.com/larrycheng"
|
| 526 |
+
},
|
| 527 |
+
{
|
| 528 |
+
"name": "Ramsin Yacoob",
|
| 529 |
+
"title": "Executive",
|
| 530 |
+
"email": "ramsinyacoob@sensible.com",
|
| 531 |
+
"x_account": "https://x.com/ramsinyacoob"
|
| 532 |
+
}
|
| 533 |
+
]
|
| 534 |
+
},
|
| 535 |
+
{
|
| 536 |
+
"src": "SEC",
|
| 537 |
+
"company_name": "Khau Galli LLC",
|
| 538 |
+
"slug": "khau-galli-llc",
|
| 539 |
+
"date": "2026-03-03T19:22:15-05:00",
|
| 540 |
+
"link": "https://www.sec.gov/Archives/edgar/data/2115446/000211544626000001/0002115446-26-000001-index.htm",
|
| 541 |
+
"id": "Filer",
|
| 542 |
+
"type": "Form D",
|
| 543 |
+
"funding_amount": "$100000",
|
| 544 |
+
"summary": "Industry: Restaurants",
|
| 545 |
+
"business_address": "Not Available",
|
| 546 |
+
"mailing_address": "Not Available",
|
| 547 |
+
"founders": [
|
| 548 |
+
{
|
| 549 |
+
"name": "Abhishek Benke",
|
| 550 |
+
"title": "Executive",
|
| 551 |
+
"email": "abhishekbenke@khau.com",
|
| 552 |
+
"x_account": "https://x.com/abhishekbenke"
|
| 553 |
+
}
|
| 554 |
+
]
|
| 555 |
+
},
|
| 556 |
+
{
|
| 557 |
+
"src": "SEC",
|
| 558 |
+
"company_name": "SunsetSS Kudo 1 LLC",
|
| 559 |
+
"slug": "sunsetss-kudo-1-llc",
|
| 560 |
+
"date": "2026-03-03T19:20:02-05:00",
|
| 561 |
+
"link": "https://www.sec.gov/Archives/edgar/data/2115266/000211526626000001/0002115266-26-000001-index.htm",
|
| 562 |
+
"id": "Filer",
|
| 563 |
+
"type": "Form D",
|
| 564 |
+
"funding_amount": "$1000000",
|
| 565 |
+
"summary": "Industry: Commercial",
|
| 566 |
+
"business_address": "Not Available",
|
| 567 |
+
"mailing_address": "Not Available",
|
| 568 |
+
"founders": [
|
| 569 |
+
{
|
| 570 |
+
"name": "Sandhya Seshadri",
|
| 571 |
+
"title": "Executive",
|
| 572 |
+
"email": "sandhyaseshadri@sunsetss.com",
|
| 573 |
+
"x_account": "https://x.com/sandhyaseshadri"
|
| 574 |
+
}
|
| 575 |
+
]
|
| 576 |
+
},
|
| 577 |
+
{
|
| 578 |
+
"src": "SEC",
|
| 579 |
+
"company_name": "Munson Crowd Group LLC",
|
| 580 |
+
"slug": "munson-crowd-group-llc",
|
| 581 |
+
"date": "2026-03-03T19:04:53-05:00",
|
| 582 |
+
"link": "https://www.sec.gov/Archives/edgar/data/2109751/000210975126000003/0002109751-26-000003-index.htm",
|
| 583 |
+
"id": "Filer",
|
| 584 |
+
"type": "Form D",
|
| 585 |
+
"funding_amount": "$3133500",
|
| 586 |
+
"summary": "Industry: Restaurants",
|
| 587 |
+
"business_address": "Not Available",
|
| 588 |
+
"mailing_address": "Not Available",
|
| 589 |
+
"founders": [
|
| 590 |
+
{
|
| 591 |
+
"name": "Jack Litman",
|
| 592 |
+
"title": "Executive",
|
| 593 |
+
"email": "jacklitman@munson.com",
|
| 594 |
+
"x_account": "https://x.com/jacklitman"
|
| 595 |
+
}
|
| 596 |
+
]
|
| 597 |
+
},
|
| 598 |
+
{
|
| 599 |
+
"src": "SEC",
|
| 600 |
+
"company_name": "Callodine Specialty Income Fund",
|
| 601 |
+
"slug": "callodine-specialty-income-fund",
|
| 602 |
+
"date": "2026-03-03T19:04:29-05:00",
|
| 603 |
+
"link": "https://www.sec.gov/Archives/edgar/data/2029168/000121390026023269/0001213900-26-023269-index.htm",
|
| 604 |
+
"id": "Filer",
|
| 605 |
+
"type": "Form D",
|
| 606 |
+
"funding_amount": "Unknown",
|
| 607 |
+
"founders": []
|
| 608 |
+
},
|
| 609 |
+
{
|
| 610 |
+
"src": "SEC",
|
| 611 |
+
"company_name": "Exiondu Ltd.",
|
| 612 |
+
"slug": "exiondu-ltd",
|
| 613 |
+
"date": "2026-03-03T19:04:08-05:00",
|
| 614 |
+
"link": "https://www.sec.gov/Archives/edgar/data/2107505/000210750526000004/0002107505-26-000004-index.htm",
|
| 615 |
+
"id": "Filer",
|
| 616 |
+
"type": "Form D",
|
| 617 |
+
"funding_amount": "Indefinite",
|
| 618 |
+
"summary": "Industry: Investing",
|
| 619 |
+
"business_address": "Not Available",
|
| 620 |
+
"mailing_address": "Not Available",
|
| 621 |
+
"founders": [
|
| 622 |
+
{
|
| 623 |
+
"name": "CHRISTIAN JAMES ORAM",
|
| 624 |
+
"title": "Executive",
|
| 625 |
+
"email": "christianjamesoram@exiondu.com",
|
| 626 |
+
"x_account": "https://x.com/christianjamesoram"
|
| 627 |
+
}
|
| 628 |
+
]
|
| 629 |
+
},
|
| 630 |
+
{
|
| 631 |
+
"src": "SEC",
|
| 632 |
+
"company_name": "Simwon America Corp.",
|
| 633 |
+
"slug": "simwon-america-corp",
|
| 634 |
+
"date": "2026-03-03T18:51:07-05:00",
|
| 635 |
+
"link": "https://www.sec.gov/Archives/edgar/data/1698506/000169850626000002/0001698506-26-000002-index.htm",
|
| 636 |
+
"id": "Filer",
|
| 637 |
+
"type": "Form D",
|
| 638 |
+
"funding_amount": "$9000000",
|
| 639 |
+
"summary": "Industry: Manufacturing",
|
| 640 |
+
"business_address": "Not Available",
|
| 641 |
+
"mailing_address": "Not Available",
|
| 642 |
+
"founders": [
|
| 643 |
+
{
|
| 644 |
+
"name": "Youngseok Park",
|
| 645 |
+
"title": "Executive",
|
| 646 |
+
"email": "youngseokpark@simwon.com",
|
| 647 |
+
"x_account": "https://x.com/youngseokpark"
|
| 648 |
+
},
|
| 649 |
+
{
|
| 650 |
+
"name": "Tae Kyu Lee",
|
| 651 |
+
"title": "Executive",
|
| 652 |
+
"email": "taekyulee@simwon.com",
|
| 653 |
+
"x_account": "https://x.com/taekyulee"
|
| 654 |
+
},
|
| 655 |
+
{
|
| 656 |
+
"name": "Kang Sup Lee",
|
| 657 |
+
"title": "Executive",
|
| 658 |
+
"email": "kangsuplee@simwon.com",
|
| 659 |
+
"x_account": "https://x.com/kangsuplee"
|
| 660 |
+
}
|
| 661 |
+
]
|
| 662 |
+
},
|
| 663 |
+
{
|
| 664 |
+
"src": "SEC",
|
| 665 |
+
"company_name": "Veraskope, INC.",
|
| 666 |
+
"slug": "veraskope-inc",
|
| 667 |
+
"date": "2026-03-03T18:44:22-05:00",
|
| 668 |
+
"link": "https://www.sec.gov/Archives/edgar/data/2108251/000210825126000001/0002108251-26-000001-index.htm",
|
| 669 |
+
"id": "Filer",
|
| 670 |
+
"type": "Form D",
|
| 671 |
+
"funding_amount": "$450000",
|
| 672 |
+
"summary": "Industry: Other Technology",
|
| 673 |
+
"business_address": "Not Available",
|
| 674 |
+
"mailing_address": "Not Available",
|
| 675 |
+
"founders": [
|
| 676 |
+
{
|
| 677 |
+
"name": "ROBERT DUDLEY",
|
| 678 |
+
"title": "Executive",
|
| 679 |
+
"email": "robertdudley@veraskope,.com",
|
| 680 |
+
"x_account": "https://x.com/robertdudley"
|
| 681 |
+
}
|
| 682 |
+
]
|
| 683 |
+
},
|
| 684 |
+
{
|
| 685 |
+
"src": "SEC",
|
| 686 |
+
"company_name": "Pelican Acquisition Corp",
|
| 687 |
+
"slug": "pelican-acquisition-corp",
|
| 688 |
+
"date": "2026-03-03T18:40:53-05:00",
|
| 689 |
+
"link": "https://www.sec.gov/Archives/edgar/data/2037431/000182912626001895/0001829126-26-001895-index.htm",
|
| 690 |
+
"id": "Filer",
|
| 691 |
+
"type": "Form D",
|
| 692 |
+
"funding_amount": "Unknown",
|
| 693 |
+
"founders": []
|
| 694 |
+
},
|
| 695 |
+
{
|
| 696 |
+
"src": "SEC",
|
| 697 |
+
"company_name": "ACR Opportunity, L.P.",
|
| 698 |
+
"slug": "acr-opportunity-l-p",
|
| 699 |
+
"date": "2026-03-03T18:16:57-05:00",
|
| 700 |
+
"link": "https://www.sec.gov/Archives/edgar/data/1518031/000108514626000258/0001085146-26-000258-index.htm",
|
| 701 |
+
"id": "Filer",
|
| 702 |
+
"type": "Form D",
|
| 703 |
+
"funding_amount": "Indefinite",
|
| 704 |
+
"summary": "Industry: Pooled Investment Fund",
|
| 705 |
+
"business_address": "Not Available",
|
| 706 |
+
"mailing_address": "Not Available",
|
| 707 |
+
"founders": [
|
| 708 |
+
{
|
| 709 |
+
"name": "Nicholas Tompras",
|
| 710 |
+
"title": "Executive",
|
| 711 |
+
"email": "nicholastompras@acr.com",
|
| 712 |
+
"x_account": "https://x.com/nicholastompras"
|
| 713 |
+
},
|
| 714 |
+
{
|
| 715 |
+
"name": "- Alpine Partners Management LLC",
|
| 716 |
+
"title": "Executive",
|
| 717 |
+
"email": "-alpinepartnersmanagementllc@acr.com",
|
| 718 |
+
"x_account": "https://x.com/-alpinepartnersmanagementllc"
|
| 719 |
+
},
|
| 720 |
+
{
|
| 721 |
+
"name": "- ACR Alpine Capital Research LLC",
|
| 722 |
+
"title": "Executive",
|
| 723 |
+
"email": "-acralpinecapitalresearchllc@acr.com",
|
| 724 |
+
"x_account": "https://x.com/-acralpinecapitalresearchllc"
|
| 725 |
+
}
|
| 726 |
+
]
|
| 727 |
+
},
|
| 728 |
+
{
|
| 729 |
+
"src": "SEC",
|
| 730 |
+
"company_name": "MOVING iMAGE TECHNOLOGIES INC.",
|
| 731 |
+
"slug": "moving-image-technologies-inc",
|
| 732 |
+
"date": "2026-03-03T18:16:48-05:00",
|
| 733 |
+
"link": "https://www.sec.gov/Archives/edgar/data/1770236/000143774926006708/0001437749-26-006708-index.htm",
|
| 734 |
+
"id": "Filer",
|
| 735 |
+
"type": "Form D",
|
| 736 |
+
"funding_amount": "Unknown",
|
| 737 |
+
"founders": []
|
| 738 |
+
},
|
| 739 |
+
{
|
| 740 |
+
"src": "SEC",
|
| 741 |
+
"company_name": "Red Vineyard LP",
|
| 742 |
+
"slug": "red-vineyard-lp",
|
| 743 |
+
"date": "2026-03-03T18:12:03-05:00",
|
| 744 |
+
"link": "https://www.sec.gov/Archives/edgar/data/2113198/000211319826000001/0002113198-26-000001-index.htm",
|
| 745 |
+
"id": "Filer",
|
| 746 |
+
"type": "Form D",
|
| 747 |
+
"funding_amount": "Indefinite",
|
| 748 |
+
"summary": "Industry: Pooled Investment Fund",
|
| 749 |
+
"business_address": "Not Available",
|
| 750 |
+
"mailing_address": "Not Available",
|
| 751 |
+
"founders": [
|
| 752 |
+
{
|
| 753 |
+
"name": "General Partner The Red Vineyard GP LLC",
|
| 754 |
+
"title": "Executive",
|
| 755 |
+
"email": "generalpartnertheredvineyardgpllc@red.com",
|
| 756 |
+
"x_account": "https://x.com/generalpartnertheredvineyardgpllc"
|
| 757 |
+
},
|
| 758 |
+
{
|
| 759 |
+
"name": "Neil Mehta",
|
| 760 |
+
"title": "Executive",
|
| 761 |
+
"email": "neilmehta@red.com",
|
| 762 |
+
"x_account": "https://x.com/neilmehta"
|
| 763 |
+
},
|
| 764 |
+
{
|
| 765 |
+
"name": "Benjamin Peretz",
|
| 766 |
+
"title": "Executive",
|
| 767 |
+
"email": "benjaminperetz@red.com",
|
| 768 |
+
"x_account": "https://x.com/benjaminperetz"
|
| 769 |
+
}
|
| 770 |
+
]
|
| 771 |
+
},
|
| 772 |
+
{
|
| 773 |
+
"src": "SEC",
|
| 774 |
+
"company_name": "VIM-SKPY SPV I LP",
|
| 775 |
+
"slug": "vim-skpy-spv-i-lp",
|
| 776 |
+
"date": "2026-03-03T18:05:07-05:00",
|
| 777 |
+
"link": "https://www.sec.gov/Archives/edgar/data/2112719/000211271926000001/0002112719-26-000001-index.htm",
|
| 778 |
+
"id": "Filer",
|
| 779 |
+
"type": "Form D",
|
| 780 |
+
"funding_amount": "$5150000",
|
| 781 |
+
"summary": "Industry: Investing",
|
| 782 |
+
"business_address": "Not Available",
|
| 783 |
+
"mailing_address": "Not Available",
|
| 784 |
+
"founders": [
|
| 785 |
+
{
|
| 786 |
+
"name": "Luis Valdich",
|
| 787 |
+
"title": "Executive",
|
| 788 |
+
"email": "luisvaldich@vim-skpy.com",
|
| 789 |
+
"x_account": "https://x.com/luisvaldich"
|
| 790 |
+
}
|
| 791 |
+
]
|
| 792 |
+
},
|
| 793 |
+
{
|
| 794 |
+
"src": "SEC",
|
| 795 |
+
"company_name": "Dotwork Inc.",
|
| 796 |
+
"slug": "dotwork-inc",
|
| 797 |
+
"date": "2026-03-03T18:03:13-05:00",
|
| 798 |
+
"link": "https://www.sec.gov/Archives/edgar/data/1958121/000195812126000001/0001958121-26-000001-index.htm",
|
| 799 |
+
"id": "Filer",
|
| 800 |
+
"type": "Form D",
|
| 801 |
+
"funding_amount": "$18708726",
|
| 802 |
+
"summary": "Industry: Other Technology",
|
| 803 |
+
"business_address": "Not Available",
|
| 804 |
+
"mailing_address": "Not Available",
|
| 805 |
+
"founders": [
|
| 806 |
+
{
|
| 807 |
+
"name": "Steven Elliott",
|
| 808 |
+
"title": "Executive",
|
| 809 |
+
"email": "stevenelliott@dotwork.com",
|
| 810 |
+
"x_account": "https://x.com/stevenelliott"
|
| 811 |
+
},
|
| 812 |
+
{
|
| 813 |
+
"name": "Hunter Nelson",
|
| 814 |
+
"title": "Executive",
|
| 815 |
+
"email": "hunternelson@dotwork.com",
|
| 816 |
+
"x_account": "https://x.com/hunternelson"
|
| 817 |
+
}
|
| 818 |
+
]
|
| 819 |
+
},
|
| 820 |
+
{
|
| 821 |
+
"src": "SEC",
|
| 822 |
+
"company_name": "Collaborative Holdings I, L.P.",
|
| 823 |
+
"slug": "collaborative-holdings-i-l-p",
|
| 824 |
+
"date": "2026-03-03T17:59:40-05:00",
|
| 825 |
+
"link": "https://www.sec.gov/Archives/edgar/data/2115002/000123191926000233/0001231919-26-000233-index.htm",
|
| 826 |
+
"id": "Filer",
|
| 827 |
+
"type": "Form D",
|
| 828 |
+
"funding_amount": "$250000000",
|
| 829 |
+
"summary": "Industry: Pooled Investment Fund",
|
| 830 |
+
"business_address": "Not Available",
|
| 831 |
+
"mailing_address": "Not Available",
|
| 832 |
+
"founders": [
|
| 833 |
+
{
|
| 834 |
+
"name": "N/A CH 1 GP, LLC",
|
| 835 |
+
"title": "Executive",
|
| 836 |
+
"email": "n/ach1gp,llc@collaborative.com",
|
| 837 |
+
"x_account": "https://x.com/n/ach1gp,llc"
|
| 838 |
+
},
|
| 839 |
+
{
|
| 840 |
+
"name": "Craig Shapiro",
|
| 841 |
+
"title": "Executive",
|
| 842 |
+
"email": "craigshapiro@collaborative.com",
|
| 843 |
+
"x_account": "https://x.com/craigshapiro"
|
| 844 |
+
}
|
| 845 |
+
]
|
| 846 |
+
},
|
| 847 |
+
{
|
| 848 |
+
"src": "SEC",
|
| 849 |
+
"company_name": "Plant Prefab, Inc.",
|
| 850 |
+
"slug": "plant-prefab-inc",
|
| 851 |
+
"date": "2026-03-03T17:56:35-05:00",
|
| 852 |
+
"link": "https://www.sec.gov/Archives/edgar/data/1672168/000167216826000002/0001672168-26-000002-index.htm",
|
| 853 |
+
"id": "Filer",
|
| 854 |
+
"type": "Form D",
|
| 855 |
+
"funding_amount": "$15000000",
|
| 856 |
+
"summary": "Industry: Manufacturing",
|
| 857 |
+
"business_address": "Not Available",
|
| 858 |
+
"mailing_address": "Not Available",
|
| 859 |
+
"founders": [
|
| 860 |
+
{
|
| 861 |
+
"name": "Steve Glenn",
|
| 862 |
+
"title": "Executive",
|
| 863 |
+
"email": "steveglenn@plant.com",
|
| 864 |
+
"x_account": "https://x.com/steveglenn"
|
| 865 |
+
},
|
| 866 |
+
{
|
| 867 |
+
"name": "Michael Mann",
|
| 868 |
+
"title": "Executive",
|
| 869 |
+
"email": "michaelmann@plant.com",
|
| 870 |
+
"x_account": "https://x.com/michaelmann"
|
| 871 |
+
},
|
| 872 |
+
{
|
| 873 |
+
"name": "Ramin Kolahi",
|
| 874 |
+
"title": "Executive",
|
| 875 |
+
"email": "raminkolahi@plant.com",
|
| 876 |
+
"x_account": "https://x.com/raminkolahi"
|
| 877 |
+
}
|
| 878 |
+
]
|
| 879 |
+
},
|
| 880 |
+
{
|
| 881 |
+
"src": "SEC",
|
| 882 |
+
"company_name": "Twin Lake Total Return Partners QP Ltd.",
|
| 883 |
+
"slug": "twin-lake-total-return-partners-qp-ltd",
|
| 884 |
+
"date": "2026-03-03T17:55:31-05:00",
|
| 885 |
+
"link": "https://www.sec.gov/Archives/edgar/data/1544036/000154403626000002/0001544036-26-000002-index.htm",
|
| 886 |
+
"id": "Filer",
|
| 887 |
+
"type": "Form D",
|
| 888 |
+
"funding_amount": "Indefinite",
|
| 889 |
+
"summary": "Industry: Pooled Investment Fund",
|
| 890 |
+
"business_address": "Not Available",
|
| 891 |
+
"mailing_address": "Not Available",
|
| 892 |
+
"founders": [
|
| 893 |
+
{
|
| 894 |
+
"name": "Letitia Solomon",
|
| 895 |
+
"title": "Executive",
|
| 896 |
+
"email": "letitiasolomon@twin.com",
|
| 897 |
+
"x_account": "https://x.com/letitiasolomon"
|
| 898 |
+
},
|
| 899 |
+
{
|
| 900 |
+
"name": "Benoit Sansoucy",
|
| 901 |
+
"title": "Executive",
|
| 902 |
+
"email": "benoitsansoucy@twin.com",
|
| 903 |
+
"x_account": "https://x.com/benoitsansoucy"
|
| 904 |
+
},
|
| 905 |
+
{
|
| 906 |
+
"name": "Walter Clark",
|
| 907 |
+
"title": "Executive",
|
| 908 |
+
"email": "walterclark@twin.com",
|
| 909 |
+
"x_account": "https://x.com/walterclark"
|
| 910 |
+
}
|
| 911 |
+
]
|
| 912 |
+
},
|
| 913 |
+
{
|
| 914 |
+
"src": "SEC",
|
| 915 |
+
"company_name": "1591 KIRK ROAD INVESTORS, LLC",
|
| 916 |
+
"slug": "1591-kirk-road-investors-llc",
|
| 917 |
+
"date": "2026-03-03T17:45:01-05:00",
|
| 918 |
+
"link": "https://www.sec.gov/Archives/edgar/data/2037941/000140508626000139/0001405086-26-000139-index.htm",
|
| 919 |
+
"id": "Filer",
|
| 920 |
+
"type": "Form D",
|
| 921 |
+
"funding_amount": "Indefinite",
|
| 922 |
+
"summary": "Industry: Pooled Investment Fund",
|
| 923 |
+
"business_address": "Not Available",
|
| 924 |
+
"mailing_address": "Not Available",
|
| 925 |
+
"founders": [
|
| 926 |
+
{
|
| 927 |
+
"name": "n/a 1591 KIRK ROAD SPONSOR, LLC",
|
| 928 |
+
"title": "Executive",
|
| 929 |
+
"email": "n/a1591kirkroadsponsor,llc@1591.com",
|
| 930 |
+
"x_account": "https://x.com/n/a1591kirkroadsponsor,llc"
|
| 931 |
+
},
|
| 932 |
+
{
|
| 933 |
+
"name": "JOHN LEWIS",
|
| 934 |
+
"title": "Executive",
|
| 935 |
+
"email": "johnlewis@1591.com",
|
| 936 |
+
"x_account": "https://x.com/johnlewis"
|
| 937 |
+
}
|
| 938 |
+
]
|
| 939 |
+
},
|
| 940 |
+
{
|
| 941 |
+
"src": "SEC",
|
| 942 |
+
"company_name": "DG Matrix Inc.",
|
| 943 |
+
"slug": "dg-matrix-inc",
|
| 944 |
+
"date": "2026-03-03T17:39:23-05:00",
|
| 945 |
+
"link": "https://www.sec.gov/Archives/edgar/data/2059108/000205910826000001/0002059108-26-000001-index.htm",
|
| 946 |
+
"id": "Filer",
|
| 947 |
+
"type": "Form D",
|
| 948 |
+
"funding_amount": "$59999971",
|
| 949 |
+
"summary": "Industry: Other Technology",
|
| 950 |
+
"business_address": "Not Available",
|
| 951 |
+
"mailing_address": "Not Available",
|
| 952 |
+
"founders": [
|
| 953 |
+
{
|
| 954 |
+
"name": "Haroon Inam",
|
| 955 |
+
"title": "Executive",
|
| 956 |
+
"email": "harooninam@dg.com",
|
| 957 |
+
"x_account": "https://x.com/harooninam"
|
| 958 |
+
},
|
| 959 |
+
{
|
| 960 |
+
"name": "Vlatko Vlatkovic",
|
| 961 |
+
"title": "Executive",
|
| 962 |
+
"email": "vlatkovlatkovic@dg.com",
|
| 963 |
+
"x_account": "https://x.com/vlatkovlatkovic"
|
| 964 |
+
},
|
| 965 |
+
{
|
| 966 |
+
"name": "Michael Kearney",
|
| 967 |
+
"title": "Executive",
|
| 968 |
+
"email": "michaelkearney@dg.com",
|
| 969 |
+
"x_account": "https://x.com/michaelkearney"
|
| 970 |
+
}
|
| 971 |
+
]
|
| 972 |
+
},
|
| 973 |
+
{
|
| 974 |
+
"src": "SEC",
|
| 975 |
+
"company_name": "Virtera Serenity Fund, LP",
|
| 976 |
+
"slug": "virtera-serenity-fund-lp",
|
| 977 |
+
"date": "2026-03-03T17:39:22-05:00",
|
| 978 |
+
"link": "https://www.sec.gov/Archives/edgar/data/1943440/000194344026000001/0001943440-26-000001-index.htm",
|
| 979 |
+
"id": "Filer",
|
| 980 |
+
"type": "Form D",
|
| 981 |
+
"funding_amount": "Indefinite",
|
| 982 |
+
"summary": "Industry: Pooled Investment Fund",
|
| 983 |
+
"business_address": "Not Available",
|
| 984 |
+
"mailing_address": "Not Available",
|
| 985 |
+
"founders": [
|
| 986 |
+
{
|
| 987 |
+
"name": "Todd Pence",
|
| 988 |
+
"title": "Executive",
|
| 989 |
+
"email": "toddpence@virtera.com",
|
| 990 |
+
"x_account": "https://x.com/toddpence"
|
| 991 |
+
},
|
| 992 |
+
{
|
| 993 |
+
"name": "Chaya Slain",
|
| 994 |
+
"title": "Executive",
|
| 995 |
+
"email": "chayaslain@virtera.com",
|
| 996 |
+
"x_account": "https://x.com/chayaslain"
|
| 997 |
+
}
|
| 998 |
+
]
|
| 999 |
+
},
|
| 1000 |
+
{
|
| 1001 |
+
"src": "SEC",
|
| 1002 |
+
"company_name": "Revival Homes Development LLC",
|
| 1003 |
+
"slug": "revival-homes-development-llc",
|
| 1004 |
+
"date": "2026-03-03T17:38:53-05:00",
|
| 1005 |
+
"link": "https://www.sec.gov/Archives/edgar/data/2093036/000209303626000001/0002093036-26-000001-index.htm",
|
| 1006 |
+
"id": "Filer",
|
| 1007 |
+
"type": "Form D",
|
| 1008 |
+
"funding_amount": "$2000000",
|
| 1009 |
+
"summary": "Industry: Residential",
|
| 1010 |
+
"business_address": "Not Available",
|
| 1011 |
+
"mailing_address": "Not Available",
|
| 1012 |
+
"founders": [
|
| 1013 |
+
{
|
| 1014 |
+
"name": "Anthony Dedousis",
|
| 1015 |
+
"title": "Executive",
|
| 1016 |
+
"email": "anthonydedousis@revival.com",
|
| 1017 |
+
"x_account": "https://x.com/anthonydedousis"
|
| 1018 |
+
}
|
| 1019 |
+
]
|
| 1020 |
+
},
|
| 1021 |
+
{
|
| 1022 |
+
"src": "SEC",
|
| 1023 |
+
"company_name": "FPC Granby Crossing F&F LLC",
|
| 1024 |
+
"slug": "fpc-granby-crossing-f-f-llc",
|
| 1025 |
+
"date": "2026-03-03T17:35:16-05:00",
|
| 1026 |
+
"link": "https://www.sec.gov/Archives/edgar/data/2115134/000211513426000001/0002115134-26-000001-index.htm",
|
| 1027 |
+
"id": "Filer",
|
| 1028 |
+
"type": "Form D",
|
| 1029 |
+
"funding_amount": "$980000",
|
| 1030 |
+
"summary": "Industry: Other Real Estate",
|
| 1031 |
+
"business_address": "Not Available",
|
| 1032 |
+
"mailing_address": "Not Available",
|
| 1033 |
+
"founders": [
|
| 1034 |
+
{
|
| 1035 |
+
"name": "Crossing GP LLC FPC Granby",
|
| 1036 |
+
"title": "Executive",
|
| 1037 |
+
"email": "crossinggpllcfpcgranby@fpc.com",
|
| 1038 |
+
"x_account": "https://x.com/crossinggpllcfpcgranby"
|
| 1039 |
+
},
|
| 1040 |
+
{
|
| 1041 |
+
"name": "Kyle Hetherington",
|
| 1042 |
+
"title": "Executive",
|
| 1043 |
+
"email": "kylehetherington@fpc.com",
|
| 1044 |
+
"x_account": "https://x.com/kylehetherington"
|
| 1045 |
+
},
|
| 1046 |
+
{
|
| 1047 |
+
"name": "Charles Garner III",
|
| 1048 |
+
"title": "Executive",
|
| 1049 |
+
"email": "charlesgarneriii@fpc.com",
|
| 1050 |
+
"x_account": "https://x.com/charlesgarneriii"
|
| 1051 |
+
},
|
| 1052 |
+
{
|
| 1053 |
+
"name": "John Cottrill III",
|
| 1054 |
+
"title": "Executive",
|
| 1055 |
+
"email": "johncottrilliii@fpc.com",
|
| 1056 |
+
"x_account": "https://x.com/johncottrilliii"
|
| 1057 |
+
},
|
| 1058 |
+
{
|
| 1059 |
+
"name": "James Pope",
|
| 1060 |
+
"title": "Executive",
|
| 1061 |
+
"email": "jamespope@fpc.com",
|
| 1062 |
+
"x_account": "https://x.com/jamespope"
|
| 1063 |
+
},
|
| 1064 |
+
{
|
| 1065 |
+
"name": "Shannon Moser",
|
| 1066 |
+
"title": "Executive",
|
| 1067 |
+
"email": "shannonmoser@fpc.com",
|
| 1068 |
+
"x_account": "https://x.com/shannonmoser"
|
| 1069 |
+
}
|
| 1070 |
+
]
|
| 1071 |
+
},
|
| 1072 |
+
{
|
| 1073 |
+
"src": "SEC",
|
| 1074 |
+
"company_name": "NUVEEN VIRGINIA QUALITY MUNICIPAL INCOME FUND",
|
| 1075 |
+
"slug": "nuveen-virginia-quality-municipal-income-fund",
|
| 1076 |
+
"date": "2026-03-03T17:32:43-05:00",
|
| 1077 |
+
"link": "https://www.sec.gov/Archives/edgar/data/897421/000119312526088864/0001193125-26-088864-index.htm",
|
| 1078 |
+
"id": "Filer",
|
| 1079 |
+
"type": "Form D",
|
| 1080 |
+
"funding_amount": "Unknown",
|
| 1081 |
+
"founders": []
|
| 1082 |
+
},
|
| 1083 |
+
{
|
| 1084 |
+
"src": "SEC",
|
| 1085 |
+
"company_name": "Kingsbridge LIHTC Fund LP",
|
| 1086 |
+
"slug": "kingsbridge-lihtc-fund-lp",
|
| 1087 |
+
"date": "2026-03-03T17:32:28-05:00",
|
| 1088 |
+
"link": "https://www.sec.gov/Archives/edgar/data/2112966/000211296626000001/0002112966-26-000001-index.htm",
|
| 1089 |
+
"id": "Filer",
|
| 1090 |
+
"type": "Form D",
|
| 1091 |
+
"funding_amount": "$25000000",
|
| 1092 |
+
"summary": "Industry: Pooled Investment Fund",
|
| 1093 |
+
"business_address": "Not Available",
|
| 1094 |
+
"mailing_address": "Not Available",
|
| 1095 |
+
"founders": [
|
| 1096 |
+
{
|
| 1097 |
+
"name": "LLC Kingsbridge Investment Partners",
|
| 1098 |
+
"title": "Executive",
|
| 1099 |
+
"email": "llckingsbridgeinvestmentpartners@kingsbridge.com",
|
| 1100 |
+
"x_account": "https://x.com/llckingsbridgeinvestmentpartners"
|
| 1101 |
+
},
|
| 1102 |
+
{
|
| 1103 |
+
"name": "David Dunn",
|
| 1104 |
+
"title": "Executive",
|
| 1105 |
+
"email": "daviddunn@kingsbridge.com",
|
| 1106 |
+
"x_account": "https://x.com/daviddunn"
|
| 1107 |
+
},
|
| 1108 |
+
{
|
| 1109 |
+
"name": "Kerri Dunn",
|
| 1110 |
+
"title": "Executive",
|
| 1111 |
+
"email": "kerridunn@kingsbridge.com",
|
| 1112 |
+
"x_account": "https://x.com/kerridunn"
|
| 1113 |
+
},
|
| 1114 |
+
{
|
| 1115 |
+
"name": "Martin Orton",
|
| 1116 |
+
"title": "Executive",
|
| 1117 |
+
"email": "martinorton@kingsbridge.com",
|
| 1118 |
+
"x_account": "https://x.com/martinorton"
|
| 1119 |
+
},
|
| 1120 |
+
{
|
| 1121 |
+
"name": "LLC Kingsbridge GP III",
|
| 1122 |
+
"title": "Executive",
|
| 1123 |
+
"email": "llckingsbridgegpiii@kingsbridge.com",
|
| 1124 |
+
"x_account": "https://x.com/llckingsbridgegpiii"
|
| 1125 |
+
}
|
| 1126 |
+
]
|
| 1127 |
+
},
|
| 1128 |
+
{
|
| 1129 |
+
"src": "SEC",
|
| 1130 |
+
"company_name": "Nuveen Variable Rate Preferred & Income Fund",
|
| 1131 |
+
"slug": "nuveen-variable-rate-preferred-income-fund",
|
| 1132 |
+
"date": "2026-03-03T17:32:07-05:00",
|
| 1133 |
+
"link": "https://www.sec.gov/Archives/edgar/data/1865389/000119312526088861/0001193125-26-088861-index.htm",
|
| 1134 |
+
"id": "Filer",
|
| 1135 |
+
"type": "Form D",
|
| 1136 |
+
"funding_amount": "Unknown",
|
| 1137 |
+
"founders": []
|
| 1138 |
+
},
|
| 1139 |
+
{
|
| 1140 |
+
"src": "SEC",
|
| 1141 |
+
"company_name": "Virtera Select Fund, LP",
|
| 1142 |
+
"slug": "virtera-select-fund-lp",
|
| 1143 |
+
"date": "2026-03-03T17:31:42-05:00",
|
| 1144 |
+
"link": "https://www.sec.gov/Archives/edgar/data/1888140/000188814026000001/0001888140-26-000001-index.htm",
|
| 1145 |
+
"id": "Filer",
|
| 1146 |
+
"type": "Form D",
|
| 1147 |
+
"funding_amount": "Indefinite",
|
| 1148 |
+
"summary": "Industry: Pooled Investment Fund",
|
| 1149 |
+
"business_address": "Not Available",
|
| 1150 |
+
"mailing_address": "Not Available",
|
| 1151 |
+
"founders": [
|
| 1152 |
+
{
|
| 1153 |
+
"name": "Chaya Slain",
|
| 1154 |
+
"title": "Executive",
|
| 1155 |
+
"email": "chayaslain@virtera.com",
|
| 1156 |
+
"x_account": "https://x.com/chayaslain"
|
| 1157 |
+
},
|
| 1158 |
+
{
|
| 1159 |
+
"name": "Todd Pence",
|
| 1160 |
+
"title": "Executive",
|
| 1161 |
+
"email": "toddpence@virtera.com",
|
| 1162 |
+
"x_account": "https://x.com/toddpence"
|
| 1163 |
+
}
|
| 1164 |
+
]
|
| 1165 |
+
},
|
| 1166 |
+
{
|
| 1167 |
+
"src": "SEC",
|
| 1168 |
+
"company_name": "NUVEEN REAL ESTATE INCOME FUND",
|
| 1169 |
+
"slug": "nuveen-real-estate-income-fund",
|
| 1170 |
+
"date": "2026-03-03T17:31:35-05:00",
|
| 1171 |
+
"link": "https://www.sec.gov/Archives/edgar/data/1158289/000119312526088857/0001193125-26-088857-index.htm",
|
| 1172 |
+
"id": "Filer",
|
| 1173 |
+
"type": "Form D",
|
| 1174 |
+
"funding_amount": "Unknown",
|
| 1175 |
+
"founders": []
|
| 1176 |
+
},
|
| 1177 |
+
{
|
| 1178 |
+
"src": "SEC",
|
| 1179 |
+
"company_name": "Nuveen Real Asset Income & Growth Fund",
|
| 1180 |
+
"slug": "nuveen-real-asset-income-growth-fund",
|
| 1181 |
+
"date": "2026-03-03T17:31:00-05:00",
|
| 1182 |
+
"link": "https://www.sec.gov/Archives/edgar/data/1539337/000119312526088854/0001193125-26-088854-index.htm",
|
| 1183 |
+
"id": "Filer",
|
| 1184 |
+
"type": "Form D",
|
| 1185 |
+
"funding_amount": "Unknown",
|
| 1186 |
+
"founders": []
|
| 1187 |
+
},
|
| 1188 |
+
{
|
| 1189 |
+
"src": "SEC",
|
| 1190 |
+
"company_name": "Nuveen Preferred & Income Opportunities Fund",
|
| 1191 |
+
"slug": "nuveen-preferred-income-opportunities-fund",
|
| 1192 |
+
"date": "2026-03-03T17:30:28-05:00",
|
| 1193 |
+
"link": "https://www.sec.gov/Archives/edgar/data/1216583/000119312526088850/0001193125-26-088850-index.htm",
|
| 1194 |
+
"id": "Filer",
|
| 1195 |
+
"type": "Form D",
|
| 1196 |
+
"funding_amount": "Unknown",
|
| 1197 |
+
"founders": []
|
| 1198 |
+
},
|
| 1199 |
+
{
|
| 1200 |
+
"src": "SEC",
|
| 1201 |
+
"company_name": "TrueBlue, Inc.",
|
| 1202 |
+
"slug": "trueblue-inc",
|
| 1203 |
+
"date": "2026-03-03T17:30:08-05:00",
|
| 1204 |
+
"link": "https://www.sec.gov/Archives/edgar/data/768899/000199937126004976/0001999371-26-004976-index.htm",
|
| 1205 |
+
"id": "Filer",
|
| 1206 |
+
"type": "Form D",
|
| 1207 |
+
"funding_amount": "Unknown",
|
| 1208 |
+
"founders": []
|
| 1209 |
+
}
|
| 1210 |
+
]
|
requirements.txt
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
feedparser
|
| 2 |
+
beautifulsoup4
|
| 3 |
+
requests
|
| 4 |
+
lxml
|
| 5 |
+
flask
|
| 6 |
+
flask-cors
|
| 7 |
+
gunicorn
|
scheduler.py
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import time
|
| 2 |
+
import subprocess
|
| 3 |
+
import sys
|
| 4 |
+
import os
|
| 5 |
+
|
| 6 |
+
def run_scraper():
|
| 7 |
+
print(f"\n[{time.strftime('%Y-%m-%d %H:%M:%S')}] Starting data aggregation...")
|
| 8 |
+
try:
|
| 9 |
+
# Run aggregator.py (Startups)
|
| 10 |
+
subprocess.run([sys.executable, "aggregator.py"], check=True)
|
| 11 |
+
# Run ai_training_scraper.py (AI Training)
|
| 12 |
+
subprocess.run([sys.executable, "ai_training_scraper.py"], check=True)
|
| 13 |
+
print(f"[{time.strftime('%Y-%m-%d %H:%M:%S')}] All scrapers ran successfully.")
|
| 14 |
+
except Exception as e:
|
| 15 |
+
print(f"[{time.strftime('%Y-%m-%d %H:%M:%S')}] Aggregation failed: {e}")
|
| 16 |
+
|
| 17 |
+
if __name__ == "__main__":
|
| 18 |
+
print("Firstify Auto-Scheduler Started.")
|
| 19 |
+
print("Interval: 60 minutes")
|
| 20 |
+
|
| 21 |
+
# Run once immediately on start
|
| 22 |
+
run_scraper()
|
| 23 |
+
|
| 24 |
+
while True:
|
| 25 |
+
# Wait for 60 minutes
|
| 26 |
+
time.sleep(3600)
|
| 27 |
+
run_scraper()
|
training_data.json
ADDED
|
@@ -0,0 +1,222 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
[
|
| 2 |
+
{
|
| 3 |
+
"src": "Curated",
|
| 4 |
+
"company_name": "Rapidata",
|
| 5 |
+
"slug": "rapidata",
|
| 6 |
+
"date": "2026-03-04T04:11:36.292912",
|
| 7 |
+
"link": "https://rapidata.ai",
|
| 8 |
+
"summary": "High-speed human feedback tasks. Earn money label-ing data.",
|
| 9 |
+
"type": "AI Training Jobs",
|
| 10 |
+
"funding_amount": "Active",
|
| 11 |
+
"founders": []
|
| 12 |
+
},
|
| 13 |
+
{
|
| 14 |
+
"src": "Curated",
|
| 15 |
+
"company_name": "Botpool",
|
| 16 |
+
"slug": "botpool",
|
| 17 |
+
"date": "2026-03-04T04:11:36.292912",
|
| 18 |
+
"link": "https://botpool.ai",
|
| 19 |
+
"summary": "AI training and data annotation marketplace for freelancers.",
|
| 20 |
+
"type": "AI Training Jobs",
|
| 21 |
+
"funding_amount": "Active",
|
| 22 |
+
"founders": []
|
| 23 |
+
},
|
| 24 |
+
{
|
| 25 |
+
"src": "Curated",
|
| 26 |
+
"company_name": "Mindrift",
|
| 27 |
+
"slug": "mindrift",
|
| 28 |
+
"date": "2026-03-04T04:11:36.292912",
|
| 29 |
+
"link": "https://mindrift.ai",
|
| 30 |
+
"summary": "Generate high-quality data for AI as an expert.",
|
| 31 |
+
"type": "AI Training Jobs",
|
| 32 |
+
"funding_amount": "Active",
|
| 33 |
+
"founders": []
|
| 34 |
+
},
|
| 35 |
+
{
|
| 36 |
+
"src": "Curated",
|
| 37 |
+
"company_name": "Micro1",
|
| 38 |
+
"slug": "micro1",
|
| 39 |
+
"date": "2026-03-04T04:11:36.292912",
|
| 40 |
+
"link": "https://micro1.ai",
|
| 41 |
+
"summary": "Join an elite network of AI-vetted remote talent.",
|
| 42 |
+
"type": "AI Training Jobs",
|
| 43 |
+
"funding_amount": "Active",
|
| 44 |
+
"founders": []
|
| 45 |
+
},
|
| 46 |
+
{
|
| 47 |
+
"src": "Curated",
|
| 48 |
+
"company_name": "Mercor",
|
| 49 |
+
"slug": "mercor",
|
| 50 |
+
"date": "2026-03-04T04:11:36.292912",
|
| 51 |
+
"link": "https://mercor.com",
|
| 52 |
+
"summary": "Autonomous hiring platform for AI and engineering roles.",
|
| 53 |
+
"type": "AI Training Jobs",
|
| 54 |
+
"funding_amount": "Active",
|
| 55 |
+
"founders": []
|
| 56 |
+
},
|
| 57 |
+
{
|
| 58 |
+
"src": "Curated",
|
| 59 |
+
"company_name": "Rex.zone",
|
| 60 |
+
"slug": "rex-zone",
|
| 61 |
+
"date": "2026-03-04T04:11:36.292912",
|
| 62 |
+
"link": "https://rex.zone",
|
| 63 |
+
"summary": "Curated RLHF and data services for training experts.",
|
| 64 |
+
"type": "AI Training Jobs",
|
| 65 |
+
"funding_amount": "Active",
|
| 66 |
+
"founders": []
|
| 67 |
+
},
|
| 68 |
+
{
|
| 69 |
+
"src": "Curated",
|
| 70 |
+
"company_name": "Turing",
|
| 71 |
+
"slug": "turing",
|
| 72 |
+
"date": "2026-03-04T04:11:36.292912",
|
| 73 |
+
"link": "https://turing.com",
|
| 74 |
+
"summary": "World's largest network for AI training and engineering jobs.",
|
| 75 |
+
"type": "AI Training Jobs",
|
| 76 |
+
"funding_amount": "Active",
|
| 77 |
+
"founders": []
|
| 78 |
+
},
|
| 79 |
+
{
|
| 80 |
+
"src": "Curated",
|
| 81 |
+
"company_name": "Prolific",
|
| 82 |
+
"slug": "prolific",
|
| 83 |
+
"date": "2026-03-04T04:11:36.292912",
|
| 84 |
+
"link": "https://prolific.com",
|
| 85 |
+
"summary": "Participate in research and earn for high-quality data.",
|
| 86 |
+
"type": "AI Training Jobs",
|
| 87 |
+
"funding_amount": "Active",
|
| 88 |
+
"founders": []
|
| 89 |
+
},
|
| 90 |
+
{
|
| 91 |
+
"src": "Curated",
|
| 92 |
+
"company_name": "Toloka",
|
| 93 |
+
"slug": "toloka",
|
| 94 |
+
"date": "2026-03-04T04:11:36.292912",
|
| 95 |
+
"link": "https://toloka.ai",
|
| 96 |
+
"summary": "Global crowd-force for AI training and RLHF.",
|
| 97 |
+
"type": "AI Training Jobs",
|
| 98 |
+
"funding_amount": "Active",
|
| 99 |
+
"founders": []
|
| 100 |
+
},
|
| 101 |
+
{
|
| 102 |
+
"src": "Curated",
|
| 103 |
+
"company_name": "DataAnnotation.tech",
|
| 104 |
+
"slug": "dataannotation-tech",
|
| 105 |
+
"date": "2026-03-04T04:11:36.292912",
|
| 106 |
+
"link": "https://www.dataannotation.tech",
|
| 107 |
+
"summary": "Most popular platform for high-paying AI training tasks.",
|
| 108 |
+
"type": "AI Training Jobs",
|
| 109 |
+
"funding_amount": "Active",
|
| 110 |
+
"founders": []
|
| 111 |
+
},
|
| 112 |
+
{
|
| 113 |
+
"src": "Curated",
|
| 114 |
+
"company_name": "Outlier.ai",
|
| 115 |
+
"slug": "outlier-ai",
|
| 116 |
+
"date": "2026-03-04T04:11:36.292912",
|
| 117 |
+
"link": "https://outlier.ai",
|
| 118 |
+
"summary": "Scale AI's platform for expert RLHF and data training.",
|
| 119 |
+
"type": "AI Training Jobs",
|
| 120 |
+
"funding_amount": "Active",
|
| 121 |
+
"founders": []
|
| 122 |
+
},
|
| 123 |
+
{
|
| 124 |
+
"src": "Curated",
|
| 125 |
+
"company_name": "Remotasks",
|
| 126 |
+
"slug": "remotasks",
|
| 127 |
+
"date": "2026-03-04T04:11:36.292912",
|
| 128 |
+
"link": "https://www.remotasks.com",
|
| 129 |
+
"summary": "Work from home and earn money helping build AI.",
|
| 130 |
+
"type": "AI Training Jobs",
|
| 131 |
+
"funding_amount": "Active",
|
| 132 |
+
"founders": []
|
| 133 |
+
},
|
| 134 |
+
{
|
| 135 |
+
"src": "Curated",
|
| 136 |
+
"company_name": "Appen",
|
| 137 |
+
"slug": "appen",
|
| 138 |
+
"date": "2026-03-04T04:11:36.292912",
|
| 139 |
+
"link": "https://appen.com",
|
| 140 |
+
"summary": "Flexible jobs training AI at the world's leading tech companies.",
|
| 141 |
+
"type": "AI Training Jobs",
|
| 142 |
+
"funding_amount": "Active",
|
| 143 |
+
"founders": []
|
| 144 |
+
},
|
| 145 |
+
{
|
| 146 |
+
"src": "Curated",
|
| 147 |
+
"company_name": "OneForma",
|
| 148 |
+
"slug": "oneforma",
|
| 149 |
+
"date": "2026-03-04T04:11:36.292912",
|
| 150 |
+
"link": "https://www.oneforma.com",
|
| 151 |
+
"summary": "Global crowd platform for transcription, labeling, and AI data.",
|
| 152 |
+
"type": "AI Training Jobs",
|
| 153 |
+
"funding_amount": "Active",
|
| 154 |
+
"founders": []
|
| 155 |
+
},
|
| 156 |
+
{
|
| 157 |
+
"src": "Curated",
|
| 158 |
+
"company_name": "Neevo",
|
| 159 |
+
"slug": "neevo",
|
| 160 |
+
"date": "2026-03-04T04:11:36.292912",
|
| 161 |
+
"link": "https://neevo.ai",
|
| 162 |
+
"summary": "Defined.ai's platform for earning money through AI data tasks.",
|
| 163 |
+
"type": "AI Training Jobs",
|
| 164 |
+
"funding_amount": "Active",
|
| 165 |
+
"founders": []
|
| 166 |
+
},
|
| 167 |
+
{
|
| 168 |
+
"src": "Curated",
|
| 169 |
+
"company_name": "CloudFactory",
|
| 170 |
+
"slug": "cloudfactory",
|
| 171 |
+
"date": "2026-03-04T04:11:36.292912",
|
| 172 |
+
"link": "https://www.cloudfactory.com",
|
| 173 |
+
"summary": "Human-in-the-loop workforce focused on meaningful AI work.",
|
| 174 |
+
"type": "AI Training Jobs",
|
| 175 |
+
"funding_amount": "Active",
|
| 176 |
+
"founders": []
|
| 177 |
+
},
|
| 178 |
+
{
|
| 179 |
+
"src": "Curated",
|
| 180 |
+
"company_name": "Sama",
|
| 181 |
+
"slug": "sama",
|
| 182 |
+
"date": "2026-03-04T04:11:36.292912",
|
| 183 |
+
"link": "https://www.sama.com",
|
| 184 |
+
"summary": "Ethical AI sourcing platform for data labeling jobs.",
|
| 185 |
+
"type": "AI Training Jobs",
|
| 186 |
+
"funding_amount": "Active",
|
| 187 |
+
"founders": []
|
| 188 |
+
},
|
| 189 |
+
{
|
| 190 |
+
"src": "Curated",
|
| 191 |
+
"company_name": "Clickworker",
|
| 192 |
+
"slug": "clickworker",
|
| 193 |
+
"date": "2026-03-04T04:11:36.292912",
|
| 194 |
+
"link": "https://www.clickworker.com",
|
| 195 |
+
"summary": "Micro-tasking platform for AI training and data processing.",
|
| 196 |
+
"type": "AI Training Jobs",
|
| 197 |
+
"funding_amount": "Active",
|
| 198 |
+
"founders": []
|
| 199 |
+
},
|
| 200 |
+
{
|
| 201 |
+
"src": "Curated",
|
| 202 |
+
"company_name": "Amazon MTurk",
|
| 203 |
+
"slug": "amazon-mturk",
|
| 204 |
+
"date": "2026-03-04T04:11:36.292912",
|
| 205 |
+
"link": "https://www.mturk.com",
|
| 206 |
+
"summary": "The original marketplace for human intelligence tasks.",
|
| 207 |
+
"type": "AI Training Jobs",
|
| 208 |
+
"funding_amount": "Active",
|
| 209 |
+
"founders": []
|
| 210 |
+
},
|
| 211 |
+
{
|
| 212 |
+
"src": "Curated",
|
| 213 |
+
"company_name": "Invisible Technologies",
|
| 214 |
+
"slug": "invisible-technologies",
|
| 215 |
+
"date": "2026-03-04T04:11:36.292912",
|
| 216 |
+
"link": "https://www.invisible.co",
|
| 217 |
+
"summary": "Become an operator for complex AI training workflows.",
|
| 218 |
+
"type": "AI Training Jobs",
|
| 219 |
+
"funding_amount": "Active",
|
| 220 |
+
"founders": []
|
| 221 |
+
}
|
| 222 |
+
]
|