Open to work — founding engineer

Nick Kalaitzidis

Founder & Founding Software Engineer · Greece

Former freight dispatcher turned founder. I built Kelévo — a multi-tenant TMS SaaS — from zero to launch, solo. Product, architecture, deploy: all owned.

0→1
Solo build, zero to launch
13 yrs
Operations & business ownership
100%
Product → deploy owned
TypeScriptReactNode.jsPostgreSQLPrismaAWSDockerStripeAI/OCR pipeline

Route log

An unusual route to engineering

  1. 2011 – 2024

    Owner & Manager

    Nick Kalas Winery

    Ran a production business end to end — operations, planning, equipment, seasonal crews, customers. Thirteen years of owning outcomes.

  2. 2024 – 2025

    Truck Dispatcher

    Iron Wing Dispatching

    Dispatched US freight — brokers, drivers, rate confirmations, settlements. Lived the operational pain that became Kelévo's spec.

  3. 2024 – Present

    Founder & Founding Engineer

    Kelevo

    Self-taught via The Odin Project, then built a commercial TMS SaaS solo: product, architecture, code, infra, launch.

Featured system

demo launching soon

KelévoTransportation Management System — SaaS

Dispatching, fleet & asset management, OCR document intake, and settlements — the ops backbone for small and mid-size trucking companies. Built solo, zero to launch.

Loads board4 active
LoadLaneStatus
  • #10428Atlanta, GA → Dallas, TXDELIVERED
  • #10431Memphis, TN → Chicago, ILIN-TRANSIT
  • #10436Denver, CO → Phoenix, AZTENDERED
  • #10442Kansas City, MO → Omaha, NEPLAN
OCR rate-con importAI / OCR
A broker's rate-confirmation PDF is dropped in and Kelévo's OCR pipeline extracts the lane, dates, and rate to draft the load automatically.
Active loads
Kelévo Active Loads board: a table of loads with route, assigned driver, pickup and delivery windows, rate, and status such as Completed and Delivered, in the app's dark-sidebar interface.
Fleet roster
Kelévo Fleet roster: drivers listed with their current load, equipment, compliance-risk flag, and availability status such as On Route, Dispatched, and Available.
Owner-operator settlements
Kelévo Owner-Operator Settlements: a guided setup checklist plus a run-period form for generating owner-operator settlement statements.

Dispatch & loads board

Full load lifecycle from tender to delivery, driven by an explicit state machine — no invalid transitions, ever.

Fleet & asset management

Trucks, trailers and drivers with their own lifecycles, assignments and per-org numbering.

AI/OCR document intake

Rate confirmations imported from PDFs — OCR, validation, and structured extraction into loads.

Settlements & statements

Owner-operator settlements with branded, immutable PDF statements emailed on issue.

Multi-tenant core

Org-scoped data isolation enforced at the service layer, with plan- and role-based capability gating.

Stripe billing

Trial-to-paid subscription lifecycle wired into plan entitlements.

Case study

Building Kelévo

The problem

Small trucking companies run million-dollar operations on spreadsheets, phone calls and inbox archaeology. As a dispatcher I lived it daily: every load means a rate confirmation to parse, a driver to assign, status calls to brokers, and a settlement to reconcile — all manual, all error-prone. Existing TMS products are priced and designed for large fleets. Kelévo is the system I wished I had at the dispatch desk.

Architecture

System layoutmonorepo
  • ClientsWeb app (React)Pro app (React)Mobile (planned)
  • APINode.js / ExpressZod-validated routesPlan+role gating
  • Domain coreShared TS domain packageLifecycle state machinesOrg-scoped services
  • Data & integrationsPostgreSQL + PrismaCloudflare R2 documentsStripe billingAI/OCR intake
  • InfraDockerGitHub Actions CI/CDnginx edgeVPS + EC2

Hard decisions

A shared domain vocabulary

One TypeScript domain package owns enums, types and DTOs across backend and frontends — with CI drift-guards so the database schema, API and UI can never silently disagree.

Explicit lifecycle state machines

Loads, trucks and trailers move through authoritative transition tables, not scattered if-statements. Invalid transitions are unrepresentable, and the docs mirror the code.

Multi-tenancy at the service layer

Every query is org-scoped at the service boundary — tenant isolation is a structural guarantee, not a convention reviewers must catch.

Document-heavy by design

Freight runs on PDFs. Rate confirmations flow in via email + OCR into structured loads; settlements flow out as branded, immutable PDF statements.

Outcomes

  • A commercial, multi-tenant TMS SaaS taken from zero to launch by one person.
  • A strictly-typed monorepo with a single consolidated CI gate: format, lint, typecheck, tests, typing-drift guards.
  • Real operational workflows — dispatch, fleet, documents, settlements, billing — not a demo app.

Stack & skills

What I work with

Languages

TypeScriptJavaScriptPython

Product & Frontend

ReactUX DesignHTML5Tailwind CSS

Backend

Node.jsExpressREST APIsPostgreSQLPrisma

Cloud & DevOps

AWSLinuxDockerCloudflareGitHub ActionsCI/CD

Execution

Product StrategyRoadmapSaaSTestingLaunch PrepCustomer Discovery

Contact

Let's talk

Open to founding-engineer and senior full-stack roles — especially where logistics domain depth matters.