Introduction
For the last 2-3 weeks I've been working quite intensely on getting the organization and teams UI and functionality in place, and it's coming along nicely. The way I work is of an iterative nature and the result of this is that the UI presented in the last post has undergone various changes, or as I like to see them - improvements. I try not to get too invested in an idea, which makes it easier to just scrap the whole thing if I realize that it doesn't really work.
Update summary
- User Invitation Service
- Organization Details page
- Subscription Selector
- Enforcing business rules through access control mechanisms
- Implementing and refining business logic
- Various UI improvements
- Database structural changes
- Application security
- General authorization and role enforcement done by RLS in PostgreSQL
- More specific authorization flow handling in the middleware file
- Granular control in React server actions
- Template Editor UI features
- Multiline text option
The Next Steps: Stripe integration
I'm going to keep this update post short (shorter than the others, anyways...) and will jump directly to what comes next, which is linking the subscription selector service to the Stripe payment API. I've found some guides and it doesn't seem too complicated, though dealing with money makes me nervous and I'll elaborate on why that is: I'd like to have some payment and subscription data in the Templify database, and I always worry about data intergrity when doing data ingress. As much as possible, I like to keep one source of truth for all the data I deal with. Another thing is Templify being GDPR and PCI-DSS compliant. The latter is handled by Stripe, but if I'm not careful with what data I choose to store in my database, I might face compliance issues, which I really want to avoid.
Making a video walkthrough
The major milestone I am working towards is actually just a video walkthrough of some user flow in the application, which is coming soon, I hope. I want to show the actual application and not just a Figma prototype (which I don't have anyways).
The idea was to show the process of a new user signing up, creating an organization, choosing a subscription, adding some teams, inviting users to your organization and adding them to your team. I want to show the business logic and business rules in action, specifically how access control is implemented, which is something I've spent a lot of time working on.
I don't want any part of the UI to look shabby, which forces me to go beyond what is required for an MVP.
This sent Marius down the rabbit hole of refinement and according to legend, he is still travelling deeper and deeper into the abyss, engulfed by constant code refactoring and UI improvements.
Corny jokes aside, some people would probably call me mad for investing so much time in an idea that I don't know whether is going to sell or not, but it's cool to actually complete a product - and a platform at that.
Templify as a platform
Speaking of platforms, I had an idea I ran through Claude AI today, which I use to bounce ideas off of as I am on this project for the most part a solo developer: predefined text templates. I'll get Claude AI or ChatGPT 4 to generate a ton of nice templates for different industries and create a sort of marketplace for these. I also want users to choose if they want to add their text templates to the marketplace where people can fork the templates to use them and give ratings to the text templates. This feature will be available for paid subscriptions only, which adds value to these subscriptions beyond higher usage quotas.
And yes, this means a ton more work for me, but do I ever shy away from unpaid work? Never!
Another thing: I might add AI template generation by using the ChatGPT API, but that will be a future feature that requires more consideration as it adds service costs to the application. I have no capital, so I need to keep costs down, and I do this quite well (...or intend to). $25 is the monthly fee for the Supabase Pro subscription, and Vercel hosting is for free in my case. If this is sufficient, then that is crazy cheap. I haven't looked too closely into the quotas included in the Supabase pro subscription, but it did seem pretty decent and should be enough for Templify, as the app only deals with textual content, in contrast to streaming applications or applications with image and file upload capabilites which requires much higher network quotas - AND MOAR SECURITY (wife guest appearance).
Conclusion
This post ended up a bit longer than intended, but I hope it was interesting and gave some insight into the Templify development process.
Thank you for reading!
