Want to try fastn for your company's website?
Book a Demo

`fastn` - Full-stack Web Development Made Easy

`fastn` is a web-framework, a content management system, and an integrated development environment for its language. `fastn` is a webserver, and compiles `.ftd` files to HTML/CSS/JS, and can be deployed on your server, or on `fastn cloud` by FifthTry. `fastn` uses its programming language for building user interfaces and content centric websites. `fastn` language is easy to learn, especially for non programmers, but does not compromise on what you can build with it. The quickest way to quickly learn about `fastn` is by watching our short [video course: Expander](/expander/), it takes you through the basics. Then checkout the [frontend](/frontend/) and [backend](/backend/) sections of our documentation.

`fastn` language: Programming Language For The Next Billion Programmers

`fastn` language is designed with minimal and uniform syntax, and at first glance does not even look like a programming language.
No quotes for string, multi-line strings are easy
-- amitu: Hello World! πŸ˜€

-- amitu:

you can also write multiline messages easily!

no quotes. and **markdown** is *supported*.
Lang:
ftd
We have called a "function" named "amitu" with "Hello World! πŸ˜€" as input, yet it does not feel technical. This is what it produces:
Hello World! πŸ˜€
you can also write multiline messages easily! no quotes. and **markdown** is *supported*.
Learn more about [`fastn` Programming Language](/ftd/).

There are a lot of ready made `fastn` components available today

Ready made components can be imported and used.
-- import: fastn-community.github.io/bling/quote

-- quote.charcoal: Amit Upadhyay
label: Creator of `fastn`
avatar: $fastn-assets.files.images.amitu.jpg
logo: $fastn-assets.files.images.logo-fifthtry.svg

The web has lost some of the exuberance from the
early 2000s, and it makes me a little sad.
Lang:
ftd
The web has lost some of the exuberance from the early 2000s, and it makes me a little sad.
Amit Upadhyay
Creator of `fastn`

Or you can create your own components

Creating a custom component
-- component toggle-text:
boolean $current: false
caption title:

-- ftd.text: $toggle-text.title
align-self: center
text-align: center
color if { toggle-text.current }: $inherited.colors.cta-primary.disabled
color: $inherited.colors.cta-primary.text
background.solid: $inherited.colors.cta-primary.base
$on-click$: $ftd.toggle($a = $toggle-text.current)
border-radius.px: 5

-- end: toggle-text

-- toggle-text: `fastn` is cool!
Lang:
ftd
Output
`fastn` is cool!
`fastn`'s event handling capabilities can be used for form validation, ajax requests etc, to create fully functional frontend applications.

Integrated Web Development Experience

`fastn` come with package management, web server, opinionated design system, dark mode and responsive by default. If you are getting started with frontend development, `fastn` framework takes care of a lot of things for you, and all you have to focus on is your product. We are working towards our own hosted web based IDE, version controlled code hosting and collaboration platform so you and your team gets a one stop solution for building websites.

`fastn` for Static Sites

`fastn` websites can be compiled into static html, js, css etc, and can be deployed on any static hosting providers eg [Github Pages](/github-pages/), [Vercel](/vercel/) etc.
`fastn` source code of the page you are reading
-- import: fastn-community.github.io/doc-site as ds

-- ds.page: Overview of `fastn` and its language

`fastn` has its programming language which is used for building user interfaces
and content centric websites. `fastn` language is easy to learn, especially for
non programmers, but does not compromise on what you can build with it.
Lang:
ftd
`fastn` is a good alternative for content websites like blogs, knowledge bases, portfolio websites, project and marketing websites etc. It is cheap, fast, and requires little maintenance.

Data Driven Website

fetching data from API
-- import: fastn/processors as pr

-- result r:
$processor$: pr.http
url: https://api.github.com/search/repositories
sort: stars
order: desc
q: language:python
Lang:
ftd
Working With SQL Is Breeze
-- import: fastn/processors as pr

-- people:
$processor$: pr.package-query
db: db.sqlite

SELECT * FROM user;


-- show-person: $p
for: $p in $people
Lang:
ftd
`fastn` can be used to create data driven website, dashboards.
Dynamic URLs
-- fastn.dynamic-urls:

# Profile Page
url: /<string:username>/
document: profile.ftd
Lang:
ftd
`fastn` can be used for creating a lot of web application backends as well.

Upcoming WASM Support

We are working on `wasm` support so developers can extend `fastn's` standard libraries and offer access to more backend functionalities.

Hosting Dynamic Sites

For dynamic sites you can deploy `fastn` cli on the platform of your choice. We ship ready made Docker containers that you can add to your infrastructure.

`fastn` Cloud

We also offer our own hosting solution for your static and dynamic sites. Using `fastn` Cloud frees you from devops needs, and you get a fully integrated, managed hosting solution, that a non programmers can use with ease.