SPARKDIT AND THE PROCESS OF BUILDING IT
Sparkdit is a no-code decision application platform that enables users to create, configure, share, and manage interactive decision tools through a modern, scalable, and integration-ready system. Built on top of the OpenForm open-source codebase, with a Nuxt 3 frontend and a Laravel backend, it supports multi-tenant workspaces, AI-assisted form and decision flow generation, and flexible deployment through a microservices architecture.
SPARKDIT IS...
Sparkdit is a modern decision application platform designed to simplify application creation, workspace collaboration, and workflow automation at scale. Built on top of the OpenForm open-source platform, it allows users to register, manage their own workspace, create and configure decision apps, connect data sources, define criteria and tradeoffs, and use AI-assisted features to generate and improve forms and decision flows.

TECHNOLOGY APPROACH
As a Full Stack Developer on Sparkdit, I worked on customizing and extending the OpenForm open-source platform into a scalable decision application platform tailored to the product's needs.
On the frontend, I worked with Nuxt 3, Vue 3, Nuxt UI, Pinia, TanStack Vue Query, Tailwind CSS, and VueUse to build and improve the user experience across application setup, builder flows, and configuration screens. Yup was used for validation and form handling, CodeMirror supported custom HTML/CSS editing, and Quill was used for rich text editing where more advanced content customization was needed.
On the backend, I worked with Laravel 11 and PostgreSQL to develop and extend secure APIs for application management, workspace collaboration, integrations, and platform functionality. Laravel Sanctum was used for authentication, Laravel Horizon for queue management, and Laravel Cashier for Stripe subscription billing. I also integrated the OpenAI API to support AI-powered generation and suggestions within the platform.
The platform followed a microservices-ready architecture, where GlobalService handled the central applications hub on one subdomain, and FormService powered the OpenForm-based application on another. This setup allowed the services to run independently or together through Docker and docker-compose, making deployment and local development more flexible.
FEATURES
Sparkdit brings together a focused set of capabilities that cover the entire lifecycle of a decision application: from setup and data integration to criteria configuration, analysis, and final app customization.

- Decision application builder: Support for building and configuring interactive applications on top of the OpenForm foundation, including dynamic logic, configurable flows, and advanced editing capabilities.

- Data integration: Flexible data connectivity supporting API, CSV, RDBMS, AI/genAI, and eCommerce Catalog integration methods, with dataset management and configurable update frequencies.

- Criteria configuration: Advanced criteria and tradeoff setup with decision mapping, RDBMS and CSV file mapping support, and a visual advanced mapping section for precise data alignment.


- Decision APP customization: Full control over the user journey and interface, with multiple layout themes, tradeoff display styles, results column configurations, and UI options optimized for web and tablet.

- Templates: Support for both built-in and custom templates to accelerate setup and standardize common use cases.
- AI-assisted generation: OpenAI-powered generation and suggestions to help users create and refine forms, fields, and decision flows more efficiently.
- Authentication and security: Laravel Sanctum, JWT authentication, email verification, and disposable email checks.
- Internationalization: Multi-language support using Nuxt i18n and Laravel locale management.
- Docker and microservices architecture: GlobalService and FormService running independently or together through a shared docker-compose setup.
CHALLENGES AND HOW WE OVERCAME THEM
Multi-tenant workspace data isolation and permissions
Challenge: Ensuring proper data isolation and permission management for each workspace while maintaining a single API and a clear user experience for teams, roles, and invitations.
Solution: I implemented dedicated workspace and invitation models, combined with middleware and authorization policies to control workspace access. Queries and resources consistently referenced a workspace identifier so that forms, submissions, and related data were always scoped to the active workspace.
Complex builder state and performance
Challenge: Maintaining a responsive builder experience while handling complex forms, conditional logic, reusable blocks, and configuration-heavy flows, without introducing unnecessary re-renders or making the state model difficult to maintain.
Solution: I used Pinia for global state management and TanStack Query for server state and caching. VueUse composables helped structure reusable logic and interaction patterns. Forms were represented through a structured JSON schema defining fields and conditional logic, allowing the backend to validate, store, and process configurations reliably.
Deployment and microservices
Challenge: Allowing the platform hub (GlobalService) and the OpenForm-based application (FormService) to run either together or independently, while maintaining correct routing and API communication.
Solution: I configured separate Docker Compose setups for the hub and the OpenForm service, supported by a shared nginx configuration for subdomain routing. I also added scripts to simplify development workflows, enabling developers to run only the OpenForm service or the full platform when needed.
CONCLUSION
Sparkdit demonstrates how an open-source foundation like OpenForm can be extended into a fully customized, production-ready decision application platform without sacrificing usability or developer experience. By combining modern frontend tooling, a robust Laravel backend, and AI-powered capabilities, the platform helps users move from idea to interactive decision applications quickly, confidently, and at scale.
