{
    "version": "https://jsonfeed.org/version/1",
    "title": "Rungentic Insights",
    "description": "",
    "home_page_url": "https://rungen-publii-bl.pages.dev",
    "feed_url": "https://rungen-publii-bl.pages.dev/feed.json",
    "user_comment": "",
    "author": {
        "name": "rg"
    },
    "items": [
        {
            "id": "https://rungen-publii-bl.pages.dev/research-and-publishing-platform-for-financial-services.html",
            "url": "https://rungen-publii-bl.pages.dev/research-and-publishing-platform-for-financial-services.html",
            "title": "Research and Publishing Platform for Financial Services",
            "summary": "Test: A Custom Research and Publishing Platform for a Financial Services Firm A financial research publisher came to us with a requirement that ruled out the usual route. They wanted a subscription research product with tiered plans, an editorial workflow for staff analysts and invited&hellip;",
            "content_html": "<h1>Test: A Custom Research and Publishing Platform for a Financial Services Firm</h1>\n<p>A financial research publisher came to us with a requirement that ruled out the usual route. They wanted a subscription research product with tiered plans, an editorial workflow for staff analysts and invited guest writers, live market tooling for subscribers, and an AI layer that could answer questions about a subscriber's own holdings. Every off-the-shelf combination of a CMS, a membership plugin and a charting widget broke down at the point where those pieces had to share a single user record and a single permission model.</p>\n<p>We built the platform end to end instead, on React, Node and PostgreSQL, and handed over the repository and the database with it. The client owns the code, the schema and the deployment, which was the point of the engagement as much as any individual feature.</p>\n<figure><img loading=\"lazy\" src=\"https://placehold.co/1200x675/123B5E/FFFFFF?text=Subscriber+Dashboard\" alt=\"Subscriber dashboard showing watchlist and market charts\" data-is-external-image=\"true\">\n<figcaption>Subscriber dashboard: watchlist, charting and portfolio summary on one screen.</figcaption>\n</figure>\n<h2>What we built</h2>\n<p>The platform runs as a single application with one identity layer underneath it, so a subscriber's plan tier governs what they see across every surface, and an analyst's role governs what they can publish.</p>\n<table>\n<thead>\n<tr>\n<th>Platform surface</th>\n<th>What it does</th>\n<th>Built with</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Research CMS</td>\n<td>Long-form report authoring, review and scheduled publishing, with categories and a newsletter push</td>\n<td>React, Node, PostgreSQL</td>\n</tr>\n<tr>\n<td>Editorial roles</td>\n<td>Invitations for guest writers and external advisors, scoped to draft or publish rights</td>\n<td>Role-based access control</td>\n</tr>\n<tr>\n<td>Watchlist and charts</td>\n<td>Per-user watchlists with embedded TradingView charting</td>\n<td>React, TradingView widgets</td>\n</tr>\n<tr>\n<td>Portfolio analytics</td>\n<td>Holdings upload, exposure and performance breakdowns per subscriber</td>\n<td>Node services, PostgreSQL</td>\n</tr>\n<tr>\n<td>AI research chat</td>\n<td>Conversational questions answered against the subscriber's own holdings and published research</td>\n<td>LLM API, retrieval layer</td>\n</tr>\n<tr>\n<td>News aggregation</td>\n<td>Scheduled ingestion from multiple sources, de-duplicated and mapped to watchlist tickers</td>\n<td>Node workers, cron</td>\n</tr>\n<tr>\n<td>Transcript pipeline</td>\n<td>Earnings call transcript fetching and automated summarisation for the research team</td>\n<td>Node, LLM API</td>\n</tr>\n<tr>\n<td>Plans and billing tiers</td>\n<td>Free, retail and institutional tiers gating features and report access</td>\n<td>Node, PostgreSQL</td>\n</tr>\n<tr>\n<td>Admin dashboard</td>\n<td>User administration, subscription management, content oversight and usage reporting</td>\n<td>React, Node</td>\n</tr>\n<tr>\n<td>Support and analytics</td>\n<td>Self-hosted live chat and a full SEO and traffic analytics layer</td>\n<td>Chatwoot, Docker</td>\n</tr>\n</tbody>\n</table>\n<figure><img loading=\"lazy\" src=\"https://placehold.co/1200x675/0B1418/FFFFFF?text=Admin+Console+and+Access+Control\" alt=\"Admin console showing user roles and access control\" data-is-external-image=\"true\">\n<figcaption>Admin console: subscription tiers, editorial roles and access control in one place.</figcaption>\n</figure>\n<h2>The stack, and why each piece is there</h2>\n<p>Nothing in the stack was chosen for novelty. Each layer was picked because the client's team could hire against it and maintain it themselves after handover, which matters more over a five-year horizon than any performance argument.</p>\n<table>\n<thead>\n<tr>\n<th>Layer</th>\n<th>Technology</th>\n<th>Reason</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Frontend</td>\n<td>React</td>\n<td>One component library across subscriber, editorial and admin views</td>\n</tr>\n<tr>\n<td>Application layer</td>\n<td>Node</td>\n<td>Shared language with the frontend and straightforward background workers</td>\n</tr>\n<tr>\n<td>Database</td>\n<td>PostgreSQL</td>\n<td>Relational integrity across users, plans, content and holdings in one schema</td>\n</tr>\n<tr>\n<td>Infrastructure</td>\n<td>Docker on a private VPS</td>\n<td>Portable deployment with no vendor lock-in on hosting</td>\n</tr>\n<tr>\n<td>Support</td>\n<td>Self-hosted Chatwoot</td>\n<td>Subscriber conversations stay inside the client's own infrastructure</td>\n</tr>\n</tbody>\n</table>\n<figure><img loading=\"lazy\" src=\"https://placehold.co/1200x675/E4EBF1/0B1418?text=Platform+Architecture\" alt=\"Architecture diagram of the research platform\" data-is-external-image=\"true\">\n<figcaption>Architecture: one identity layer underneath the CMS, market tooling and AI services.</figcaption>\n</figure>\n<h2>What the client got</h2>\n<p>The result is a single platform where the research team publishes, subscribers read and analyse, and the operator sees the whole picture from one admin console. Because the identity and permission model was built once and shared, adding a new plan tier or a new subscriber-facing tool is a configuration change rather than a rebuild.</p>\n<p>If you are running a business that has outgrown a stitched-together set of tools and you want a system your own team can keep hold of, that is the work Rungentic Studio does.</p>\n<hr>\n<p><em>Disclosure: the platform described here was built for a company within the AccelXC group under a separate engagement. It runs in production with paying subscribers.</em></p>",
            "author": {
                "name": "rg"
            },
            "tags": [
            ],
            "date_published": "2026-08-23T23:27:41+08:00",
            "date_modified": "2026-08-23T23:27:41+08:00"
        }
    ]
}
