Jeremy Howard Profile picture
Jul 29 14 tweets 6 min read Read on X
Announcing FastHTML. A new way to create modern interactive web apps.

Scales down to a 6-line python file; scales up to complex production apps.

Auth, DBs, caching, styling, etc built-in & replaceable and extensible. 1-click deploy to @Railway, @vercel, @huggingface, & more. Image
To get started, head over to the home page: .

The whole site, designed by the @tinloof gang, is itself a running FastHTML app, and includes live code examples running inside that page.fastht.ml
I started FastHTML because during 25+ years of web development, I realized that web programming could be easier & more powerful. I feel that recent trends move away from the power of the web’s foundations, resulting in a fractured ecosystem of over-complex frameworks and tools. Image
We've had preview users testing out FastHTML for the last few weeks, and the feedback has been amazing. One told us they rewrote their custom blog from react to FastHTML & their lines of code went down 5x.

Learn the concepts at this 'About' site:
about.fastht.ml
If you want to dive right in, the docs have many end-to-end FastHTML example apps to learn from:
docs.fastht.ml
I've created a 1-hour mini-course on FastHTML to show how to create and deploy a complete interactive web app from scratch using pure Python.
We've also got AI chat apps, collaborative games, canvas drawing apps, Stripe integration, and many more you can learn from in our examples repo:
github.com/AnswerDotAI/fa…
If you're like me and learn best from reading code, we've created a complete FastHTML Todo example with custom authentication, drag & drop, DB integration, and more, with every line heavily commented to show you exactly what's going on:
github.com/AnswerDotAI/fa…
FastHTML itself is very small -- under 1000 lines of code. The magic is in the ideas it brings together, particularly @htmx_org & ASGI/Uvicorn/Starlette. (Screenshots below from .) And we borrowed heavily from the design of @tiangolo's brilliant FastAPI. about.fastht.ml

Image
Image
Legendary Python coder and "Two Scoops of Django" co-author @audreyfeldroy told me that she thinks the real power of FastHTML is in how it scales up to make anything possible -- so it's worth putting in the time to learn it properly. Image
As @audreyfeldroy points out, FastHTML is very different to most web dev approaches, and stuff like our "FastTags" (FT) can feel pretty weird at first -- but once it clicks, you suddenly have superpowers! Image
If you want to try out a new, easier, faster, saner way to write web applications in Python, come on over to FastHTML!
fastht.ml
Wanna try a little FastHTML app right now? I've created Web2MD, where you can paste in or load in any website, and it's converted to markdown. Click 'Go to markdown' to see the markdown, and click the 'copy' button to grab it.

Edits update in real time!
web2md.answer.ai
Image
PS: Web2MD is implemented in ~70 lines of code. And it even includes an API version. I use it for my LLMs all the time now -- I find it works more reliably than any of the other LLM markdown APIs I've tried.
github.com/AnswerDotAI/we…

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Jeremy Howard

Jeremy Howard Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @jeremyphoward

Jul 4
This is disgraceful. And ironic.

@stripe canceled an account used to collect money for a course. The cancellation was due to an AI/ML model failure.

The course was about how to use AI/ML correctly.
In this case @HamelHusain has enough reach on twitter that he got someone to notice and fix the mistake. But that’s not a solution for most people.
As we’ve been harping on about for many many years:

ALL ALGORITHMIC DECISION MAKING MUST HAVE MEANINGFUL HUMAN RECOURSE.
Read 4 tweets
Jun 29
For those that hope (or worry) that LLMs will do breakthrough scientific research, I've got good (or bad) news:

LLMs are particularly, exceedingly, marvellously ill-suited to this task. (if you're a researcher, you'll have noticed this already)

Here's why🧵
Breakthrough research requires either:

1. Going in a totally new and unexpected direction that everyone decided long ago was stupid, or
2. Finding some extraordinary new experimental data that means we have to change our theories

LLMs can't run experiments, so we'll focus on 1
It's not helpful to just say "LLMs can't reason", since clearly they do some things which humans would use reasoning for.

But LLMs are, first and foremost, fuzzy subgraph matching machines (at *massive* scale*).
Read 21 tweets
Jun 21
Today @AnthropicAI launched Claude Sonnet 3.5, the most powerful language model in the world.

And today, we're making it even better, launching Claudette--Claude's BFF!

Claudette makes Claude's awesome features easier & more powerful for Pythonistas.🧵
claudette.answer.ai
With Claudette, you can chat through the API just as easily as you can chat through the web app. claude.ai
Image
But you can also do stuff you can't do in the web app at all, like "prefill" -- forcing Claude to start its response with whatever you want. Image
Read 8 tweets
Jun 17
I've done a deep dive into SB 1047 over the last few weeks, and here's what you need to know:

*Nobody* should be supporting this bill in its current state. It will *not* actually cover the largest models, nor will it actually protect open source.

But it can be easily fixed!🧵
This is important, so don't just read this thread, instead read the 6000+ word article I just published.

In the article I explain how AI *actually* works, and why these details totally break legislation like SB 1047. Policy makers *need* to know this:
answer.ai/posts/2024-06-…
SB 1047 does not cover "base models". But these are the models where >99% of compute is used. By not covering these models, the bill will probably actually not cover any models at all.

(There are also dozens of trivial workarounds for anyone wanting to train uncovered models.) Image
Read 10 tweets
Jun 7
Someone on HN claimed @MSFTCopilot refuses to say who won the 2020 US election.

I didn't believe them.

I was wrong. Wow. Image
To replicate:

Go to , and type "Who won the 2020 US presidential election?"

All of the options, default ("balanced"), "creative", and "precise" refuse to answer. 🙊copilot.microsoft.com
Oh and then it gives this rather passive aggressive "It might be time to move onto a new topic" prompt: Image
Read 4 tweets
May 27
Want database diagrams, table/view/column autocomplete, and other goodies when using sqlite in @ProjectJupyter?

Then you might be interested in my new project `fastlite`, which adds some cool stuff to @simonw's marvellous sqlite-utils project.

Link in next tweet. Image
To install it, just do `pip install fastlite`. It'll install sqlite-utils automatically. (And sqlite itself is already installed with Python.)

Here's the docs:
answerdotai.github.io/fastlite/
And here's the docs for sqlite-utils, which is a beautifully designed library that is clear, easy to understand, and introduces minimal new concepts to learn -- it's just SQL!
sqlite-utils.datasette.io/en/stable/pyth…
Read 8 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Don't want to be a Premium member but still want to support us?

Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us!

:(