Introduction
What is Dogen?
Dogen is a schema-driven platform that generates custom web clients for managing application data—without writing UI code. By defining your entities and field types, Dogen builds a dynamic interface that adapts as your needs evolve. It supports advanced field behaviors like markdown editing, file uploads, and validations out of the box, turning raw data structures into usable, polished tooling. Think of it as a modular, no-code custom CMS tailored precisely to your application—ready in minutes, and built to scale with you.
How it Works
1. Set Up Your Project
Begin by installing the Dogen Application Platform extension in your Firebase project. This sets up everything you need to start using Dogen in about 5 minutes.
View setup instructions →2. Create Blueprints
Use our starter client's Blueprint editor to define your data structures. Our type system is as flexible as a programming language:
Internal Types
Int, Double, Bool, String, DateTime, List<X>, Map<String, X>
Blueprint Types
Object, Embedded, Adapter, Variant, and Enum
Custom Types
Every Blueprint entity you create becomes its own type.
Relationships & References
Connect your entities using powerful relationship types. The generated client provides intuitive entity pickers that make it easy to browse, search, and select related documents.
Type Flavors
Built in flavors allow for enhanced capabilities. For example, String(@Email) adds email-specific validation and UI.
3. Create a Generation
When your blueprints are ready, create a new generation. This process compiles your blueprints and builds a custom client tailored to your specifications.
4. Preview and Deploy
Once generation is complete, preview your new client version. Test the changes and either promote the generated client to make it live, or demote it if further adjustments are needed.
5. Use Your Custom Client
Your generated client provides specialized UI controls for each field type. Number fields get numeric inputs, dates get date pickers, and image fields get upload functionality - all automatically.
Fine-tune behavior through the configuration section, where you can set default values, add validation rules, and customize display properties.