KamoCRM

Live Change Log

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

17,374
Total Changes
5,891
Features
5,258
Fixes
30
Projects
Filter by project
All Projects17,374AIService242APIService174BillingService157ConversionService110DaemonService137DocsService223ESigService91EmailService568InitializerService329KBService151KlusterServices738MCPGatewayService235MediaService592RAGService79SecurityService1,822TranslateService62VOIPService248VectorService11kamo-apps26kamo-asterisk-support27kamo-capcha17kamo-capcha-widget4kamo-internal8,321kamo-login335kamo-marketing641kamo-nowww20kamo-register213kamo-shared-library1,631kamo-signer-monorepo56kamolos114
Filter by type
All TypesBuild16CI523Chore773Docs3,252Feature5,891Fix5,258Other993Performance165Refactor278Revert23Style42Test159Upgrade1
May 21, 2026
Featurekamolos

Scrubbable day↔night theme with sun-moon SkyToggle

- Continuous t ∈ [0,1] scene position drives ~25 CSS custom properties on :root via linear RGB interpolation between warm-paper day and aurora night anchors...

Kamo·5mo ago
Featurekamolos

Expose engagement/intent/commitment UIDs

AppMortgageDTO now carries the commerce-lifecycle identifiers that the SecurityService backend populates on every mortgage application. KamoLOS doesn't actively...

Kamo·5mo 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·5mo 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·5mo 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·5mo 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·5mo 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·5mo 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·5mo 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·5mo 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·5mo 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·5mo 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·5mo 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·5mo 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·5mo 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·5mo 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·5mo 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·5mo 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·5mo 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·5mo 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·5mo 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·5mo 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·5mo 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·5mo 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·5mo 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·5mo 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·5mo 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·5mo 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·5mo 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·5mo 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·5mo 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·5mo 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·5mo 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·5mo 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·5mo 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·5mo 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·5mo 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·5mo 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·5mo 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·5mo 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