Appearance
Kick-off Plan
This is the master setup checklist for getting Kaya Sync off the ground, from domain and email to infrastructure and architecture. Work through it in priority order.
1. Domain & DNS ✅
| Task | Status | Notes |
|---|---|---|
Register kayasync.com | ✅ Done | Managed on Cloudflare |
| Set up nameservers on Cloudflare | ✅ Done | Free DNS, CDN, DDoS protection, SSL |
| Plan subdomains | ✅ Done | See table below |
Subdomain plan:
| Subdomain | Purpose | Status |
|---|---|---|
kayasync.com | Marketing / landing page | Pending |
wiki.kayasync.com | Internal wiki (this site) | Built, needs deployment + Cloudflare Access |
docs.kayasync.com | Public-facing docs (future) | Reserved for external use |
app.kayasync.com | Operator & client web app | Future |
api.kayasync.com | API gateway | Future |
admin.kayasync.com | Internal ops dashboard | Future |
2. GitHub ✅
| Task | Status | Notes |
|---|---|---|
| Create GitHub organisation | ✅ Done | github.com/Kaya-Sync |
Create kayasync-docs repo | ✅ Done | VitePress docs site |
| Decide repo structure | ⬜ Pending | Monorepo recommended, all services in one repo using Turborepo. Easier at early stage: shared types, atomic commits |
3. Email: Two Separate Concerns
Email has two distinct needs that require two different services.
3a. Team / Business Email
For team communication, evan@kayasync.com, ops@kayasync.com, hello@kayasync.com
| Option | Cost | Recommendation |
|---|---|---|
| Google Workspace | €6.12/user/month | ✅ Recommended |
| Zoho Mail | Free (up to 5 users) | Acceptable alternative |
Action: Set up Google Workspace. Start with 2–3 accounts. Add MX records in Cloudflare.
3b. Transactional Email (System-Generated)
For OTPs, delivery confirmations, operator alerts, payout notifications. This is not Google Workspace. It needs a dedicated email API service.
| Option | Free Tier | Recommendation |
|---|---|---|
| Resend | 3,000 emails/month | ✅ Recommended, simple API, developer-friendly |
| SendGrid | 100/day | Established, more setup |
| Postmark | None (paid only) | Best deliverability |
Action: Create a Resend account. Use noreply@kayasync.com as sender. Wire up later when building notification service.
4. SMS & USSD Provider (Critical)
Operators and Designees need SMS for OTPs and delivery notifications. Many operate in low-connectivity, low-literacy environments. USSD fallback is essential.
| Option | Coverage | USSD | Recommendation |
|---|---|---|---|
| Africa's Talking | Strong African coverage | ✅ Yes | ✅ Recommended |
| Twilio | Global | ❌ No | More expensive, no USSD |
Action: Create an Africa's Talking account. Confirm which countries are in scope for launch before integrating.
5. Payment & Mobile Money Rails (Critical)
Operators are paid out through the platform. A payment integration must be decided before the payout service is built.
| Option | Coverage | Recommendation |
|---|---|---|
| Flutterwave | M-Pesa, MTN MoMo, Airtel, bank transfers across Africa | ✅ Recommended |
| Paystack | Strong Nigeria/Ghana focus | Good if scope is West Africa only |
| M-Pesa direct API | Kenya/Tanzania only | Too narrow for multi-corridor launch |
Action: Create a Flutterwave account. Complete business verification early: approval takes time.
6. Documentation Site: wiki.kayasync.com
The VitePress docs site is built and pushed to GitHub. Internal access only — login via Google or GitHub required.
Step 1: Deploy to Cloudflare Pages (free)
- Go to Cloudflare Dashboard → Pages → Connect to Git
- Select
Kaya-Sync/kayasync-docs - Build command:
npm run docs:build - Output directory:
.vitepress/dist - Add CNAME record in Cloudflare DNS:
wiki→<project>.pages.dev
Auto-deploys on every push to main. No cost.
Step 2: Restrict access with Cloudflare Access (free, up to 50 users)
Cloudflare Access sits in front of the site and requires login before anyone can view it. No code changes to VitePress needed.
- Go to Cloudflare Dashboard → Zero Trust → Access → Applications
- Add an application → Self-hosted
- Application domain:
wiki.kayasync.com - Create a policy: Allow → Emails ending in
@kayasync.com(or list specific emails) - Add identity providers: Google and/or GitHub (configured under Zero Trust → Settings → Authentication)
- Save — anyone hitting
wiki.kayasync.comwill be prompted to log in via Google or GitHub before seeing any content
What this gives you:
- Only people you approve can access the wiki
- Login via existing Google or GitHub accounts — no new passwords
- Free for up to 50 users (Cloudflare Zero Trust free tier)
- Access logs: see who accessed the wiki and when
7. Website: kayasync.com
Marketing/landing page explaining what Kaya Sync is for prospective clients and operators.
Action: Decide on approach: static site (Astro, Next.js) or no-code (Framer, Webflow). Keep separate from the docs site.
8. Cloud Infrastructure: Digital Ocean
Account created. Nothing is hosted yet (correct for this stage.
When ready to host:
- Staging environment: First droplet or App Platform deployment when a service is ready
- Production environment: Set up after staging is validated
- Container Registry: For Docker images when deploying microservices
Action: No action needed now. Revisit when first service is ready to deploy.
9. Project & Issue Tracking
Need a place to track development tasks, bugs, features, and sprints.
| Option | Recommendation |
|---|---|
| Linear | ✅ Recommended, fast, clean, integrates with GitHub, built for startups |
| GitHub Projects | Free, simpler, good if staying within GitHub |
| Jira | Overkill at this stage |
Action: Set up Linear. Connect to github.com/Kaya-Sync. Create first project: Platform Setup.
10. Secret & Credential Management
API keys, database passwords, and tokens must be stored securely, not in code.
| Tool | Purpose |
|---|---|
| 1Password Teams | Shared credential storage for the team |
| GitHub Secrets | CI/CD pipeline secrets (API keys used in GitHub Actions) |
| DO Environment Variables | Runtime secrets for deployed services |
Action: Set up 1Password Teams. Store all third-party credentials there (Cloudflare, DO, Flutterwave, Africa's Talking, Resend) as accounts are created.
11. CI/CD Pipeline
Automated deployments on code push. Start simple.
Phase 1: Docs only:
- GitHub Actions workflow: on push to
main→ build VitePress → deploy to Cloudflare Pages - Cloudflare Pages handles this automatically once connected (no manual workflow needed)
Phase 2: When services exist:
- Run tests on pull requests
- Build Docker images and push to DO Container Registry
- Deploy to staging on merge to
main
12. Architecture & Design (Ongoing)
Design documents, data models, and deployment specs are documented in this site as they are completed.
| Document | Status |
|---|---|
| User roles & responsibilities | ✅ Done |
| User journeys (all 10 roles) | ✅ Done |
| Port allocation map | ✅ Done |
| Service boundaries & APIs | ⬜ In progress |
| Data model & database schema | ⬜ Pending |
| Deployment architecture | ⬜ Pending |
| Authentication & access control | ⬜ Pending |
13. Legal & Compliance (Non-Technical)
Required before public launch or onboarding real operators.
| Item | Notes |
|---|---|
| KYC/AML for operator onboarding | Financial regulation, operators receive payouts |
| Data protection compliance | Depends on operating country (e.g. Kenya Data Protection Act) |
| Terms of Service | Required before users can sign up |
| Privacy Policy | Required alongside ToS |
Action: Engage a local lawyer familiar with fintech/logistics regulations in the launch country.
Priority Order
| # | Action | Why First |
|---|---|---|
| 1 | Google Workspace + Resend | Unblocks team communication and transactional email design |
| 2 | Cloudflare Pages, wiki.kayasync.com | Docs live and shareable with team/investors |
| 3 | Africa's Talking account | Needed before designing OTP and notification flows |
| 4 | Flutterwave account | Needed before building payout service, verification takes time |
| 5 | Linear setup | Needed before development starts in earnest |
| 6 | 1Password Teams | Needed before accumulating more third-party credentials |
| 7 | Monorepo setup | Needed before first service is built |
| 8 | CI/CD pipeline | Start with docs deploy; expand as services are added |