Your Tech Stack Is Your Foundation
AZ Learner is currently built on a solid foundation — Tailwind CSS, vanilla JavaScript, Firebase/Firestore. As you scale, you'll need to make deliberate tech decisions that keep the platform fast, secure and maintainable. Good tech choices now save you enormous pain later.
1. Your Current Stack — Strengths and Honest Limitations
Understanding what your current tech does well (and where it will struggle) helps you plan ahead.
- Firebase Firestore: Excellent for real-time data, scales automatically, generous free tier. Watch out for Firestore costs as you scale reads/writes with many users.
- GitHub Pages hosting: Free, reliable for static sites. Cannot run server-side code, but Firebase Functions can fill that gap.
- Vanilla JS + Tailwind: Fast, no build system needed, easy for contributors. As the codebase grows, consider organising code into clear modules.
- No native app yet: Your current web app is mobile-friendly but not installable. Adding PWA capabilities (Service Worker + Manifest) is a high-impact, low-effort upgrade.
2. The Progressive Web App (PWA) Upgrade
A PWA allows students to "install" AZ Learner on their phone home screen, access certain features offline, and receive push notifications — without going through an app store.
- Add a Web App Manifest file — tells browsers what the "app" looks like when installed
- Register a Service Worker — enables offline caching and push notifications
- Add an "Install AZ Learner" prompt for mobile users — improves retention significantly
- This can be implemented in a weekend and dramatically improves the student experience
💡 PWA Impact: Platforms that add PWA capabilities typically see a 30–50% increase in session length and return visits. Students who "install" your app are 3x more likely to stay active than those who only visit via browser.
3. Performance Is a Feature
Many of your students are on affordable smartphones with slow internet connections. A slow platform is a failing platform.
- Target a Lighthouse Performance Score above 80 on mobile (test at PageSpeed Insights)
- Compress all images — most images on the platform are probably 5–10x larger than they need to be
- Lazy-load content below the fold — don't load what the student can't see yet
- Minimise the number of external scripts loaded on each page
- Test the platform on a real budget Android phone on a 3G connection once a month
4. Security Essentials
A security breach — especially involving student data — can end your platform overnight. Get the basics right.
- Review your Firebase Security Rules today — ensure students can only read/write their own data
- Never expose API keys in client-side code beyond what Firebase requires (your current Firebase config in HTML is standard and acceptable)
- Enforce role-based access at the database level, not just the UI level — UI-only protection is not real security
- Enable 2-Factor Authentication (2FA) on your Firebase console and all admin accounts
- Regularly audit who has admin access — remove access for team members who leave
⚠️ Security Rule: The database button being hidden from regular admins in the UI is good, but also ensure your Firestore Security Rules prevent non-CEO users from accessing that data directly via the API. UI-only protection can be bypassed.
5. Scalability Planning
Firebase scales automatically, but your code and data structure need to be designed for growth.
- Design Firestore collections and documents with query performance in mind from the start
- Avoid large documents — Firestore reads the entire document even if you only need one field
- Use Firebase indexes for queries that filter or sort — unindexed queries get slow fast
- Monitor your Firebase usage dashboard monthly — set budget alerts to avoid surprise bills
6. The Native App Question
You've already published an APK (app.apk, appv2.0.apk). This is great. As you grow, consider:
- Publishing on the Google Play Store — massive credibility boost and discovery channel
- Using a framework like Capacitor to wrap your existing web app in a native shell — fast path to a real app
- iOS is a secondary priority given your audience, but worth planning for year 2
7. Developer Sustainability
If you're the only developer, you're a single point of failure. Plan for this.
- Document all key systems, data structures and processes in a developer README
- Use GitHub for all code — never work only on a local machine without pushing changes
- Recruit and train a backup developer or admin who understands the technical basics
- Consider using Firebase Extensions and no-code/low-code tools where possible to reduce custom code burden
🎯 Tech Priority This Month
Run your top 3 pages through Google PageSpeed Insights (pagespeed.web.dev) and record the mobile scores. Fix the top 3 recommended improvements. Then review your Firebase Security Rules and confirm that the rules match your intended access policy. These two steps dramatically improve quality, security and user experience.