← Back to work

NodeBase

Enterprise-grade visual workflow automation and orchestration platform for Indian D2C & fintech — 48+ native integrations with atomic Upstash Redis distributed locking and durable Inngest step-functions.


THE PROBLEM

While global platforms like n8n and Zapier cater to western SaaS ecosystems, they lack native support for Indian infrastructure (Razorpay, Shiprocket, Cashfree, MSG91, Zoho India). Furthermore, payment gateways frequently retry webhook notifications due to network lag; without distributed locking, standard automations process payments twice, resulting in duplicate order shipments, double CRM entries, and repeated SMS spam.

WHAT I BUILT

  • 48+ Native Integrations & Nodes across 7 core categories: 10 Trigger nodes, 8 AI/ML providers (OpenAI, Anthropic, Gemini, Groq, DeepSeek, Perplexity, xAI) with 9 operations, Indian D2C infrastructure (Razorpay 28 ops, Shiprocket 23 ops, Cashfree 26 ops, MSG91 14 ops), and 250+ enterprise CRM/helpdesk operations (GitHub 145+ ops, Zoho CRM India 32 ops, HubSpot 35 ops, Freshdesk 26 ops)
  • Atomic Distributed Webhook Deduplication: Implements Upstash Redis serverless locks (claimIdempotencyKey via 'SET key CLAIMED NX EX 86400') across all webhook endpoints to guarantee deterministic once-and-only-once execution with fail-open architecture
  • Durable Step Orchestration & Replay Protection: Uses Inngest v3 durable step-functions where every node execution is wrapped in an independent, resumable transaction (step.run). If an API rate-limits (HTTP 429), Inngest pauses state and retries only that node without re-running upstream triggers or charging credit cards twice
  • End-to-End AES-256-GCM Cryptography & Zero-Leakage tRPC Routers: All API keys, database strings, and OAuth tokens are encrypted at rest before touching Azure PostgreSQL. tRPC routers completely strip ciphertext before returning payloads to client UI dialogs
  • Embedded AI Agent Workflow Generator: Features natural language workflow architecture where users converse with OpenAI, Claude, or GLM-5 models to automatically wire DAG canvases with built-in PII and prompt-injection guardrails
  • Real-Time WebSocket Telemetry (@inngest/realtime): Server-sent Pub/Sub channels emit live node lifecycle states (loading, success, error) directly to React Flow (@xyflow/react v12) canvas nodes, dynamically transitioning node border animations without page polling

TECHNOLOGY STACK

Next.js 15Next.js 15React FlowReact FlowtRPCtRPCPrismaPrismaPostgreSQLPostgreSQLInngestInngestRedisRedisTailwind CSSTailwind CSSTypeScriptTypeScriptRazorpayRazorpayShiprocketShiprocketCashfreeCashfreeOpenAIOpenAIAnthropicAnthropicGitHubGitHub
TECHNICAL HIGHLIGHT

When an external webhook fires, it is fingerprinted into a deterministic scoped ID ('razorpay:' + eventId) and atomically claimed in Upstash Redis before workflow execution starts. The payload is dispatched to Inngest where dynamic Handlebars template resolution ('{{razorpayTrigger.amount}}') replaces tokens against upstream step outputs in context, while real-time WebSocket telemetry emits state transitions outside of step.run() blocks to prevent duplicate pushes during crash recovery.