A software development framework I built with Fable and GPT 5.6 Sol

192 views
Nick Antonaccio
Nick AntonaccioAdmin
Sep 08, 2026 at 12:33 (edited, 19 revisions)
#1

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

Source - to run the app, just unzip and run RUN_TESTS .bat/sh then START_FLASKFORGE .bat/sh

Docs

Nick Antonaccio
Nick AntonaccioAdmin
Oct 07, 2026 at 16:03
#2

I added Baserow-like functionality to the database builder system:

  1. Workspace shell — "Tables (grid)" view in Studio New tab alongside Schema/Pages/Workflows, with a Data / Schema mode switch. Left rail: searchable table list with field/row counts + Create table. Warm paper + sage theme matched to the rest of Studio.
  2. Schema editing Field grid (rows = fields): name, type, label, required, unique, default, options - inline edit. Create field modal: searchable, grouped type picker with type-specific options (length, precision/scale, choices, upload limits, auto-update). Right-hand inspector for field settings (defaults, permissions, primary/display field, duplicate/delete) and relationship settings (FK name, nullability, ON DELETE/UPDATE, indexing). Create table, create/link relationship, field drag-reorder.
  3. Data grid (preview records) Typed cell editors: text, long text, number/decimal/currency, checkbox, date, datetime, time, select/choices, JSON. Add / duplicate / delete rows, row drag-reorder, per-row select + record detail panel. Multi-cell selection (click, Shift-click, drag), arrow-key navigation, double-click/F2 to edit. Copy / Cut / Paste whole selections as TSV (works with Excel/Sheets), Delete to clear. Relational link columns: single link = related-record selector, many-to-many/reverse = chips; columns can be interleaved anywhere and resized/reordered like fields. Linked-record popover: search, single/multi select, and create-and-link a related record inline (handles forward FKs and reverse one-to-many/one-to-one). Columns: resize (drag edge), reorder (drag header), show/hide (Fields panel). Import/Export preview rows as CSV/TSV.
  4. Saved views (per table) View tabs: Grid, Gallery, Form, Kanban, Calendar, Timeline; create, rename, delete, switch. Per-view: visible fields/order/widths, Sort, Filter (type-aware operators), Group by. View type config: gallery cover/title, kanban group field, calendar date field, timeline start/end, form title/description. Share: deep link (#t=…&v=…) + importable JSON definition.
  5. Persistence model Preview records and views live in .builder/workspace.json via GET/POST /api/workspace — intentionally outside the canonical model (never validated, versioned, or compiled). Schema edits still go through the normal /api/save validation pipeline (autosaved).
  6. The bridge to real FlaskForge pages Create page from view (POST /api/page-from-view) turns any view into an ordinary, validated page: Grid/Gallery/Kanban/Calendar/Timeline views → generated list pages with those displays. Form views → generated form pages. Maps visible columns (incl. relationship columns), first sort → default_sort, and filters → list filters. Generated list displays: Gallery cards (optional image/file cover served through the per-record secured upload route). Kanban grouped server-side by a checkbox/choice field, searching/sorting across all groups. Calendar month grid anchored to real data, with prev/next navigation. Timeline bars from start/end dates. Multiple list pages per entity now supported (namespaced endpoints, URL paths, and templates — no collisions).
  7. Verification tests/test_runtime.py PASS 66 (boots generated app; R26a/b gallery+kanban, R27a/b calendar+timeline) tests/test_studio.py PASS 54 (S47–S52: workspace, sidecar, link columns, bridge, namespaced routes, calendar/timeline) test_core 69, test_release 5, test_source_compat pass Browser suites: workspace (28), link+bridge (12), interleave+popover (9) — 0 failures/0 page errors

Current version v0.48.0, packaged as flaskforge-v341--baserow-grid.zip

https://com-pute.com/nick/flaskforge-v341--baserow-grid.zip

Please login to post a reply.

© 2026 AI By Nick.