Connecting

Comparisons

Side-by-side, plain English.

JavaScript vs TypeScript

Same language, different safety net.

JavaScript
  • Loose — any shape, anywhere
  • No build step required
  • Errors at runtime
  • Fast to start
Pick when
  • Tiny script
  • One-off prototype
TypeScript
  • Strict — declared shapes
  • Build step (or transpile)
  • Errors at compile time
  • Slower to start, faster to evolve
Pick when
  • Anything you'll ship
  • Any project where an AI agent edits code
AxisJavaScriptTypeScript
Bug catchingRuntimeBuild time
Editor helpLimitedExcellent autocomplete
AI agentsFree to invent shapesConstrained by types

Frontend vs Backend

What the user sees vs what you trust.

Frontend
  • Runs in the browser
  • Holds UI state
  • Cannot keep secrets
  • Reachable by anyone
Pick when
  • Render, react to clicks, hold drafts
Backend
  • Runs on a server
  • Holds business logic
  • Holds secrets (API keys, DB creds)
  • Reachable only via defined endpoints
Pick when
  • Validate, authorize, persist, call external services
AxisFrontendBackend
TrustNoneFull
SecretsNeverYes (env vars)
Owns auth checksHides UIEnforces rules

Query vs Mutation vs Action

Read, write your DB, call the outside world.

Query / Mutation
  • Deterministic
  • Transactional (mutation)
  • Cached & live (query)
  • No external fetch
Pick when
  • Read or write your own data
Action
  • Non-deterministic
  • Not transactional
  • Can call any external API
  • Must persist via mutation
Pick when
  • Send emails, call Stripe, hit an LLM, talk to WhatsApp
AxisQuery / MutationAction
Database writeMutation onlyVia mutation it calls
External API
Realtime cacheAutoN/A

Convex Cloud vs local dev

Hosted deployment vs anonymous/local Convex for learning.

Convex Cloud
  • Persistent prod + dev projects
  • Dashboard + deploy keys
  • Custom domains
  • What you ship to clients
Pick when
  • agentify, Jmcon, click, nico prod
Local / anonymous
  • 127.0.0.1:3210
  • Great for academy progress
  • Ephemeral unless linked
  • convex dev on laptop/VPS
Pick when
  • vibe-coder-academy quick start
  • offline experiments
AxisConvex CloudLocal / anonymous
PersistenceYesUntil reset
Your product reposDefaultRare

Vercel vs VPS

Managed convenience vs raw control.

Vercel
  • Git push to deploy
  • Preview per branch
  • Managed CDN + functions
  • No SSH
Pick when
  • Default for React/TS apps
VPS
  • You install nginx & systemd
  • Manual deploys (or scripts)
  • Full Linux control
  • You own backups & security
Pick when
  • Long-running processes, custom binaries, strict data residency
AxisVercelVPS
Ops time~0Ongoing
Cost at small scaleFree / low$5–20/mo
Custom processesLimitedAnything

Local state vs Server data

What the screen remembers vs what the database remembers.

Local state (UI)
  • useState / form drafts
  • Lost on refresh
  • Per browser tab
  • Fast
Pick when
  • Form drafts
  • Open/close state
  • Hover state
Server data
  • Persisted in DB
  • Survives refresh
  • Shared across users
  • Slower (network)
Pick when
  • Anything the user expects to find again later
AxisLocal state (UI)Server data
PersistenceNoneYes
SharedNoYes
SpeedInstantNetwork-bound

REST API vs Convex functions

Generic HTTP contract vs typed in-app RPC.

REST API
  • URL + method + body
  • Manual types
  • Manual caching
  • Universal
Pick when
  • Public APIs, webhooks
Convex functions
  • Typed call from React
  • Auto cache + realtime
  • No HTTP plumbing
  • Convex-only
Pick when
  • Your own app's reads and writes
AxisREST APIConvex functions
External callersEasyUse HTTP actions
Types end-to-endManualAutomatic

API vs MCP

App-to-app vs AI-to-tools.

API
  • Arbitrary contract
  • Any client
  • You document it
  • Stable for years
Pick when
  • Frontend↔backend, webhooks, public APIs
MCP
  • Self-describing tools
  • AI clients
  • Discovery built in
  • Permissioned per tool
Pick when
  • Letting Claude/Cursor act on your systems safely
AxisAPIMCP
AudienceApp codeAI assistants
DiscoverabilityDocslist_tools
Permission UXPer appPer tool, host-mediated

SSH password vs SSH key

Guess-able vs cryptographic.

Password
  • Memorized string
  • Bruteforce-able
  • Easy to share (badly)
  • Weakest link
Pick when
  • Never on a public server
Key pair
  • Public + private key
  • Effectively unbruteforceable
  • Per-device control
  • Standard practice
Pick when
  • Always
AxisPasswordKey pair
SecurityLowHigh
SetupNonessh-copy-id once

Managed cloud vs Self-hosting

Someone else's ops vs yours.

Managed
  • Provider handles uptime
  • Auto scaling
  • Auto backups
  • Predictable bill
Pick when
  • Default, especially solo and small teams
Self-hosted
  • You handle uptime
  • Manual scaling
  • Your backups
  • Variable bill
Pick when
  • Data residency, custom binaries, specific cost targets
AxisManagedSelf-hosted
ControlLimitedFull
Ops effortLowOngoing

Browser vs Server

Where the code runs decides what it can do.

Browser
  • User's device
  • Untrusted
  • No secrets
  • Direct DOM access
Pick when
  • Render UI, hold UI state
Server
  • Your machine
  • Trusted
  • Holds secrets
  • Talks to the DB
Pick when
  • Authorize, validate, persist
AxisBrowserServer
TrustNoneFull
Owns business rules

Development vs Production

Loose and fast vs strict and shipped.

Development
  • Hot reload
  • Source maps
  • Verbose logs
  • Mock data ok
Pick when
  • Daily coding
Production
  • Minified bundles
  • Real users
  • Real money
  • Real consequences
Pick when
  • What real users hit
AxisDevelopmentProduction
Speed of changeInstantDeploy
Tolerance for errorsHighLow