How AI Allowed me to Work Again
August 15, 2026
I was laid off in the spring of 2022; the project was shut down and I had a ton of time on my hands, so I decided to take that opportunity to work on some projects I had been itching to do for many years, and rebuilding Formr (the precursor to Flick) was at the top of the list.
I was tidying up the READMEs and setting up the repos when my mother had a paralyzing stroke. I spent the next three years as a full-time caregiver and had to put all work on hold. I'm still a full-time caregiver, but I can finally start working again because of AI.
Claude has given me the confidence to finally release the Flick ecosystem, knowing that when there's an issue, I can get some assistance fixing it. This has lifted a tremendous weight off my shoulders, and has allowed me to finally share Flick with you.
What's Formr?
Formr is the original form building library I created in 2014. As of this writing it has ~24,000 installs on Packagist and over 380 stars on GitHub. Not too bad. The repo still exists at https://github.com/formr/formr if you want to check it out.
Why was Formr killed off?
Because it's old and the code is not very good... and to be completely honest it was never as good as it should have been. I created it as a solution to help a non-technical web designer friend and decided to put it on GitHub in hopes it might help others. I had no idea what I was doing, and for YEARS I anxiously wanted to replace it but just never found the time.
The timing isn't great now, but this is the way things turned out. Better late than never, eh? Which leads us to...
Why use Flick when I can use AI?
I struggled with this one. Why, indeed? Part of me wanted to release it because I wanted you to use it, and experience it. And another part of me thought: why bother? Nobody will use it because they will just build their own.
But then I thought about what I would do as a developer. Do I want to have a one-off form for every project? Something that's different on every project? Has a different API and user/developer experience? Something that is fickle and fragile and costs me tokens? Or would I rather get some other bozo to do that for me? Would I rather use something that's familiar, easy-to-use, and costs the other guy tokens? Yes! So I decided to take one for the team and be that guy. You're welcome.
Was Flick built with AI?
I wrote about 95% of Flick by hand. AI helped with some tests, the multistep forms, and some regex. I also used AI on about half of the Pro package. I would design the API and Claude would do the mundane stuff and write tests. I still manually tested everything... let me know if something slipped through!
Does Flick do everything Formr does?
Yes, and more! You get SMTP email, multistep forms, and a lot more out of the box. I created a paid pro repo that has several enhancement packages to handle email services, databases, authentication, file uploads (with image manipulation), client-side validation, and more. Why paid? Because maintaining quality software takes time, and this lets me continue to add new packages and improve it. It's $99 a year.
Why the new name?
Because the name "Formr" is used by another repo and a furniture company and I don't want you or anybody else getting confused when you're just trying to build a form. Plus, the name "Flick" just sounds cool.
I spent a lot of time trying to figure out the absolute easiest way to build a form. Really. I thought about this a LOT and, to me, building a production-ready form with a simple string was about as easy as it gets; I was close with Formr, but not close enough. It's now even easier with Flick, and I can't wait for you to try it!
I have a site running Formr. Do I rewrite it by hand?
No. I wrote a CLI tool that converts your old code for you: flickphp/migrate.
composer require --dev flickphp/migrate # preview the changes without touching anything ./vendor/bin/migrate-formr app/ --dry-run # then run it for real ./vendor/bin/migrate-formr app/
It handles 60+ method renames (create_form() to create(), input_text() to
text(), and so on), rewrites Formr's pipe-and-bracket validation rules into
Flick's comma-and-colon syntax, and converts your config array. Anything it
can't safely convert gets a // TODO: FLICK MIGRATION comment rather than a
guess — it never invents a rule you didn't have, and it leaves alone anything
ambiguous, like a parenthesized value it can't tell is rules or a dropdown name.
It rewrites files in place and drops a .bak next to each one first, so a bad
run is recoverable even if you're not using git. Run it on a branch anyway, read
the TODOs, and check the forms in a browser. It gets you most of the way there;
it doesn't pretend to get you all of it.
If you used Formr, I hope Flick feels like a worthy successor. And if you're new here... welcome! I hope Flick not only saves you a ton of time, but that you enjoy using it as much as I do.
– Tim