Skip to content

Home

FastFN Logo

Self-hosted FaaS platform, high performance, easy to learn, fast to code

GitHub Docs Coverage


Documentation: https://fastfn.dev/en/

Source Code: https://github.com/misaelzapata/fastfn


FastFN is a CLI-friendly, self-hosted FaaS server for building file-routed APIs, shipping SPA + API stacks, and keeping the whole project easy to run locally or on a VM.

A weekend project that got out of hand.

The key features are:

  • Fast to code: Drop a file, get an endpoint, and keep the route tree close to the code that serves it.
  • Automatic Docs: Interactive API documentation (Swagger UI) generated automatically from your code.
  • Polyglot Power: Use the best tool for the job. Python, Node, PHP, Lua, Rust, or Go in one project.
  • SPA + API: Mount a configurable public/ or dist/ folder at / and keep simple API handlers beside it.

FastFN terminal demo

English Quick StartSPA + APILinux ServiceEnglish DocsDocs en Español

Start in 60 seconds

1. Drop a file, get an endpoint

Create a file named hello.js (or .py, .php, .rs):

// hello.js
exports.handler = async () => "Hello World";
# hello.py
def handler(event):
    return {"hello": "world"}
<?php
function handler($event) {
    return "Hello World";
}
function handler(event)
  return { hello = "world" }
end
package main

func handler(event map[string]interface{}) map[string]interface{} {
    return map[string]interface{}{
        "status": 200,
        "body": "Hello World",
    }
}
use serde_json::{json, Value};

pub fn handler(_event: Value) -> Value {
    json!({
        "status": 200,
        "body": "Hello World"
    })
}

2. Run the server

fastfn dev

3. Call your API

FastFN full browser view for /hello

No serverless.yml. No framework boilerplate. File routes are discovered automatically.

Where to go next