- Go to https://app.dodopayments.com → log in
- Navigate to Products (left sidebar)
- Click + Add Product (or "Create Product")
- Fill in:
- Product Name:
Talkamore Monthly
- Product Name:
- Type: Select Subscription (not one-time)
| // this line is added to create a gist. Empty file is not allowed. |
| # BULLX GUIDE | |
| ## Getting Started | |
| ### Login Process | |
| BullX is a hybrid Telegram trading bot that works across all devices. Login is simple through the Telegram app. | |
| ### Adding Funds | |
| 1. Open any token on any chain | |
| 2. Click "Add Funds" |
Talkamore MonthlySupport image storage, retrieval, and management for the journal feature. Users can reference images from chat conversations and upload new images directly. The backend handles storage (Cloudflare R2), generates thumbnails, and serves image metadata to the frontend.
Talkamore backend (Node.js/TypeScript, PostgreSQL/Prisma, Railway). We need to add support for a Lifetime Access plan ("Founding 100") alongside existing Free, Monthly, and Yearly plans.
| Plan | Price | Message Cap | Duration | Stripe Price ID |
|---|---|---|---|---|
| Free | $0 | 100/month | — | — |
We're replacing the current "flush after 10 messages or 8h stale" journal system with session-based summaries. A "session" = a window of chat activity. When the user goes silent for 2+ hours, the session closes, a summary blob is generated, and it appears in the journal with a time range timestamp (e.g. "4:00 PM – 6:30 PM"). Multiple sessions per day = multiple blobs. Users can edit blobs after generation.
backend/src/jobs/flush.ts — groups unflushed USER messages by calendar date, concatenates as [HH:MM] message lines, upserts into journal_entries (one row per user per day), then fires summary generation + mood extraction + supermemory ingestbackend/src/lib/summarize.ts — calls GPT-4o to rewrite the day's transcript into a first-person narrativebackend/src/lib/openai-extract.ts — extracts mood, energy, themes, moodReason from textTalkamore currently has two separate systems writing journal content:
JournalEntry (table: journal_entries) — AI-generated daily roll-ups of chat messages. Created by flush.ts when the user hits 10 unflushed messages or the 8-hour stale cron fires. One row per user per day. Contains a raw transcript + an AI-generated first-person summary.
Journal (table: journals) — User-authored documents created in the web frontend's BlockNote editor. Content is opaque JSON ({ title, mode, pages: [...] }). Autosaved every ~1.5s via PUT /api/v1/drafts/:id.
Implement a "Quiet Mode" feature that allows users to toggle into a one-way journaling state. When Quiet Mode is active, the chatbot (Maya) stops responding to user messages entirely — the user can dump thoughts without conversational interruptions. All messages are still persisted. When the user exits Quiet Mode, everything written during the session is summarized and stored in the memory/remembering system with a "Quiet Mode" tag.
The frontend is moving to a unified Canvas-based journal editor using BlockNote (document engine) + Pretext (text layout). The backend's role is:
Implement a unified journal editing surface where Canvas renders the journal page (text + images with proper text-wrapping around images) and BlockNote serves as the document engine (schema, input handling, undo/redo). Pretext handles all text measurement and line routing on the Canvas.
No separate preview mode. The Canvas IS the editing surface.