Javis OS
Javis OS is an Agentic AI that assists entrepreneurs in business tasks, helping them grow their work.
AI translation
Trenova is the carrier TMS that runs itself. AI desks handle coverage, detention, intake, billing and compliance, and earn the right to act one tool at a time.
BusinessGo · TypeScriptGitHub @emoss08OnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
An AI-driven asset based Transportation Management System
Translation pending
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
Trenova: Transportation Management System for Trucking Carriers
Source-available trucking TMS written in Go, PostgreSQL, GraphQL, and React.
Dispatch, rating, billing, accounting, EDI, FMCSA compliance, and document automation for asset-based carriers.
Trenova is pre-release software under active development. It is not yet suitable for production use. Follow releases or join the waitlist for updates.Read the full README ↗[!IMPORTANT] Trenova is pre-release software under active development. It is not yet suitable for production use. Follow releases or join the waitlist for updates.
Trenova is a transportation management system (TMS) for small and mid-sized over-the-road carriers in the United States. Enterprise TMS platforms often cost more than $50,000 a year, which puts them out of reach for the carriers that make up most of the industry. Trenova aims to close that gap with a flat-priced, self-hostable TMS that covers the full order-to-cash cycle: shipment entry, dispatch, driver assignment, rating, billing, settlement, accounting, and compliance.
The source is public under the Fair Source Functional Source License, so carriers and integrators can read the code, audit it, and run it on their own infrastructure.
See the full capability list at trenova.app/features.
| Layer | Technology |
|---|---|
| API | Go 1.26, Gin, gqlgen GraphQL |
| Database | PostgreSQL via pgx, SQL-first migrations |
| Search and cache | Meilisearch, Redis (JSON and Streams) |
| Change data capture | GTC: a Go PostgreSQL logical-replication connector that projects rows into Meilisearch and Redis (runs as the ghcr.io/emoss08/gtc image; routing in deploy/gtc/sinks.yaml) |
| Web client | React 19, TypeScript, Vite, GraphQL |
| Documents | Gotenberg (PDF), docling-serve (document extraction), MinIO / S3-compatible object storage |
| Deployment | Docker images on GHCR, Caddy, Docker Compose |
services/tms Core TMS: API, worker and CLI (Go)
client/apps/web Web application (React)
client/apps/dash Driver portal (React)
client/packages/ Shared TypeScript packages: design system, GraphQL client, config
desktop/capture Windows companion for scanning and printing (Rust)
shared/ Shared Go packages (money, geo, dispatch planner, PC*MILER, AS2, ...)
i18n/ Translation catalogs and the extraction tooling
dev/ Local environment: compose.yml, its configs, Samsara and EDI partner simulators
deploy/ Dockerfiles, self-host compose, Caddy, GTC routing, observability, PgBouncer example
tools/ Tooling that is not shipped: extraction fine-tuning (Python), screenshots, load tests, release
docs/ Engineering guides (indexed in docs/engineering/README.md), product guide, self-hosting
Prerequisites: Go 1.26+, Node.js 26 (client/.nvmrc) with pnpm, Docker, and Task.
git clone https://github.com/emoss08/trenova.git
cd trenova
cp .env.example .env
# Start PostgreSQL, Redis, MinIO, Meilisearch, Gotenberg, and docling-serve
docker compose -f dev/compose.yml up -d
# Run the TMS API
task tms:run
# Run the web client
cd client && pnpm install && pnpm dev
If a build uses all your RAM and CPU, turn on low-resource mode. Go then compiles one package at
a time on one thread and runs its garbage collector harder, golangci-lint and the test runners
are capped the same way, hot reload waits 2 s after the last save, and docker-up starts only
PostgreSQL, Redis, MinIO and Temporal. Builds take longer, but the machine stays usable.
export LOW_RESOURCE=true # every task from now on (add it to your shell profile)
task tms:run-watch LOW_RESOURCE=true # or a single command
task tms:docker-up-minimal # just the minimal containers, in any mode
On Windows, setx LOW_RESOURCE true sets it for every new terminal.
LOW_RESOURCE_JOBS=2 allows two packages at a time with two threads each; that is a sensible
setting on a 16 GB machine. Run only the client app you are working on
(pnpm --filter @trenova/web dev) rather than pnpm dev, which starts both.
ClamAV is in the local stack behind a profile, since it holds about 2 GB of signatures in memory. Start it, wait for it to report healthy (the first start downloads its signatures, which takes several minutes), and point the TMS at it:
docker compose -f dev/compose.yml --profile clamav up -d clamav
docker compose -f dev/compose.yml ps clamav # wait for "healthy"
# services/tms/config/config.yaml
contentScan:
clamav:
address: localhost:3310
Restart the API and worker. An upload then reads "Checking for viruses..." once it is sent. The
EICAR test file (X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*, saved
as a .txt) is refused and shows as blocked. See "Malware scanning" in the
self-hosting guide.
Run task list to see every available task. Agent-facing engineering guides live in docs/engineering. Operations runbooks, design notes, roadmaps and research live in trenova-documentation.
Trenova runs on a single Linux host with Docker Compose. The production stack in deploy/selfhost runs the released images with everything they need (PostgreSQL, Redis, MinIO, Meilisearch, Temporal, Gotenberg, docling-serve, change data capture) and Caddy for automatic HTTPS:
git clone --depth 1 --branch v0.9.17 https://github.com/emoss08/trenova.git
cd trenova/deploy/selfhost
./scripts/init-env.sh trenova.example.com # writes .env with generated secrets
docker compose up -d
Read the self-hosting guide first: it covers requirements, DNS and TLS, the first sign-in, upgrades, backups and troubleshooting.
Container images are published to GitHub Container Registry on every release:
ghcr.io/emoss08/trenova/tms (API, worker and CLI)ghcr.io/emoss08/trenova/client (web app and driver portal behind Caddy)ghcr.io/emoss08/trenova/postgres (PostgreSQL with PostGIS, pg_cron and pgvector)The Dockerfiles and the Caddyfile are in deploy/. The product overview is at trenova.app/self-hosted.
Trenova is Fair Source for transparency and community review, but external code contributions are not accepted at this time so the core team can keep the architecture and roadmap consistent. You can still help by:
See CONTRIBUTING.md for details.
Trenova is licensed under the Functional Source License, Version 1.1, Apache 2.0 Future License (FSL-1.1-ALv2). You may use, self-host, and modify Trenova, including in commercial environments. You may not offer it as a hosted service or use it to build a competing product. Each release converts to the Apache 2.0 license two years after publication.