FlaskForge
I built a web app development framework called FlaskForge, which brings together all the best features of every Python+HTML/CSS/JS web development tool I've used in the past ~5 years (+30 years of professional software development experience with other tools).
FlaskForge is a full application/website development studio which runs in a browser. It builds database schema, CRUD interfaces, logic workflows, and all the typical UI/web page layout features. You can work entirely visually with no-code, and/or use any combination of low-code & unrestricted full-code options.
FlaskForge provides complete project management features, versioning (like Git, but fully integrated, without any dependencies), previewing, and automated deployment of completed projects. The Studio is light weight enough to run entirely on an Android phone, but can be deployed to any typical server to handle big projects. It has a full custom AI system built in, but can build projects entirely deterministically, without any AI features required. Completed projects are deployed as Flask apps without any special runtime required.
I built FlaskForge based on all the features, benefits and drawbacks I've experienced making production apps for years with Anvil, Baserow, and other Python frameworks, plus other tools such as NocoDb, Teable, NocoBase, Jam.py, Budibase, Appsmith, SQLPage, Livecode, and also many years of typical software development using traditional tooling in the most popular mainstream programming language ecosystems (and many not-so-common languages too - Rebol more than any other).
I still prefer to use AI based software development methodologies, agents and LLMs, for all my current work, and don't expect that to change in the future. FlaskForge isn't meant to build any imaginable type of application (not VR 3D games, for example). Using an AI agent can of course help you build anything you can dream up, and for most people, they are absolutely the most practical path forward for most types of software development work. Still, FlaskForge is a genuinely viable tool for anyone who prefers the idea of not relying on AI to build business/database applications, web sites, and other common types of useful data management software which go far beyond basic CRUD. It can also be practical as a productive prototyping framework (it's also certainly suitable for production projects), and can be useful when you're traveling, or in other situations where access to an LLM API is unavailable. It may additionally be useful as a teaching tool for new developers who need to learn how software engineering works from the ground up.
I love the fact that FlaskForge studio was built in just a few days as a side project, using $100 of Fable 5 credits and lots of iterations with ChatGPT Sol 5.6. I also love that not only is agentic AI development fully usable within FlaskForge, for convenience, but since every project is output as a typical Flask app, any human or AI model can pick up any application generated by this studio, and run with it, as if it had been created by a traditional full-code Flask development process. FlaskForge in not required in any way to continue work started in FlaskForge.
Here is a short description of the project, generated by GPT (a full 100 page manual is linked below)
FlaskForge is a browser-based visual application and website builder that produces conventional, independently deployable Flask applications. Projects are maintained as a structured .builder model, which FlaskForge validates and compiles deterministically into Flask, SQLAlchemy, WTForms, Jinja, Bootstrap, Alembic, and deployment assets. The generated application does not require FlaskForge at runtime.
It combines visual development with normal Flask portability. Users can design database schemas and relationships, CRUD interfaces, forms, searchable/filterable lists, responsive website pages, dashboards, charts, authentication and permissions, workflows, scheduled/background automation, approval processes, file uploads, and deployment configuration without manually assembling all of those pieces. For requirements outside the visual model, user-owned Python hooks and templates remain available.
The current application includes:
- Visual entity/schema designer with typed fields, computed fields, indexes, one-to-many and many-to-many relationships
- CRUD generation, visual form/list/detail-page editing, search, filters, sorting, pagination, CSV import/export and bulk operations
- General website/page designer with headings, text, Markdown, images, buttons, sections, responsive columns, cards, tabs, alerts, embedded forms, data tables, statistics, charts and raw-HTML escape hatches
- Desktop/tablet/mobile responsive design controls
- Reusable copied blocks and linked reusable components
- Authentication, roles, page permissions, entity operation permissions, row-level policies and field-level view/edit permissions
- Protected file/image uploads
- Visual workflow automation with record/form/button/webhook/scheduled triggers, CRUD, queries, aggregates, variables, conditions, routers, loops, error handling, nested workflows, relationships, email, HTTP/API calls, delayed jobs and custom Python
- State machines and approval workflows
- Undo/Redo plus durable checkpoints, lightweight branches, version comparison and selective merge/cherry-pick GUID-aware database migrations that can recognize renames instead of treating them as destructive drop/recreate changes
- Integrated Preview that automatically offers to Save & Build, create migrations, apply the database and start the generated application
- Project creation, opening, copying and portable deployment ZIP export
- SSH/SCP deployment management with systemd, Docker Compose or background-process operation, health checks, logs, timestamped releases, rollback and database backup/restore support
- Native AI provider/model configuration for OpenAI-compatible services, OpenAI, OpenRouter, LM Studio, Ollama, Anthropic and custom endpoints
- Integrated AI Assist with persistent per-project conversations, previous-session context, Markdown session export, project-aware context and review-before-apply semantic changes
- A phone-optimized Studio interface for editing applications away from a desktop computer
- CLI and semantic-command interfaces for automation and advanced users
- Generated production support for SQLite, PostgreSQL and MySQL/MariaDB
- Generated security features including CSRF protection, authorization enforcement, secure production configuration, protected uploads, password-reset hardening, session revocation and security-event administration
A particularly important architectural benefit is that the visual UI, AI assistant and automation commands all modify the same structured source of truth. They do not independently edit generated Flask files and hope to reconstruct the project later.
Screenshots
- https://com-pute.com/nick/flaskforge-db-schema.jpg
- https://com-pute.com/nick/flaskforge-db-relationships.jpg
- https://com-pute.com/nick/flaskforge-db-crud-forms.jpg
- https://com-pute.com/nick/flaskforge-db-crud-list.jpg
- https://com-pute.com/nick/flaskforge-ui-layout.jpg
- https://com-pute.com/nick/flaskforge-app-preview.jpg
- https://com-pute.com/nick/flaskforge-project-management.jpg
- https://com-pute.com/nick/flaskforge-ai-settings.jpg
- https://com-pute.com/nick/flaskforge-ai.jpg
- https://com-pute.com/nick/flaskforge-ai-completion.jpg
- https://com-pute.com/nick/flaskforge-menu.jpg
- https://com-pute.com/nick/flaskforge-mobile.jpg
Source - to run the app, just unzip and run RUN_TESTS .bat/sh then START_FLASKFORGE .bat/sh
Docs