Repolode
digitallyinduced

digitallyinduced/ihp

A batteries-included, type-safe web framework for Haskell with built-in routing, views, PostgreSQL models and a dev IDE.

Stars
5,379
Forks
226
Open issues
287
Last commit
2 hours ago

What is it?

IHP is a full-stack web framework written in Haskell. It bundles routing, controllers, type-safe HTML templating (HSX), database models on PostgreSQL, form validation and authentication, so a project starts with most common web app pieces already in place.

The framework includes a development IDE with a schema designer for editing tables through a GUI or raw SQL, code generators for controllers, views and migrations, and a live reload dev server. Auto Refresh lets views update when underlying data changes, and a datasync package provides real-time sync over WebSockets.

Nix manages the toolchain, including GHC and PostgreSQL, so a project environment is set up with `devenv up`. Deployment is handled through a NixOS-based tool that applies a declarative server configuration over SSH, with Docker and bare-metal deployments also supported.

Key features

  • 01Type-safe routing, queries and HSX HTML templates checked at compile time.
  • 02Visual schema designer and code generators for controllers, views and migrations.
  • 03Live reload dev server and Auto Refresh for real-time views.
  • 04Built-in signup, login, forms and validation.
  • 05Nix-managed development environment including GHC and PostgreSQL.
  • 06NixOS-based declarative deployment with TLS via Let's Encrypt.

Use cases

  • Building a database-backed web app in Haskell with less boilerplate.
  • Teams wanting a reproducible dev environment shared across machines.
  • Projects that need real-time UI updates tied to PostgreSQL data.
  • Prototyping AI-assisted web features where the compiler checks generated code.

Quick start

  1. 1

    Install the project generator via Nix

    nix profile install nixpkgs#ihp-new
  2. 2

    Create a new project

    ihp-new myproject
  3. 3

    Enter the project and start the dev environment

    cd myproject && devenv up

Things to know

  • Requires Nix and Haskell, so the learning curve is steep for developers new to Haskell.

In collections

Topics

FAQ

What is ihp?
A batteries-included, type-safe web framework for Haskell with built-in routing, views, PostgreSQL models and a dev IDE. IHP is a full-stack web framework written in Haskell. It bundles routing, controllers, type-safe HTML templating (HSX), database models on PostgreSQL, form validation and authentication, so a project starts with most common web app pieces already in place.
Is ihp free to use? What license does it have?
ihp is open source under the MIT license. Check the license terms before using it in commercial products.
Is ihp still maintained?
Actively maintained. The last commit to ihp was on Nov 7, 2026.
What can I use ihp for?
Building a database-backed web app in Haskell with less boilerplate. Teams wanting a reproducible dev environment shared across machines. Projects that need real-time UI updates tied to PostgreSQL data. Prototyping AI-assisted web features where the compiler checks generated code.
How do I install ihp?
Install the project generator via Nix: nix profile install nixpkgs#ihp-new Create a new project: ihp-new myproject Enter the project and start the dev environment: cd myproject && devenv up
Where can I get ihp?
The source code and installation instructions are on GitHub: https://github.com/digitallyinduced/ihp

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects