International software engineering with African roots — AI systems, cloud infrastructure, and digital products that are secure, scalable, and beautifully designed.
Table of Contents
We're an international software engineering company with African roots. We don't just write code; we solve business problems — from AI-powered workflows to production payments, cloud platforms, and product delivery for teams worldwide.
Website: stackwisetechnologies.com
We integrate intelligent systems into your workflows. From AI-powered assistants and predictive analytics to automated operational tooling, we help companies reduce manual work and scale efficiently.
We design and deploy robust, high-performance backends. Our team specializes in scalable databases, microservices architectures, serverless computing, and DevOps pipelines that guarantee high availability.
We build responsive web platforms, intuitive SaaS products, and native mobile experiences that delight users. We focus on modern frameworks, clean UI/UX, and exceptional performance.
We develop secure RESTful and GraphQL APIs that power everything from mobile apps to enterprise integrations, ensuring seamless data flow across your entire tech stack.
We build utilities and open-source packages that help other engineers work faster, smarter, and with fewer friction points.
This repo also powers Stackwise’s client payment flows: one-time invoices (Paystack card + KPay Mobile Money), printable receipts, and Paystack recurring maintenance subscriptions.
We utilize a modern, battle-tested technology stack to ensure our products are robust and future-proof:
- Frontend: React, Next.js, Vue.js, Tailwind CSS
- Backend: Node.js, Python, Go, TypeScript
- Database: PostgreSQL, MongoDB, Redis, Firebase
- Cloud & DevOps: AWS, Google Cloud, Docker, Kubernetes, CI/CD
- AI/ML: OpenAI, LangChain, TensorFlow
- Payments: Paystack, KPay, Neon Postgres
Marketing site for stackwisetechnologies.com, built with Next.js and deployed to Cloudflare Workers via OpenNext.
npm install
npm run devLocales:
- English: http://localhost:3000/en
- French: http://localhost:3000/fr
| Command | What it does |
|---|---|
npm run dev |
Next.js local dev server |
npm run build |
Production Next.js build |
npm run lint |
ESLint |
npm test |
Unit tests (Vitest) |
npm run typecheck |
TypeScript (tsc --noEmit) |
npm run db:migrate |
Apply SQL migrations to Neon (uses .env.local → .env.prod → .env) |
npm run db:migrate:prod |
Apply migrations to production Neon (MIGRATE_ENV=prod, reads .env.prod only) |
npm run db:reset:prod-payments |
Dry-run cleanup of sandbox rows in prod Neon; pass --confirm to apply |
npm run preview |
Build OpenNext worker and preview in workerd via Wrangler |
npm run build:worker |
Build the Cloudflare Worker bundle only |
npm run deploy |
Build + deploy to Cloudflare Workers |
npm run deploy:live |
Full production deploy — see Deploy to production |
npm run cf:secrets |
Upload Worker secrets from .env.prod without redeploying |
npm run cf:whoami |
Show Cloudflare auth account |
npm run cf:status |
Show the live Workers deployment status |
| File | Purpose |
|---|---|
.env.local |
Local development (gitignored). Copy from .env.example. |
.env.prod |
Production secrets and config (gitignored). Used by deploy and prod migrations. |
.env.example |
Template with placeholder keys — safe to commit. |
Never commit .env.local or .env.prod.
Migrations live in migrations/*.sql and are applied in filename order.
# Local / dev Neon
npm run db:migrate
# Production Neon (uses DATABASE_URL from .env.prod)
npm run db:migrate:prodThe app also runs ensureSchema() on first DB access, which applies any pending migration files automatically.
You do not need GitHub Actions or the Cloudflare dashboard to ship:
# One-time: log in to Cloudflare
npx wrangler login
# Create .env.prod with production values (see .env.example)
# Then ship:
npm run deploy:liveRuns scripts/deploy-live.sh, which:
- Checks auth — exits if
wrangler whoamifails. - Build env — copies
.env.prod→.env.production.localsoNEXT_PUBLIC_*(e.g. site URL) is baked into the Next.js build, not localhost from.env.local. - Sync secrets — calls
scripts/sync-cloudflare-env.mjsto upload every key in.env.prodto thestackwise-technologiesWorker viawrangler secret bulk. - Build — runs
npm run build:worker(OpenNext + Next.js production build). - Deploy — publishes to Cloudflare Workers at 100% traffic, tagged with git branch + short SHA (e.g.
main@abc1234).
After editing .env.prod, push new secrets without rebuilding:
npm run cf:secrets
# equivalent to: node scripts/sync-cloudflare-env.mjs .env.prodRequires wrangler login. Uploads all non-comment KEY=value lines from the file as encrypted Worker secrets.
| File | Invoked by | Description |
|---|---|---|
scripts/deploy-live.sh |
npm run deploy:live |
End-to-end production deploy: env, secrets, build, publish. |
scripts/sync-cloudflare-env.mjs |
npm run cf:secrets, deploy-live.sh |
Parses an env file and runs wrangler secret bulk for Worker stackwise-technologies. Optional arg: path to env file (default .env.prod). |
scripts/migrate.mjs |
npm run db:migrate, npm run db:migrate:prod |
Loads env files, connects to Neon, runs all migrations/*.sql in order. Set MIGRATE_ENV=prod to force .env.prod. |
scripts/db-reset-prod-payments.mjs |
npm run db:reset:prod-payments |
Removes test/sandbox payment links from production Neon and marks remaining drafts as live (kpay_is_test = false). Dry-run by default; --confirm to apply. |
- Admin dashboard: http://localhost:3000/admin
- Payment admin uses Neon Postgres, Paystack (card), KPay (Mobile Money), and SMTP — configure in
.env.local. - For local payment E2E, set
NEXT_PUBLIC_SITE_URL=http://localhost:3000in.env.local. - See docs/PAYMENTS.md for payment flow, receipts, and legal notices.
Customer payment pages (/pay/*) include a legal notice linking to Payment processing & data. See docs/PAYMENTS.md for how payments, receipts, and personal data are handled.
We believe in giving back to the community that makes our work possible. Some repositories here power production systems, while others are open-source projects, internal tools, and experiments that push technology forward. Feel free to explore, fork, and contribute!
Whether you're looking for a reliable technology partner, exploring our previous work, or looking to contribute to our open-source ecosystem—welcome to Stackwise.
We're always excited to discuss new ideas, solve complex problems, and build the future.
📫 Get in touch:
- Website: https://stackwisetechnologies.com
- Email: info@stackwisetechnologies.com
- Book a call: Cal.com discovery link (see
NEXT_PUBLIC_CAL_COM_BOOKING_URLin env; guesttshikombadaniel@gmail.comis always prefilled)
Building the future, one line of code at a time.



