Formtastic

Formtastic
FlutterNuxtTypeScriptPostgreSQLDjangoPythonGo

Project Overview

Formtastic is a service for creating forms and surveys used in business scenarios with high requirements for stability, speed, and interface flexibility. As the project grew, it became clear that further development required not only updating client technologies but also targeted optimization of the server side.

Auth Screen

Auth Screen

Main Screen

Main Screen

Form Editor

Form Editor

Templates List

Templates List

Template Editor

Template Editor

Migration from Django to Nuxt

Initially, Formtastic's frontend was implemented using Django templates. This allowed for a quick start, but over time, this approach began to limit product development. The interface became more complex, changes required backend developer involvement, and the server was doing too much HTML rendering work, which negatively impacted scalability.

As a result, we architecturally separated the system. Django remained as the main backend and API, while the entire user interface was moved to a separate Nuxt frontend. This provided clear separation of concerns and allowed the interface to evolve independently from server logic.

After migration, UI development speed increased noticeably. The team started releasing new screens faster and improving user experience, while server load decreased as it stopped handling page rendering. Nuxt with SSR and SSG also provided significant gains in SEO and loading speed, which positively impacted marketing and public pages.

In parallel, the server side began to evolve. In areas with increased load and strict performance requirements, part of the logic was extracted from Django and implemented in Go as separate services. This reduced latency, simplified horizontal scaling, and eliminated bottlenecks without completely reworking the backend.

Migration from Native Apps to Flutter

Formtastic's mobile clients were initially developed as two independent native applications — for iOS and Android. As the product grew, this approach became increasingly inefficient: development slowed down, features were released out of sync, and maintaining two codebases increased the total cost of ownership.

The transition to Flutter allowed us to consolidate mobile development into a single codebase. This significantly simplified maintenance and made new feature releases predictable. Updates began rolling out simultaneously on both platforms, and the interface and app behavior became completely consistent for all users.

From a business perspective, the effect was direct: development and maintenance costs decreased, time-to-market accelerated, and the team gained the ability to test hypotheses and develop the product faster without proportional cost increases. At the same time, Flutter allowed us to maintain high performance and quality user experience.

iOS Application

List of Documents

List of Documents

Form Editor

Form Editor

List of Forms

List of Forms

Documents Sync

Documents Sync

Splashscreen

Splashscreen

iPad Application

Auth Screen

Auth Screen

Main Screen

Main Screen

Form Editor

Form Editor

Forms Search

Forms Search

New Document Dialog

New Document Dialog

For years, Formtastic shipped as two separate native apps — one for iOS, one for Android. Every feature had to be built twice, releases drifted out of sync between the platforms, and maintaining two codebases was quietly draining our roadmap.

Nerdy Production consolidated everything into a single Flutter codebase without disrupting the product our customers depend on. Now both apps ship the same features at the same time, the experience is identical on iPhone and Android, and our time to production has dropped dramatically. We maintain one codebase instead of two, and the team finally spends its energy on new features rather than keeping two apps in sync.

Julian Garbotz
Julian Garbotz
Managing director, Formtastic GmbH

Summary

Formtastic is an example of deliberate technological evolution of a product. Moving the frontend from Django to Nuxt simplified web version development and provided gains in speed and SEO. Targeted use of Go on the server solved performance issues without radical platform changes. The transition from native mobile apps to Flutter reduced ownership costs and accelerated product development. As a result, the system became more stable, flexible, and better prepared for scaling.

Consolidating Formtastic's two native apps into one codebase is exactly the kind of migration we handle in Flutter app development.

Project Details

Client
Formtasic GmbH
Date
January 10, 2022
Duration
1 Year

Interested in a similar project?

Let's discuss how we can help bring your vision to life.

Get in Touch