KamoCRM

Live Change Log

Every feature, fix and improvement, posted as it ships. Nothing is held back for a launch.

15,120
Total Changes
5,169
Features
4,935
Fixes
30
Projects
Filter by project
All Projects15,120AIService197APIService161BillingService143ConversionService107DaemonService129DocsService215ESigService88EmailService518InitializerService318KBService105KlusterServices697MCPGatewayService85MediaService546RAGService71SecurityService1,658TranslateService55VOIPService205VectorService11kamo-apps25kamo-asterisk-support24kamo-capcha17kamo-capcha-widget4kamo-internal6,937kamo-login330kamo-marketing625kamo-nowww20kamo-register213kamo-shared-library1,455kamo-signer-monorepo53kamolos108
Filter by type
All TypesBuild11CI523Chore738Docs2,167Feature5,169Fix4,935Other986Performance157Refactor274Revert23Style42Test94Upgrade1
May 21, 2026
FeatureDocsService

Add Organizer backend — CRUD, render, generated docs

New REST surface under /api/docs/binders for the Organizer feature: - BinderController: CRUD, item add/update/remove/reorder, share, render - BinderService: org...

Kamo·4mo ago
Featurekamo-shared-library

Add Binder/BinderItem/BinderShare entities and repositories

Adds the persistence layer for the new doc-manager Organizer feature: - Binder (Long id, owner member, org-scoped, isTemplate, binder-wide modifierJson) - Binde...

Kamo·4mo ago
May 19, 2026
Fixkamolos

Lift home CTA cluster above the LenderFooter

Buttons at bottom-12/sm:bottom-14 were clipped by the lender attribution footer (~76px tall on desktop). Bumped offsets so the cluster clears it.

Kamo·4mo ago
Featurekamolos

Glimmer the test banner, fit the viewport, add cookie consent

- TestModeBanner publishes its height to --kamolos-banner-h and globals.css subtracts it from min-h-screen so the home view no longer overflows the viewport...

Kamo·4mo ago
May 18, 2026
Featurekamolos

Surface SAFE Act NMLS IDs for lender + assigned LO

Adds LoContactCard with avatar, presence pulse, verified NMLS link, and call/email/message actions in the top-left of hero and apply surfaces, so the borrower's...

Kamo·4mo ago
Fixkamolos

Stop personality chip overlapping the SoundToggle

LoGuideChip was absolutely positioned at top-3/right-3 in JourneyHero and JourneyApplyLayout, the same spot as the global SoundToggle in app/layout.tsx. Shifted...

Kamo·4mo ago
Fixkamolos

Stop racing hydration with a 404 — render the logo URL that actually exists

The tenant MinIO bucket holds logo-full.svg / logo.svg as canonical names; nobody uploads the -on-dark variants. We were trying the dark-mode URL first, 404'ing...

Kamo·4mo ago
Fixkamolos

Unwrap SecurityService's nested color wire-format so tenant brand vars actually populate

SecurityService returns Organization with colors nested inside an EmbColorPalettePair ({ colors: { colorPri: { colorPri, colorLight, ... } } }) and stores hex w...

Kamo·4mo ago
Fixkamolos

Render the logo img on the SSR pass — no more wordmark-only flash

ThemeLogo's empty-string initial logoSrc + useEffect-to-fill pattern meant the SSR render returned the wordmark fallback, then hydration populated the src. If a...

Kamo·4mo ago
Fixkamolos

Kill fake-tenant defaults, render the actual org's branding only

Removes the Apex Mortgage demo I should never have added and the Kamo "default" fallback I replaced it with. Both were just papering over a missing-tenant condi...

Kamo·4mo ago
Featurekamolos

Demo lender auto-loads when no real tenant resolves

The reason "still not branded" — no real tenant org existed for the hostname being tested, so the SSR fetch returned null and every lender-facing surface fell t...

Kamo·4mo ago
Fixkamolos

Ship default logos so unbranded hosts render a real lockup

Ported ThemeLogo dropped the local-file fallback the kamo-internal original had, so any host whose tenant MinIO bucket hadn't been provisioned (or doesn't exist...

Kamo·4mo ago
Featurekamolos

Make the lender the primary brand, not an accent

Reframes the borrower-facing app from "Kamo product with lender accents" to "lender's product, Kamo as the engine." Every surface now leads with the lender's id...

Kamo·4mo ago
FeatureInitializerService

Migration for borrower-facing brand + disclosure columns

Adds the seven nullable columns the kamo-shared-library Organization entity now declares (TAGLINE / NMLS_ID / PHONE_SUPPORT / EMAIL_SUPPORT / EQUAL_HOUSING_DISC...

Kamo·4mo ago
FeatureSecurityService

Emit lender brand + disclosure fields into per-org config.json

Two changes that finish the kamo-los borrower-facing branding pipeline: 1. OrganizationController gains a public GET /api/security/org/domain/{host} endpoin...

Kamo·4mo ago
Featurekamo-shared-library

Add borrower-facing brand + disclosure fields to Organization

Seven new nullable columns powering the lender-branded surfaces in kamo-los's borrower app: - TAGLINE — marketing line shown on the brand-intro spl...

Kamo·4mo ago
Featurekamolos

Deep org-theming integration across every borrower surface

Executes the full plan from the org-theming analysis: every CTA, glow, progress bar, focus ring, ambient orb, chat surface, header logo, and attribution line no...

Kamo·4mo ago
Featurekamolos

Make org branding loud — animated splash, ribbon, glow, footer

The subtle 1px accent ribbon and header logo weren't doing enough to celebrate the lender's brand. Now every hero surface delivers a real brand arrival moment. ...

Kamo·4mo ago
Featurekamolos

Port org-scheme theming from kamo-internal so borrower surfaces pick up lender branding

Ports the subdomain-driven org-theme system from kamo-internal into kamo-los, scoped down to what makes sense for an unauthenticated borrower-facing surface (no...

Kamo·4mo ago
Featurekamolos

Port public chat support from kamo-marketing, restyled for aurora theme

Brings the AI + live-support chat widget from kamo-marketing into the borrower-facing app, recoloured to the kamo-los aurora palette (surface-base / ink / auror...

Kamo·4mo ago
Fixkamolos

Preserve aspect ratio on sky atmospherics so clouds + sun + birds don't stretch on portrait

CloudsLayer, BirdsLayer and the sun/star portion of SkyLayer were using preserveAspectRatio="none" so on a tall portrait phone the SVG coordinate system stretch...

Kamo·4mo ago
Otherkamolos

feat(borrower-ux) backlog: blocked tasks, MUI date picker, memo widgets

1. Real blockedBy task semantics. Was: TaskHub knew about done/current/todo but the "locked" state was declared and never computed. Now: tasks declare blo...

Kamo·4mo ago
Otherkamolos

feat(borrower-ux) sprint 4: a11y + post-submission + fee transparency + i18n keys

1. Accessibility: - StatusBanner gets role=status + aria-live, an inline icon (so success/warn isn't conveyed by colour alone), and a contrast bump ...

Kamo·4mo ago
Otherkamolos

feat(borrower-ux) sprint 3: honest persona, intl identity, real consent, error taxonomy

1. Personality picker reframed honestly. Was "Pick your guide" — looked like the borrower was choosing their loan officer. Now reads "Choose a voice for o...

Kamo·4mo ago
Otherkamolos

feat(borrower-ux) sprint 2: nav + autosave + intl address + resume recovery

1. BorrowerHeader: slim sticky header on every post-application surface (apply/*, waypoints/*, workspace/*). Logo / back-to-workspace on the left, page ti...

Kamo·4mo ago
Otherkamolos

feat(borrower-ux) sprint 1: trust + safety baseline

Four highest-priority items from the borrower-UX audit: 1. Gate every stub integration behind **************** When the flag is off (e.g. real deployments),...

Kamo·4mo ago
May 17, 2026
Fixkamolos

Mobile portrait tuning for hero illustration + chrome

On a portrait phone the 100x60 viewBox of every layer was being stretched into a tall narrow rectangle, which made the home and foreground look squashed and wei...

Kamo·4mo ago
Fixkamolos

Illustration wrapper had no height — every layer rendered into a 0px strip

The JourneyIllustration root div was `relative overflow-hidden` with no explicit dimensions. Its parent was sized via absolute inset-0, but the relative child o...

Kamo·4mo ago
Featurekamolos

Layered scene with parallax, ambient motion, real atmosphere

The first cut shipped a tiny static SVG behind an aggressive vignette, so EMPTY_LOT looked like a blank screen. Replace it with a real layered scene that actual...

Kamo·4mo ago
Featurekamolos

Replace 3D world with 2D illustrated journey

Kill the procedural three.js scene end-to-end and rebuild the borrower's visual journey as a flat, accessible, mobile-friendly module that ships with full SSR s...

Kamo·4mo ago
Featurekamolos

Infinite ground tiers + horizon depth + proper lawn signs

Ground — no more cube - SkyDome: 420 m back-side sphere coloured to the active TOD horizon, sits behind drei <Sky> so any seam at the camera corners is filled...

Kamo·4mo ago
Fixkamolos

Sky no longer washes to white — golden-hour default + tuned sky shader

Sky was reading white because: - toneMappingExposure 1.05 + Bloom@0.45 with luminanceThreshold 0.72 was blowing the bright procedural sky into the bloom buffe...

Kamo·4mo ago
Featurekamolos

Cinematic 3D pass — postprocessing, materials, geometry, motion, weather

The 7-day analysis from the chat, executed: Day 1 — Foundations: - @react-three/postprocessing added: EffectComposer with SMAA, N8AO (ambient occlusion), Blo...

Kamo·4mo ago
OtherKlusterServices

node-config: raise k1m1 kubelet max-pods 110 -> 200

Default RKE2 max-pods=110 was being hit, blocking kamolos rolling-update deploys (maxSurge:1,maxUnavailable:0 needs slot to create new pod before killing old; d...

Kamo·4mo ago
Featurekamolos

Real 3D environment + neighbourhood scenery + bolder home CTAs

3D scene was generic procedural boxes on a flat plane. Brought it up to a believable neighbourhood: - WorldScene: add drei <Environment preset="sunset"> for im...

Kamo·4mo ago
Featurekamolos

3D cinematic journey + 10 personalities + persona homes

Major UI overhaul to lean into the existing 3D world rather than overlaying 2D chrome on top of it. - Rewrite Home with animated wall lerps, swinging front doo...

Kamo·4mo ago
May 16, 2026
Refactorkamolos

Clean up the session — bug fixes, dedupe, dead-code

Three-agent review surfaced real problems and copy-paste — addressing them: Bug fixes: - useEnsurePrimaryBorrower returned dead state (primaryUid, creating) an...

Kamo·4mo ago
Refactorkamolos

Retire the URLA wizard — waypoints now own the borrower journey end-to-end

Wires each connect-first waypoint to write through the existing /api/security/mortgage-apps/* endpoints, then redirects /apply/<section> to its matching /waypoi...

Kamo·4mo ago
Featurekamolos

12 remaining waypoint sheets + 8 ceremony scene impls

Phase C foundation — every waypoint and ceremony slug in the spec now has a real, statically-prerendered surface. Stub adapters back the connect-first flows; UR...

Kamo·4mo ago
Featurekamolos

M3a foundation — connections client, hooks, 2 hero waypoint sheets

Front-end half of the M3a connect-first foundation that the shared-lib Connection + VerifiedFact backend just landed. - lib/los/connections-client.ts — typed c...

Kamo·4mo ago
FeatureSecurityService

MortgageConnectController — connections + verified-facts + reconcile endpoints

Exposes the connect-first capture surface at **************** - GET/POST /connections + POST /connections/{id}/complete - GET/POST /verified-facts + POST /verif...

Kamo·4mo ago
Featurekamo-shared-library

Connection + VerifiedFact foundation for connect-first capture

Adds the M3a backend foundation for vendor connections and provenance-tracked verified facts. Stub-only end-to-end — real vendor SDK wiring (Plaid, Persona, ATT...

Kamo·4mo ago
Featurekamolos

Frame the legacy URLA wizard inside JourneyShell

Phase A of the borrower-journey hand-off: the 3D world stays in view while the borrower works through every section. On wide viewports (≥xl) the world fills a s...

Kamo·4mo ago
Featurekamolos

World becomes homepage — / serves the 3D scene, /start is the conversational porch, /journey paths flattened to /persona /waypoints/[id] /ceremonies/[id]

Borrower lands directly in the new experience on the public URL instead of the legacy conversational landing. Homepage CTA flips between 'Start your application...

Kamo·4mo ago
Fixkamolos

Post-porch borrower lands in the 3D world (/journey/persona then /journey), not the legacy MUI wizard

Reward gate + auto-resume now route to /journey/persona?app=<uid>, persona pick lands in /journey?app=...&persona=..., and a persistent 'Continue your applicati...

Kamo·4mo ago

Like what you see shipping?

All of it arrives in your workspace on its own. Start on the free plan and read this page again in a month.

Start Free ForeverView Pricing