Back to registry
main·4b43c11·Working

Ezly

Full-Rust invoicing platform for freelancers.

A Leptos SSR + WASM frontend, Axum backend, SeaORM/PostgreSQL persistence, Redis sessions and Lettre SMTP pipeline for quotes, invoices, PDFs and automatic notifications.

Private repository
INV-2026-0142,840.00 EUR
paid this month12.4k
TypeSaaS productRoleProduct design, full-stack RustBuilt2026stackFull RustdocsPDFmailSMTP
Stack

Frontend

  • LeptosSSR UI with hydrated Rust components.
  • WASMClient-side interactions compiled from Rust.
  • TailwindUtility layer for dense product screens.

Backend

  • AxumHTTP API, server functions and route boundaries.
  • PostgreSQLPersistent invoices, clients and document states.
  • RedisSession and background workflow support.

Delivery

  • LettreSMTP pipeline for quote and invoice notifications.
  • PDFGenerated documents for client-facing records.
  • DockerRepeatable local and deployment environment.
01

Why I built this

Invoicing is a perfect domain for full-stack Rust: structured business rules, reliable background actions and a UI that benefits from SSR.

The goal is not only to generate invoices, but to own the whole quote-to-payment lifecycle.

02

How it works

The app separates Leptos UI, Axum server, domain models and SeaORM migrations across a Cargo workspace.

Document state changes trigger email notifications, PDF generation and dashboard updates.

03

Key decisions

  1. 01

    Leptos for SSR and hydration

    The app keeps a fast first paint while still allowing interactive Rust-powered UI on the client.

  2. 02

    Domain crate for business rules

    Quotes, invoices and statuses live outside handlers so the rules stay testable.

  3. 03

    Infrastructure stays boring

    PostgreSQL, Redis, SMTP and Docker Compose keep the product deployable without exotic dependencies.

04

What I learned

  • Full-stack Rust is very productive when the domain is strongly typed.
  • Business workflows need explicit states more than clever UI shortcuts.