Sign in

Kanishka Naik

@kanishkanaik.dev
221 followers 936 following 1.1K posts

Senior Software Engineer & Open-Source Maintainer JS/TS • Elixir • Go • Solidity Exploring payments, ledgers, and distributed systems Astrophile 🔭 | Stargazer 💫 kanishkanaik.dev

PostsRepliesMedia
Kanishka Naik @kanishkanaik.dev · 21/09/2026
Point-to-point creates a direct, exclusive channel: once a consumer takes a message, it's removed from the queue for everyone else. This exclusivity supports strict, one-time processing of financial transactions. #Fintech #DistributedSystems #Architecture
100
Kanishka Naik @kanishkanaik.dev · 21/09/2026
Multiple senders can post to the same queue, and multiple receivers can share a connection to consume from it. Load balancing among receivers accounts for each consumer's capacity and rate. #Queues #Messaging #Fintech
100
Kanishka Naik @kanishkanaik.dev · 19/09/2026
Point-to-point messaging sends each message to exactly one consumer through a queue. A sender places a message on the queue; one receiver retrieves and removes it, unlike broadcast-style patterns. #PointToPoint #Messaging #Fintech
100
Kanishka Naik @kanishkanaik.dev · 19/09/2026
Pub/sub fits scenarios needing parallel processing, broadcast to multiple subscribers, and tolerance for eventual consistency. It suits fintech workflows where one event, like an order fill, triggers several independent reactions. #Fintech #Architecture #DistributedSystems
110
Kanishka Naik @kanishkanaik.dev · 19/09/2026
In pub/sub, publishers send messages to named channels called topics. A broker routes each message to every subscriber registered on that topic, without publisher or subscriber knowing about each other. #Messaging #EventDriven #Fintech
110
Kanishka Naik @kanishkanaik.dev · 29/08/2026
Publish-Subscribe (pub/sub) is a messaging pattern that decouples publishers from subscribers through a broker. Publishers send messages without knowing who receives them; subscribers get only messages matching their interests. #PubSub #DistributedSystems #Fintech
100
Kanishka Naik @kanishkanaik.dev · 13/08/2026
This pattern also has to plan for cancellation, retries, and cleanup, not just the happy path of request, poll, and result. #Fintech #DistributedSystems
100
Kanishka Naik @kanishkanaik.dev · 13/08/2026
The client makes a synchronous call, and the API replies right away with HTTP 202 Accepted plus a Location header pointing to a status endpoint to poll. #Fintech #APIDesign
110
Kanishka Naik @kanishkanaik.dev · 13/08/2026
The Asynchronous Request-Reply pattern decouples a long-running back-end task from a front end that still needs a clear response, per Microsoft's Azure Architecture Center. #Fintech #CloudPatterns
100
Kanishka Naik @kanishkanaik.dev · 13/08/2026
Because the recipient has no channel to send feedback, a message that cannot be processed has to be routed elsewhere rather than reported back to the sender. #Fintech #Messaging
100
Kanishka Naik @kanishkanaik.dev · 13/08/2026
On local networks, Fire-and-Forget messages can travel over UDP, while most messaging systems, such as JMS-compliant brokers, provide this style by default. #Fintech #DistributedSystems
100
Kanishka Naik @kanishkanaik.dev · 13/08/2026
Fire-and-Forget sends a message to a recipient without expecting any response back. It exists for simple notifications where no reply is needed from the receiver. #Fintech #Messaging
100
Kanishka Naik @kanishkanaik.dev · 13/08/2026
Because request and response messages can travel over separate channels, a requestor may receive a reply out of order, or even one meant for a request it never sent. #Fintech #SystemDesign
100
Kanishka Naik @kanishkanaik.dev · 13/08/2026
A Return Address in the request tells the replier where to send the reply, and a Correlation Identifier tells the requestor which request a given reply belongs to. #Fintech #Messaging
100
Kanishka Naik @kanishkanaik.dev · 13/08/2026
The Request-Reply pattern sends a request message and a reply message, each on its own channel, so a one-way messaging exchange becomes a two-way conversation. #Fintech #IntegrationPatterns
100
Kanishka Naik @kanishkanaik.dev · 12/08/2026
RegTech sits at the intersection of fintech, compliance, and engineering. KYC, AML, sanctions screening, risk scoring, and real-time monitoring turn complex regulations into scalable systems. #RegTech #FinTech #AML #KYC #SoftwareEngineering
000
Kanishka Naik @kanishkanaik.dev · 11/08/2026
Accounting & CFO Tech is evolving beyond bookkeeping. 🚀 From ledgers and payments to payroll, tax, reconciliation, and reporting—modern finance platforms are becoming real-time financial infrastructure for businesses. #Fintech #CFO #Accounting #FinanceTech #SaaS
020
Kanishka Naik @kanishkanaik.dev · 01/08/2026
Asynchronous designs trade immediate answers for resilience: a call can be retried until it succeeds, but the sender no longer knows the outcome right away. #Fintech #DistributedSystems
110
Kanishka Naik @kanishkanaik.dev · 01/08/2026
Asynchronous messaging typically runs through a lightweight message broker, such as RabbitMQ or a cloud service bus, that queues messages between producing and consuming services. #Fintech #EventDriven
100
Kanishka Naik @kanishkanaik.dev · 01/08/2026
Asynchronous communication lets a sender transmit a message without waiting for a reply, so it can continue other work immediately. It exists to reduce coupling between distributed services. #Fintech #Messaging
100
Kanishka Naik @kanishkanaik.dev · 01/08/2026
Synchronous calls between fintech services introduce direct runtime coupling: if the receiver is slow or unavailable, the calling service is affected too. #SystemDesign #Fintech
100
Kanishka Naik @kanishkanaik.dev · 01/08/2026
In microservice architectures, single-receiver, request/response calls over HTTP or gRPC are the most common synchronous style, per Microsoft's .NET architecture guidance. #Microservices #Fintech
100
Kanishka Naik @kanishkanaik.dev · 01/08/2026
Synchronous communication means a caller sends a request and blocks until the receiver replies. It exists so a service can get an immediate, ordered answer before it moves to the next step. #Fintech #DistributedSystems
100
Kanishka Naik @kanishkanaik.dev · 23/07/2026
Released a few new NPM fintech SDKs Weavr: www.npmjs.com/package/weav... Xero: www.npmjs.com/package/xero... Treasury Prime: www.npmjs.com/package/trea... Moov: www.npmjs.com/package/moov... #NPM #SDK #OpenSource #FinTech #Weavr #Xero #TreasuryPrime #Moov #Payments #Banking #Openbanking
npmjs.com
030
Kanishka Naik @kanishkanaik.dev · 21/07/2026
How is an Anti-Corruption Layer applied during a system migration? It routes calls between a monolith and newly migrated services, converting requests into whichever interface each side expects. #Fintech #Migration #DDD
100
Kanishka Naik @kanishkanaik.dev · 21/07/2026
Why introduce an Anti-Corruption Layer? To isolate two subsystems by placing a translation layer between them, so one system can stay unchanged while the other avoids compromising its own design. #Fintech #DDD #Architecture
100
Kanishka Naik @kanishkanaik.dev · 21/07/2026
An Anti-Corruption Layer implements a facade or adapter between subsystems that don't share the same semantics, translating requests from one subsystem to the other. #Fintech #AntiCorruptionLayer #DDD
100
Kanishka Naik @kanishkanaik.dev · 21/07/2026
Released a few new Go SDKs for fintech. Worldpay: pkg.go.dev/github.com/i... Moov: pkg.go.dev/github.com/f... Starling Bank: pkg.go.dev/github.com/i... Weavr: pkg.go.dev/github.com/i... Xero: pkg.go.dev/github.com/i... Treasury Prime: pkg.go.dev/github.com/i... Mercury: pkg.go.dev/github.com/i...
pkg.go.dev
worldpay package - github.com/iamkanishka/worldpay-go - Go Packages
000
Kanishka Naik @kanishkanaik.dev · 17/07/2026
How does a Strangler Fig migration typically begin? By identifying the boundaries of the existing system to be replaced, whether that is an entire application or a smaller subsystem within one. #Fintech #StranglerFig #Architecture
100
Kanishka Naik @kanishkanaik.dev · 17/07/2026
Why use the Strangler Fig pattern? It reduces the risk of a full cut-over rewrite of a critical system, letting a legacy application keep running while functionality migrates piece by piece. #Fintech #StranglerFig #Migration
100
Kanishka Naik @kanishkanaik.dev · 17/07/2026
The Strangler Fig pattern, coined by Martin Fowler, incrementally replaces specific pieces of a legacy system with new services while customers keep using the same interface. #Fintech #LegacyModernization #StranglerFig
100
Kanishka Naik @kanishkanaik.dev · 17/07/2026
Why decompose by subdomain instead of by business capability? Both patterns address the same underlying problem: how to define correct, loosely coupled service boundaries in a complex application. #Fintech #DDD #Microservices
100
Kanishka Naik @kanishkanaik.dev · 17/07/2026
Domain-driven design rejects a single unified model for an entire system. It instead divides a system into bounded contexts, each holding its own domain model tied to a specific subdomain. #Fintech #DDD #DistributedSystems
100
Kanishka Naik @kanishkanaik.dev · 17/07/2026
Decompose by subdomain is a microservices pattern that defines services corresponding to domain-driven design subdomains rather than business capabilities. #Fintech #DDD #Microservices
100
Kanishka Naik @kanishkanaik.dev · 17/07/2026
A business capability refers to a business activity aimed at generating value, for example order management or customer management, and each can map to its own microservice. #Fintech #Microservices #BusinessCapability
100
Kanishka Naik @kanishkanaik.dev · 17/07/2026
Applying decompose by business capability requires enough insight into an organization's business units, typically drawing on subject matter experts for each unit. #Fintech #Microservices #Architecture
100
Kanishka Naik @kanishkanaik.dev · 17/07/2026
Decompose by business capability is a microservices pattern that defines services corresponding to what a business does to generate value, such as payments, accounts, or customer service. #Fintech #Microservices #BusinessCapability
100
Kanishka Naik @kanishkanaik.dev · 16/07/2026
How are microservice boundaries identified? One documented approach starts with a bounded context, then examines the aggregates inside it, since aggregates often make good candidates for individual services. #Fintech #Microservices #DDD
100
Kanishka Naik @kanishkanaik.dev · 16/07/2026
Why do service boundaries matter in distributed fintech systems? Poorly drawn boundaries create tight coupling, forcing teams to coordinate changes across services instead of deploying independently. #Fintech #DistributedSystems #Architecture
100
Kanishka Naik @kanishkanaik.dev · 16/07/2026
A service boundary marks where one service's responsibility ends and another begins. Each microservice is self-contained and implements a single business capability within a bounded context, a natural division within a business domain. #Fintech #Microservices #DDD
110
Kanishka Naik @kanishkanaik.dev · 16/07/2026
How is an Anti-Corruption Layer applied during a system migration? It routes calls between a monolith and newly migrated services, converting requests into whichever interface each side expects. #Fintech #Migration #DDD
100
Kanishka Naik @kanishkanaik.dev · 16/07/2026
Why introduce an Anti-Corruption Layer? To isolate two subsystems by placing a translation layer between them, so one system can stay unchanged while the other avoids compromising its own design. #Fintech #DDD #Architecture
100
Kanishka Naik @kanishkanaik.dev · 16/07/2026
An Anti-Corruption Layer implements a facade or adapter between subsystems that don't share the same semantics, translating requests from one subsystem to the other. #Fintech #AntiCorruptionLayer #DDD
100
Kanishka Naik @kanishkanaik.dev · 16/07/2026
How does a Strangler Fig migration typically begin? By identifying the boundaries of the existing system to be replaced, whether that is an entire application or a smaller subsystem within one. #Fintech #StranglerFig #Architecture
100
Kanishka Naik @kanishkanaik.dev · 16/07/2026
Why use the Strangler Fig pattern? It reduces the risk of a full cut-over rewrite of a critical system, letting a legacy application keep running while functionality migrates piece by piece. #Fintech #StranglerFig #Migration
100
Kanishka Naik @kanishkanaik.dev · 16/07/2026
The Strangler Fig pattern, coined by Martin Fowler, incrementally replaces specific pieces of a legacy system with new services while customers keep using the same interface. #Fintech #LegacyModernization #StranglerFig
100
Kanishka Naik @kanishkanaik.dev · 16/07/2026
Released 4 new open-source Elixir SDKs for fintech platforms! 🚀 • Starling Bank – hex.pm/packages/starling_bank • Moov – hex.pm/packages/moov • SumUp – github.com/iamkanishka/sumup • Unit – github.com/iamkanishka/unit #Elixir #OpenSource #FinTech #Banking
hex.pm
starling_bank
A complete, production-grade Elixir client for the Starling Bank Public API (Accounts, Payments, Savings Goals, Direct Debits, Cards, Webhooks, and more).
020
Kanishka Naik @kanishkanaik.dev · 15/07/2026
Why decompose by subdomain instead of by business capability? Both patterns address the same underlying problem: how to define correct, loosely coupled service boundaries in a complex application. #Fintech #DDD #Microservices
100
Kanishka Naik @kanishkanaik.dev · 15/07/2026
Domain-driven design rejects a single unified model for an entire system. It instead divides a system into bounded contexts, each holding its own domain model tied to a specific subdomain. #Fintech #DDD #DistributedSystems
100
Kanishka Naik @kanishkanaik.dev · 15/07/2026
Decompose by subdomain is a microservices pattern that defines services corresponding to domain-driven design subdomains rather than business capabilities. #Fintech #DDD #Microservices
100