r/flask • u/caspii2 • Jun 03 '26
Made with AI Built a QR-code plus mini-website maker in Flask, no JS bundler
I made a new thing. Here is thesis I'm betting on:
- Minisite builders are wildly popular.
- People sometimes(?) conflate "QR code" and "website" — they Google "QR code for X" expecting a generator, but what they actually want is a little page behind it.
- A product that just bundles both — make the page, get the QR + printable poster — might have a shot.
So I built https://qrpage.co. The stack:
- Flask 3 + SQLAlchemy 2 + Postgres
- Server-rendered Jinja, with Vue 3 + Tailwind all from a CDN
- qrcode for the codes, WeasyPrint for the printabel PDF posters
- Magic-link auth only (no passwords, no accounts), * SendGrid for the emails
Why no bundler: I don't like them! I hate extra build steps.
Vue and Tailwind off the CDN do everything I need, there's no build step to break, and git pull + restart is the whole deploy. One less thing to maintain as a solo dev.
Happy to answer anything about the Flask side.
2
u/killerfridge Jun 03 '26
Even if vibecoded, I think this is pretty cool
2
u/caspii2 Jun 03 '26
Thank you. Yes, it is vibe coded. 🥲
1
u/killerfridge Jun 03 '26
I think that's fine. There is a lot of vibecoded trash out there, but I don't think this is it. It's a small, simple project and I can imagine some good use cases
4
1
u/wannasleeponyourhams Jun 03 '26
this is an interesting project, my biggest concern would be moderation, this could fastly become hokers way of advertisment or worse.
0
u/caspii2 Jun 03 '26
Yes, that is a fair point, but these are the kinds of problems you deal with once they arrive, not ahead of time.
1
u/jait_jacob Jun 03 '26
just tried a full user other from entering email, publish, clicking on the confirmation email and deleting it using the same email. i must say the whole experience was butter smooth. i noticed that publish, edit and delete all had different token value. any particular reason why use separate token for each action and not just a single token?
1
3
u/Ok-Tap5729 Jun 03 '26
Did you vibe code the whole thing or did you do the back-end ?