calljots 
Every sales team has the same story. The call ends. The details scatter. Someone types notes into a CRM field, someone else scribbles on a notepad, and the action items — the actual commitments that move a deal forward — dissolve into the noise of the workday.

Mark and Rachael's team was no different. They were chasing a new product line, following up warm leads, booking demos. But every call was a black box. Whoever took the call owned the information. If that person got busy, got sick, or got pulled into another fire, the lead went cold.

They needed three things:

1. Every call transcribed — automatically, without anyone pressing "record"
2. Actionable notes extracted — dates, commitments, budgets, follow-ups — surfaced instantly
3. The whole team able to see everything, in real time

That is what CallJots just delivered.

---

 The New API: 16 Endpoints, One Pipeline

CallJots runs on a 16-service REST API — the product of 16 years of Joomo Enterprises telecom engineering, containerized and deployed at api.calljots.com. The recent update shipped a complete subscription system, crypto-native billing, and a redesigned account layer that ties it all together.

Every endpoint lives at calljots.com/api/v1/:

| Service | What It Does |
|---|---|
| /api/v1/auth/ | Register, login, API key generation, logout with key cycling |
| /api/v1/jots/extract | Pull deadlines, commitments, names, budgets from call text |
| /api/v1/jobs/transcribe | Upload audio, get back full transcript with speaker diarisation |
| /api/v1/jobs/status/{id} | Poll transcription progress in real time |
| /api/v1/models | Query available ASR models (Whisper, Conformer) |
| /api/v1/webhooks | Configure call-end triggers for CRMs |
| /api/subscription/deposit-address | Get Stellar XLM address + memo for plan payment |
| /api/subscription/verify | Auto-detect XLM payment via Horizon API, activate plan |
| /api/subscription/status | Check plan, days remaining, expiry |

The auth header fix — nginx now passes Authorization through to the CI4 backend, with getallheaders() fallback — means API keys work reliably from any client. No more "works in Postman, fails in production" debugging.

 The Subscription System: Pay With Bitcoin or Stellar, No Card Needed

The biggest operational change is how teams buy CallJots. No credit card form. No third-party billing portal. No monthly invoice dance.

The flow:

1. Team lead picks a plan: Pro ($49 / 0.00028 BTC / ~612 XLM), Team ($149 / 0.00085 BTC / ~1,862 XLM), or Enterprise ($499 / 0.0028 BTC / ~6,238 XLM)
2. The API returns a unique Stellar address and memo ID
3. Send XLM from any wallet — Coinbase, Binance, a hardware wallet, whatever
4. The server detects the payment via Stellar Horizon API within seconds
5. Subscription activates for 30 days. Wallet credited. Done.

No recurring billing. No stored card numbers. No chargebacks. Just crypto settlement on the Stellar network — 3-5 second finality, fractions of a cent per transaction.

The account page now shows everything in one place: a stats grid with jot count, API key usage, credits remaining, and plan status. Tabbed navigation splits jots, calls, subscription management, credits, and downloads. Subscription cards display both BTC and XLM pricing. Memo copy buttons make payments one-click.

---

 The Cursor Client: A Real-Time Control Room for Every Channel

Mark set up Channel 1 on the Cursor Client for the new product line. That is the key detail — the Cursor Client is not a demo. It is a live, real-time operations console that connects directly to the CallJots API.

What the Cursor Client does:

- Multi-channel grid — monitor every active call channel in one view. Mark's Channel 1 showed every inbound and outbound call for the new product team
- WebSocket streaming — transcripts appear as they happen, not after the call ends
- Jot injection — extracted commitments, deadlines, and action items surface alongside the raw transcript
- API console — test endpoints, inspect responses, build integrations without leaving the view
- Activity log — every event timestamped, searchable, exportable

The Cursor Client ships as a standalone HTML app — no build step, no dependencies. Open it in any browser, or wrap it with Nativefier or WebView2 for a desktop feel. It supports activation key auth and demo mode. Configuration lives in /downloads/cursor-client/config.js — API base URL, WebSocket endpoint, jot type colors, disclaimer text, even CCTV mode for compliance environments.

It was previously called "Control Room." The rename to "Jot Client" (and "Cursor Console" in the nav) reflects what it actually does: it is the cursor you move through your call data.

---

 The Scene That Changed Everything

> She signed in and saw incoming and outgoing calls since Tuesday. Like five each hour. Exported two transcripts and out she went as she screamed, "Here is a client I can work on."

Rachael did not ask Mark for a report. She did not wait for end-of-week summaries. She walked in, sat down, opened the browser, and saw the last three days of call activity laid out in front of her: timestamps, durations, transcript excerpts, extracted commitments. Two clicks to export. She walked out with a lead.

That is what the API pipeline plus the Cursor Client buys you. Not automation for its own sake — but the ability to walk into a room and know, in thirty seconds, whether there is a deal worth chasing.

The API did the work: transcription, extraction, storage, search. The Cursor Client did the presentation: live grid, WebSocket updates, export. Mark did the setup. Rachael did the sales. The platform did everything else.

---

 What's Next

The subscription system is live. The API is verified across all 16 endpoints. The Cursor Client is deployed at calljots.com/downloads/cursor-app/index.html and packaged as cursor-app.tar.gz for offline deployment.

On the roadmap:
- Model weights loaded into the Django inference pipeline for production ASR
- WebSocket streaming endpoint for fully real-time cursor updates
- CallJots-Matrix bridge (Synapse + Kamailio) connecting SIP calls to messaging
- Android APK from the PWA mic client

---

 The Bottom Line

Sixteen years of telecom infrastructure — SS7, SIP/RTP, STUN/TURN/ICE, Asterisk, FreeSWITCH, CAMEL billing, TAP3 settlement — poured into a REST API that any team can hit with a curl command. A Cursor Client that any rep can open in a browser tab. A payment system that settles in seconds on Stellar XLM with no intermediary.

And on a random Tuesday, a sales rep named Rachael sat down, found five leads an hour, exported two transcripts, and walked out with a client.

That is the metric that counts.