Open Source Invoicing: https://ziglag.com
Better agent-first framework: https://stk.dev
653 karma · joined January 26, 2010
Author of Enferno framework
https://github.com/level09 https://medium.com/@level09 https://level09.com https://mixedcrm.com
@level09
Open Source Invoicing: https://ziglag.com
Better agent-first framework: https://stk.dev
I wanted an easier way to do tasks with AI agents wit easy deployment flaw, simple config. work is still in progress.
Daylight robbery.
Pre-AI bias is slowly dying.
ziglag (https://github.com/level09/ziglag): self-hosted invoicing for freelancers, built on top of stk. clients, invoices, VAT, PDF, shareable links, MIT. got tired of paying a monthly fee to send a pdf.
idea is to keep chipping away. every subscription that annoys me is fair game. small tools, self-hosted, no accounts, no seats, no upsell. if it's useful for me someone else probably wants it too, so might as well open source it. open to ideas on what to kill next.
What’s worse: no way to notify followers or export data after a ban.
Lesson here: Never outsource your identity or communication to a platform you don’t control, treat them as disposable channels, that might disappear any day.
for me AI has been less about building more/fast, and more about unlocking potential that was always out of reach.
Knowledge gaps that would've taken years to fill, new angles I wouldn't have thought to explore on my own. It's not that it makes more software.
it just makes you more capable of tackling things you couldn't before.
Code is now cheap, so the advantage moved into things that cannot be copied by looking, accumulated data, hidden workflows, trust, and judgment earned by staying inside a problem too long.
Big companies copy shapes, not gravity. If your edge is visible, it is temporary. If it only appears over time, you are still early.
- Build something boring that makes money. Excitement is optional; users are not.
- Use AI less like a chatbot and more like infrastructure, background processes that think while I sleep.
- Go back to fundamentals that compound, graphics, systems, taste.
- Experiment selectively; curiosity without commitment.
- Invest in people, not “networking.” Fewer pings, more real conversations.
- Protect focus like equity.
One differentiator among others: try finding a stack with full self-hosted auth. Most push you toward third parties! I wanted to own my users.
https://medium.com/@level09/the-stack-that-owns-you-7ff06b26...
Stack choices: Flask for its elegant simplicity without hidden conventions, Vue with Vuetify over CDN to skip build-tool pain (massive productivity and time win btw), PostgreSQL because boring is reliable, Redis (optional) for sessions and caching, and Celery when background jobs are needed (optional too)
The real question is not raw speed. It's how fast you ship, how many users you need before performance matters and whether you actually own your stack. Most modern solutions push you toward third party auth. This gives you full self hosted auth out of the box.
Scale problems are good problems to have.
People chase FastAPI for speed, but if your bottleneck is the database or any network bound work, using async vs sync framework barely matters. Premature optimization is real.
Flask handles production traffic perfectly fine. And by the time it doesn't, you will know exactly where the real bottleneck is.
I'll work on a modern quick deploy option for ReadyKit. I have an Ansible playbook that handles single server deployments, the monolith old school approach I still prefer. It just needs a bit of cleanup before it's shareable.
Open to feature requests too. If one click deploys to Fly.io, Railway or similar would help, I can add that. Let me know what would be useful.
Honestly, open source changed my life. I've built my own products on this stack. https://mixedcrm.com for example runs on Enferno, along with many several other projects of different sizes. It's been my go to foundation for years.
After taking so much from the ecosystem, giving back just felt right. And value has a way of coming back, whether through contributions, feedback, connections or simply knowing the code is being battle tested by more than just me :)
A few notes:
Celery is completely optional, it's there if you need background jobs, but the core app runs fine without it. Same with Redis, it falls back to filesystem sessions in development. The idea is to add complexity only when you actually need it.
And that is the beauty of open source. If you don't like Celery, swap it for RQ, Dramatiq or whatever fits your workflow. It's your code.
The stack is opinionated, but the opinion is simple, pick boring, battle tested tools and stay lean. No webpack, no heavy build chains, no node_modules black hole. Vue and Vuetify load from CDN in development and that is perfectly fine. It ships products just as well.
Django is fantastic, and if you're productive there, there is no reason to switch. But if you ever want something lighter where you wire up only what you need, give it a try.
On the repos, they're intentionally separate projects. Enferno stays as a minimal Flask framework with fewer dependencies, ideal for anyone who wants a clean starting point. ReadyKit builds on top of Enferno with SaaS-specific features like workspaces, Stripe billing, and team collaboration. I plan to maintain both:
* Enferno: lean framework for general Flask projects * ReadyKit: batteries-included SaaS template
This gives users the freedom to choose the level of complexity they need.
On the redirect, good point. I'll set that up so enferno.io links don't cause confusion.
On dark mode, fair feedback. I can add a dark mode toggle and will work on that.
Thanks again for checking it out!