spb/company-atlas
Public
Python 66.3%
TypeScript 22.7%
JavaScript 8.6%
HTML 1.4%
CSS 0.7%
1import type { Metadata } from 'next';2import Link from 'next/link';3import { ConfidenceBadge } from '@/components/ui/badges';4import { Container, PageHeader } from '@/components/ui/section';5import { ALT_TAGLINE, AUTHOR_NAME, CONTACT_EMAIL, DESCRIPTION, HOST_NAME, HOST_URL, routes } from '@/lib/site';67export const metadata: Metadata = { title: 'About', description: `${DESCRIPTION} Positioning, methodology summary and careful-language policy.` };89export default function AboutPage() {10 return (11 <Container>12 <PageHeader eyebrow="About" title="A continuously updated corporate observation network" lede={DESCRIPTION} />13 <div className="prose-atlas max-w-3xl text-[15px] leading-relaxed text-ink-2">14 <p>{ALT_TAGLINE}</p>15 <h2>What Company Atlas is — and is not</h2>16 <p>17 Company Atlas attaches persistent public-web sensors to companies. Each sensor watches one public surface — careers page, pricing page, newsroom, leadership page, locations, documentation, changelog, legal pages, investor relations, feeds — on an adaptive schedule. Observations become normalised snapshots; snapshots produce block-level changes; meaningful changes become structured events; events feed metrics, rankings and indices. Every day the network runs, the historical record becomes harder to reproduce. That accumulated history is the product.18 </p>19 <ul>20 <li>21 <strong>Not a directory.</strong> A directory stores the current state; Company Atlas stores state(t0), state(t1), state(t2)… and treats the present as the latest historical state.22 </li>23 <li>24 <strong>Not a news aggregator.</strong> News is one surface among dozens; most events are detected from pages that never publish a press release — a pricing table, a job board, a leadership grid.25 </li>26 <li>27 <strong>Not a web archive.</strong> Pages are normalised into semantic blocks and structured fields; the goal is measurement of corporate change, not preservation of HTML.28 </li>29 <li>30 <strong>Not a financial terminal.</strong> No market data, no filings analysis; investor relations pages are monitored as public surfaces only and are not a substitute for regulated disclosures.31 </li>32 </ul>33 <h2>Methodology in one paragraph</h2>34 <p>35 Fetching is deterministic and polite (robots.txt, per-domain rate limits, no authentication or challenge bypass, no private data). Noise — dates, tracking parameters, rotating testimonials, cookie banners — is normalised away before hashing. Block-level diffs are scored for significance (noise · minor · meaningful · major · critical) from text delta, semantic similarity, page importance, affected structured entities, novelty and cross-source corroboration. Only meaningful changes are turned into events; language models are an enrichment step on top of deterministic detection, budgeted and versioned. Metrics (Activity Score, Hiring Momentum, Product Velocity, AI Adoption, Geographic Expansion, Developer Momentum, Corporate Change Index) are reproducible: each value carries a formula version, its inputs and a computation time. Full detail on the{' '}36 <Link href={routes.methodology()}>methodology page</Link>.37 </p>38 <h2>Careful-language policy</h2>39 <p>The platform reports what was observed on public pages and labels everything inferred. In practice:</p>40 <ul>41 <li>“72 monitored listings are no longer visible” — never “the company laid off 72 employees”.</li>42 <li>“No longer listed on the monitored leadership page” — never “fired” or “left”.</li>43 <li>“Product no longer listed in the public catalog” — never “discontinued” without a first-party statement.</li>44 <li>Predictions are explicitly probabilistic: “Possible launch preparation signal — confidence 63 %”.</li>45 <li>46 Every inferred value carries a confidence label:{' '}47 <span className="inline-flex flex-wrap gap-1 align-middle">48 {['VERIFIED', 'HIGH_CONFIDENCE', 'LIKELY', 'INFERRED', 'LOW_CONFIDENCE'].map((l) => (49 <ConfidenceBadge key={l} label={l} />50 ))}51 </span>52 </li>53 <li>When evidence is missing we say so: “No monitored evidence available yet.” / “Last successfully checked 3 days ago.” Numbers are never fabricated to fill a gap.</li>54 </ul>55 <h2>Provenance and corrections</h2>56 <p>57 Every user-facing event links to the public page where it was detected, with the detection time of each corroborating source. If a source page disappears, the observation is preserved and the event says so. Errors are corrected by retraction with an audit trail, never by silent deletion. Companies can ask for a surface to be excluded through robots.txt or by writing to <a href={`mailto:${CONTACT_EMAIL}`}>{CONTACT_EMAIL}</a>; see <Link href={routes.bot()}>the crawler page</Link>.58 </p>59 <h2>Privacy</h2>60 <p>No consumer profiling. People appear only in their public professional context on the company’s own pages (name, title, first/last seen). Nothing behind a login is ever collected.</p>61 <h2 id="who-builds-it">Who builds Company Atlas</h2>62 <p>63 Company Atlas is designed, built and operated by <strong className="text-ink">{AUTHOR_NAME}</strong>. It is an independent project: no paid placement, no consumer profiling.64 </p>65 <dl className="mt-4 grid gap-x-8 gap-y-3 border-y border-rule py-4 sm:grid-cols-[max-content_1fr]" data-builder>66 <dt className="eyebrow sm:pt-1">Built by</dt>67 <dd className="text-ink">{AUTHOR_NAME}</dd>68 <dt className="eyebrow sm:pt-1">Contact</dt>69 <dd>70 <a href={`mailto:${CONTACT_EMAIL}`}>{CONTACT_EMAIL}</a>71 <span className="text-ink-3"> — questions, corrections, exclusion requests, API access.</span>72 </dd>73 <dt className="eyebrow sm:pt-1">Hosting</dt>74 <dd>75 Served from the{' '}76 <a href={HOST_URL} target="_blank" rel="noopener noreferrer">77 {HOST_NAME} cluster78 </a>{' '}79 (<span className="mono text-[13px]">{HOST_URL.replace(/^https?:\/\//, '')}</span>), a self-hosted cluster of Apple-silicon machines operated by the same author; the sensors, the database and this site all run there.80 </dd>81 <dt className="eyebrow sm:pt-1">Data</dt>82 <dd>83 Public API and exports: <Link href={routes.api()}>/api</Link>. Crawler identity and opt-out: <Link href={routes.bot()}>/bot</Link>.84 </dd>85 </dl>86 <p className="mt-4 text-sm text-ink-3">87 The Company Atlas mark — an atlas plate carrying a globe grid with one live observation on its horizon — is available as SVG for press and links: <a href="/logo.svg">logo.svg</a> (dark card), <a href="/logo-light.svg">logo-light.svg</a>, <a href="/logo-dark.svg">logo-dark.svg</a>, <a href="/logo-mark.svg">logo-mark.svg</a>.88 </p>89 </div>90 </Container>91 );92}93