BlinkFlow

BlinkFlow

Zapier-like automation platform I’ve built using React + Spring Boot microservices. It empowers users to connect apps, define triggers, and automate tasks — without writing a single line of code.

React.js
TypeScript
React Flow
Tailwind CSS
GroqAPI
openai/gpt-oss-120b
Spring Boot
MySQL
Kafka
Redis
Docker
AWS

About this Project

BlinkFlow Architecture

Project Architecture

• React.js + TypeScript: Developed the frontend using React.js with TypeScript to ensure type safety, maintainability, and scalability as the application grows. This reduced runtime errors and improved long-term code reliability.

• Spring Boot Microservices: The backend is structured as independent microservices to ensure modularity and fault tolerance:

Primary Backend – Manages authentication, user accounts, and flow creation/updates.

Flowrun Listener – Receives external webhook triggers and writes them into the outbox table.

Flowrun Producer – Reads flowrun events from the outbox table and publishes them to Kafka.

Flowrun Executor – Consumes Kafka events and executes the required actions.
This separation of concerns allows independent scaling of services and easier maintenance.

• AI/LLM Integration (GroqAPI + openai/gpt-oss-120b): Integrated GroqAPI and openai/gpt-oss-120b to understand and format incoming webhook metadata, enabling workflows to intelligently parse and process webhook payloads before execution.

• Kafka (Event Streaming): Adopted Kafka as the backbone for event-driven communication, enabling reliable, asynchronous, and high-throughput message delivery between services. This architecture allows BlinkFlow to process thousands of events per second with consistent performance.

• Redis (Caching & Email OTP): Used Redis to manage email OTP validation, providing sub-millisecond lookups and reducing repetitive database writes. This improved the responsiveness of authentication flows and decreased load on the primary database.

• Transactional Outbox Pattern: Implemented to solve the dual-write problem (ensuring both database updates and Kafka event publishing succeed). By using an outbox table as an intermediate step, BlinkFlow guarantees that events are never lost or duplicated, significantly improving system reliability.

• Dockerization & Docker Compose: Every microservice was containerized with Docker, ensuring environment consistency across local development, staging, and production. Docker Compose was used to orchestrate multiple services (Frontend, Spring Boot services, Kafka, Redis, and MySQL) locally, greatly simplifying developer workflows.

• AWS Deployment: BlinkFlow was deployed to AWS EC2 instance using Docker containers, with Nginx configured as a reverse proxy.