Project Forge
Project Forge is a powerful application generator and project manager for building modern web applications in Go. It helps developers rapidly create, customize, and scale applications through an architecture that puts you in complete control. Choose from dozens of optional modules — from database integrations and OAuth providers to advanced features like GraphQL APIs, WebSocket support, and desktop app builds.
Every Project Forge application includes a blazingly fast HTTP server built on quicktemplate for type-safe HTML rendering. The optional Model-View-Controller framework provides enterprise-grade features out of the box: content negotiation, hierarchical navigation, breadcrumbs, OAuth integration with 40+ providers, stateless sessions, comprehensive theming with dark mode, SVG icon management, syntax highlighting, rich form components, and optimized asset embedding.
The included UI framework delivers exceptional performance without sacrificing developer experience or user accessibility. This very page demonstrates the power: fully animated, themed, and responsive design delivered in just three HTTP requests (HTML, CSS, JS) totaling under 20KB compressed. Sub-millisecond server response times and sub-20ms browser rendering create an incredibly snappy user experience. Progressive enhancement via an integrated ESBuild TypeScript pipeline ensures full functionality even with JavaScript disabled.
Deploy anywhere, run everywhere. Project Forge applications can target virtually every platform: native desktop apps via system webviews, mobile applications for iOS and Android, WebAssembly modules, and notarized universal macOS binaries. Enable all build targets and generate nearly 60 platform-specific builds, each producing a compact ~20MB self-contained binary. Built-in auto-update capabilities work seamlessly with GitHub Releases, while comprehensive CI/CD workflows handle building, testing, linting, and publishing to multiple distribution channels.
Example Applications
-
Rituals.dev (GitHub):
Work with your team to estimate work, track your progress, and gather feedback.
- It's a full websocket-driven rich client application, but also works fine without JavaScript
-
TODO Forge (GitHub):
Manages collections of todo items.
- Almost entirely generated using Project Forge, this is a "stock" application. Provides desktop, mobile, and WASM apps
-
Load Toad (GitHub):
A tool for uploading HTTP Archives (
.harfiles) and running load tests.- Also supports client-defined JavaScript, executed in-process on the server
-
Admini (GitHub):
A database management application, basically. It does other stuff too.
- This one is weird, it tried to build a user-defined admin app, but it just ended up looking like a 1990's web portal
-
NPN (GitHub):
Basically Postman, it helps you explore and test HTTP services with a focus on speed and correctness.
- This uses a Vue.js-based rich client application, and a websocket to handle communication
-
Solitaire (GitHub):
An example game, not really anything right now.
- It mainly exists as a testbed for me, and to show the features of Project Forge projects
Standard Project Forge Workflow
Getting Started
- Install Project Forge - Download from projectforge.dev, use Homebrew, or build from source
- Create Your Project - Run
projectforgeto launch the web interface and generate a new application - Choose Modules - Select from 40+ optional modules like databases, OAuth, GraphQL, desktop builds, and more
- Generate & Customize - Project Forge creates a complete Go application with your chosen features
Development Workflow
- Live Development - Run
./bin/dev.shfor instant live-reload during development - Add Features - Use the web interface to add new modules, modify existing ones, or update your configuration
- Customize Code - Add or edit controllers in
app/controller/, add services inapp/services.go - Build & Deploy - Generate production builds for multiple platforms with included CI/CD workflows
What You Get
- Modern Go Architecture - Latest Go version with clean, maintainable code structure and comprehensive standard library
- Lightning-Fast UI - Beautiful, accessible HTML interface that works perfectly without JavaScript
- Developer Experience - Sub-second build times, instant live-reload, and intuitive project management
- Multi-Platform Builds - Native applications for mobile, desktop, web, and specialized architectures
- Self-Contained Deployment - Single ~20MB binary includes web server, CLI tools, and all dependencies
- Enterprise Authentication - OAuth integration with 40+ providers, stateless sessions, and comprehensive theming
- Database Flexibility - Type-safe APIs for PostgreSQL, MySQL, SQLite, or go database-free
- Modern Frontend - ESBuild-powered TypeScript, progressive enhancement, embedded SVGs, and responsive CSS
- Production Ready - Built-in CI/CD, auto-updates, monitoring, logging, and deployment automation