Back to About

Architecture and dependencies

The application structure and software versions behind OntologyFeed Preview.

In your browser

React powers the interactive editors. Source viewing uses the YouTube player, while clip previews and browser MP4 exports read media directly from R2. WebCodecs and MediaBunny encode browser exports on your computer.

Application server

Node.js handles authentication, membership, private project storage and metadata requests. Better Auth manages accounts. Private projects have per-artifact SQLite files and an owner repository index. A persistent queue assigns requested server renders to FFmpeg workers.

Public sources and media

A separate read-only SQLite service supplies public records and transcripts. Source-package acquisition and transcription are separate operator processes. R2 stores media; public archive originals and private rendered outputs have different access paths.

How the application runs

Public reading pages are server-rendered. Interactive editors use React alongside specialized playback controllers for YouTube and transcript synchronization. Metadata requests go through the app to the separate SQLite reader. Private project reads and writes use a bounded background worker. Server renders run independently through the persistent job queue, with worker leases, progress reports and cancellation. Browser encoding remains on the visitor’s computer.

Separate responsibilities

Browsing reads public records. Editing changes a project. Saving, publishing, browser encoding and queued server rendering are separate operations. Public source readers and acquisition jobs can evolve independently of account and project storage.

Security and your data

Locked dependency inventory

Versions below are generated from the committed package manifests and npm lockfile. The inventory includes optional and platform-specific entries; it does not claim every listed package is loaded by every page or installed on every host.

Source: package.json, package-lock.json and workspace manifests. Download the generated inventory (JSON). A version listing is not a live vulnerability scan.

Application Node.js: v24.22.1 · application SQLite: 3.53.4. Declared Node engine: >=24.18.0. The remote reader and render workers have separate runtimes. FFmpeg, GoatCounter and managed-service versions are not npm package versions and require their own deployment verification.

Direct application dependencies
PackageLocked versionScope / source
@aws-sdk/client-s33.1149.0Application
@aws-sdk/s3-request-presigner3.1149.0Application
better-auth1.7.7Application
mediabunny1.62.1Application
parse58.0.0Application
react19.3.0Application
react-dom19.3.0Application
stripe23.0.0Application
Development dependencies
PackageLocked versionScope / source
esbuild0.28.2Development only
mysql23.24.5Development only
Internal packages and vendored reader
PackageLocked versionScope / source
@ontologyfeed/sqlite-service0.1.0Application · vendor/ontologyfeed-sqlite-service-0.1.0.tgz
@ontologyfeed/studio-accounts0.1.0Application · packages/studio-accounts
@va-lis/drafting-core0.1.0Application · packages/drafting-core
Transitive dependencies (87)
Transitive dependencies
PackageLocked versionScope / source
@aws-sdk/checksums3.1001.2Application
@aws-sdk/core3.978.2Application
@aws-sdk/credential-provider-env3.972.73Application
@aws-sdk/credential-provider-http3.972.75Application
@aws-sdk/credential-provider-ini3.973.18Application
@aws-sdk/credential-provider-login3.972.80Application
@aws-sdk/credential-provider-node3.972.85Application
@aws-sdk/credential-provider-process3.972.73Application
@aws-sdk/credential-provider-sso3.973.17Application
@aws-sdk/credential-provider-web-identity3.972.79Application
@aws-sdk/middleware-sdk-s33.972.78Application
@aws-sdk/nested-clients3.997.47Application
@aws-sdk/signature-v4-multi-region3.996.48Application
@aws-sdk/token-providers3.1149.0Application
@aws-sdk/types3.974.6Application
@aws-sdk/xml-builder3.972.41Application
@aws/lambda-invoke-store0.3.0Application
@better-auth/core1.7.7Application
@better-auth/drizzle-adapter1.7.7Application
@better-auth/kysely-adapter1.7.7Application
@better-auth/memory-adapter1.7.7Application
@better-auth/mongo-adapter1.7.7Application
@better-auth/prisma-adapter1.7.7Application
@better-auth/telemetry1.7.7Application
@better-auth/utils0.4.2Application
@better-fetch/fetch1.3.2Application
@esbuild/aix-ppc640.28.2Development only · Optional/platform-specific
@esbuild/android-arm0.28.2Development only · Optional/platform-specific
@esbuild/android-arm640.28.2Development only · Optional/platform-specific
@esbuild/android-x640.28.2Development only · Optional/platform-specific
@esbuild/darwin-arm640.28.2Development only · Optional/platform-specific
@esbuild/darwin-x640.28.2Development only · Optional/platform-specific
@esbuild/freebsd-arm640.28.2Development only · Optional/platform-specific
@esbuild/freebsd-x640.28.2Development only · Optional/platform-specific
@esbuild/linux-arm0.28.2Development only · Optional/platform-specific
@esbuild/linux-arm640.28.2Development only · Optional/platform-specific
@esbuild/linux-ia320.28.2Development only · Optional/platform-specific
@esbuild/linux-loong640.28.2Development only · Optional/platform-specific
@esbuild/linux-mips64el0.28.2Development only · Optional/platform-specific
@esbuild/linux-ppc640.28.2Development only · Optional/platform-specific
@esbuild/linux-riscv640.28.2Development only · Optional/platform-specific
@esbuild/linux-s390x0.28.2Development only · Optional/platform-specific
@esbuild/linux-x640.28.2Development only · Optional/platform-specific
@esbuild/netbsd-arm640.28.2Development only · Optional/platform-specific
@esbuild/netbsd-x640.28.2Development only · Optional/platform-specific
@esbuild/openbsd-arm640.28.2Development only · Optional/platform-specific
@esbuild/openbsd-x640.28.2Development only · Optional/platform-specific
@esbuild/openharmony-arm640.28.2Development only · Optional/platform-specific
@esbuild/sunos-x640.28.2Development only · Optional/platform-specific
@esbuild/win32-arm640.28.2Development only · Optional/platform-specific
@esbuild/win32-ia320.28.2Development only · Optional/platform-specific
@esbuild/win32-x640.28.2Development only · Optional/platform-specific
@noble/ciphers2.4.0Application
@noble/hashes2.4.0Application
@opentelemetry/semantic-conventions1.43.0Application
@smithy/core3.35.2Application
@smithy/credential-provider-imds4.5.2Application
@smithy/fetch-http-handler5.8.0Application
@smithy/node-http-handler4.12.1Application
@smithy/signature-v45.7.4Application
@smithy/types4.19.0Application
@standard-schema/spec1.1.0Application
@types/dom-mediacapture-transform0.1.12Application
@types/dom-webcodecs0.1.13Application
@types/node26.6.5Application
aws-ssl-profiles1.1.2Application
better-call1.4.0Application
bowser2.14.1Application
defu6.1.7Application
entities6.0.1Application
generate-function2.3.1Application
iconv-lite0.7.3Application
is-property1.0.2Application
jose6.2.12Application
kysely0.29.7Application
long5.3.2Application
lru.min1.1.5Application
named-placeholders1.1.6Application
nanostores1.5.5Application
rou30.9.2Application
safer-buffer2.1.2Application
scheduler0.28.0Application
set-cookie-parser3.1.4Application
sql-escaper1.5.2Application
tslib2.8.1Application
undici-types8.9.0Application
zod4.6.7Application