The questions clients, candidates, and partners ask us most often. Service-specific FAQs live on each service page.
Our smallest discrete project is a one-week discovery sprint — fixed scope, fixed fee, ending in a written recommendation and a delivery estimate. Beyond that, our shortest delivery engagements run four weeks. We don't do single-day spot work or unscoped staff aug shorter than a month, because the overhead of onboarding a Spalce team to your stack only pays off across a full sprint cycle. If you have a tiny request, the docs, blog, or a single call with our team is usually the better starting point.
Three models, picked per project. Fixed-fee for tightly scoped builds with clear acceptance criteria — best when you know exactly what you want. Time-and-materials when scope is genuinely exploratory, billed weekly against a not-to-exceed ceiling. Monthly retainer for ongoing platform work, where a dedicated squad operates as an extension of your engineering org. We publish indicative ranges in proposals and never bill a surprise. Currency is GHS, USD, EUR, or GBP — your call.
Standard terms are Net 14 for monthly retainers and milestone-based for fixed-fee projects (typically 30% on kickoff, 40% at midpoint acceptance, 30% on final acceptance). We invoice through Xero and accept bank transfer, card, and — for clients in West and East Africa — direct mobile money. Late invoices accrue at 1.5% per month after a 7-day grace, but in practice we resolve disputes by talking before anyone reaches for the contract.
Yes — both mutual NDAs before discovery and confidentiality clauses inside the master services agreement. We have a standard mutual NDA we can send within an hour, and we're happy to sign yours if it doesn't contain anything unusual (carve-outs for our pre-existing IP, residual knowledge, and aggregated metrics). Most NDAs are signed and countersigned within a business day. We don't take on engagements that prohibit us from publicly acknowledging the relationship in any form — anonymized case studies are part of how we hire.
Yes, and most longer relationships do. A common pattern: fixed-fee discovery → fixed-fee MVP → monthly retainer for post-launch evolution. We can also run two parallel tracks under one statement of work — for example, a fixed-fee migration alongside a retained platform team. The only thing we ask is that each track has a clear owner on your side so we know who decides what when scope gets fuzzy.
Two-week sprints planned in Linear, demoed every other Friday. Daily async standup in your Slack channel — we don't make you sit through video standups across timezones. A weekly written status update lands in Notion every Monday: what shipped, what's in flight, risks, decisions needed from you. Architecture and product decisions are written up as ADRs in your repo, so future-you can reconstruct the why. Major demos are recorded and stored in your shared drive.
We default to Linear for engineering work and Notion for documentation, decisions, and meeting notes. Code lives in your GitHub or GitLab organization, with PRs flowing through whatever review process you already have. If your team uses Jira, Asana, ClickUp, or Monday, we'll work in your tools — we'd rather adapt than fragment your workflow. The only tool we insist on is a written changelog in the repo itself, because it's the artifact that outlives any project tracker.
We expect them. Every sprint review surfaces what's changed, and we use a lightweight change request: one paragraph describing the change, impact on timeline and budget, and a decision from your sponsor. Small changes (under half a day) just happen and are noted in the weekly update. Large ones either replace existing scope or extend the engagement. We've never had a client surprised by an invoice, because every change has a paper trail before any code gets written.
A two-week handover phase ships with every engagement. Deliverables: complete architecture documentation, runbook for every on-call scenario, recorded walkthroughs of the system, a written exit memo with known sharp edges and recommended next steps, and direct intros to the third-party vendors we integrated. Your team shadows ours during the final sprint, and we stay available for two weeks of free post-handover support to answer questions. We've ended engagements cleanly enough that ex-clients have re-engaged us years later.
Outcomes, not output. At kickoff we agree on three to five measurable success criteria — usually a mix of leading indicators (deploy frequency, lead time, test coverage on critical paths) and lagging ones (revenue, retention, NPS, ticket volume). We instrument those from day one and review them monthly. If we're not moving the dial, we say so in writing and propose a different approach. Hours billed is never one of the metrics.
We're polyglot, but we have strong defaults. Backend: TypeScript with Node or Bun, Go for systems-level work, Python for ML and data. Frontend: Next.js or Remix, React Native for mobile. Databases: PostgreSQL, with Redis or DynamoDB where the workload calls for it. Infra: AWS or GCP, Terraform for everything reproducible, GitHub Actions or CircleCI for CI/CD. We pick what fits your team — if you're a Rails shop, we'll write Rails, not lobby you to rewrite.
Yes — that's our preferred mode. We branch, open PRs, and review through your team's existing code review culture. We follow your style guide, your commit conventions, and your CI checks. If your repo lacks something we need (linting, type checking, test coverage thresholds), we propose it as a separate PR before we start substantive work. We don't fork your codebase into a Spalce repo — that's a recipe for divergence and a painful merge later.
Always, with calibrated rigor. Unit tests for pure logic and anything load-bearing. Integration tests for boundary crossings (API → DB, service → service). End-to-end tests for the two or three flows you can't afford to break. We don't chase 100% coverage — we chase confidence. Coverage targets are agreed upfront and tracked weekly. If we're shipping faster than tests can keep up, we say so out loud, because untested code is a debt your future team inherits.
Yes, transparently. Every Spalce engineer uses Claude Code, Cursor, or Copilot day-to-day. We don't bill more or less because of it — our rate is for outcomes, and the tools are how we get there faster. Generated code is reviewed by a human, runs through the same CI gates as everything else, and is documented to the same standard. If you have a no-AI policy (some regulated environments do), tell us upfront and we'll honor it.
Migrations are about a third of our work. The pattern that works: a written strangler plan, instrumentation on both old and new paths, a one-way door we don't cross until the cutover criteria are green, and a documented rollback for every step. We've moved teams off mainframes, Oracle, SAP modules, and homegrown PHP from 2008. The longest migration we've run took eighteen months; the shortest, three weeks. The honest part is in the discovery — we'll tell you which parts of the legacy system to leave alone.
You do. IP assignment is in every statement of work — all deliverables transfer to you on payment, including code, designs, documentation, and recordings. We retain rights to our pre-existing tools, internal libraries, and aggregated learnings (anonymized metrics, patterns, residual knowledge). If we use an open-source library, you inherit the license. If we build something genuinely novel we'd like to open-source, we'll ask in writing — we never assume.
By default, we don't touch it. Engineers work against sandbox data or anonymized snapshots. When production access is necessary (debugging a live incident, running a one-off migration), it's gated through your existing IAM, time-boxed, logged, and reviewed. We never download production data to a laptop. For regulated environments — health, finance, education — we follow the access controls your compliance team specifies, including separate VPN, hardware MFA, or jumpbox access.
Spalce is SOC 2 Type II certified, with our latest report available under NDA. We're also ISO 27001 certified. Our internal controls cover background checks on every engineer, mandatory security training quarterly, hardware-key MFA on every account, encrypted laptops with remote wipe, and a tested incident response runbook. We can complete most vendor security questionnaires within five business days and are happy to join your vendor risk review.
We follow a documented IR playbook. Detection triggers a P0 page to our on-call, who establishes an incident channel within fifteen minutes and notifies your designated security contact within an hour for incidents touching your systems. We preserve evidence, contain the blast radius, and only then move to remediation. Within seventy-two hours you get a written initial report; within two weeks, a full post-mortem with timeline, root cause, and durable changes. We carry cyber liability insurance and our policy details are available on request.
Yes. Enterprise customers can schedule an annual audit covering our SOC 2 report, security training records, access logs for your environment, and a walkthrough of our development practices. We make engineers available for direct conversations with your security team — they're often the most useful part of the audit. For one-off vendor assessments, we respond to questionnaires through Vanta and OneTrust, and we maintain a public trust center at spalce.dev/security.
Four steps, usually four weeks. A thirty-minute intro call with our talent team, a take-home coding exercise scoped to four hours of real work (paid for senior roles), a paired technical interview with two engineers, and a values conversation with a founder or principal. We tell you a yes or no within three business days of the final round, every time. We share interview feedback with candidates whether they advance or not — getting interviewed by us should be worth your time even if we don't hire you.
Most of the team is remote within four hours of GMT — Ghana, Nigeria, Kenya, South Africa, UK, EU. We don't hire fully remote outside that timezone band because our delivery model depends on real overlap with each other and with clients. We have offices in Accra and Nairobi for anyone who wants a desk, and we fly the whole company together twice a year for an in-person week. We don't do async-only roles for engineers; product and design have more flexibility.
Competitive base in your local market plus a meaningful profit share — when Spalce has a good year, the whole team does. We benchmark salaries against Levels.fyi data for senior engineering roles and adjust quarterly. Every offer includes private health insurance, learning budget, home-office stipend, and twenty-five days of leave plus public holidays. We publish a compensation philosophy doc that explains how bands and progression work — every employee has access to it from day one.
Yes, for senior engineering and leadership roles, into our Accra, Nairobi, London, and Amsterdam entities. We handle the paperwork through Deel or a local immigration firm, cover all government fees, and provide a relocation grant plus a month of serviced accommodation on arrival. We don't sponsor for junior roles because the timelines rarely work in either party's favor. If you're already legally able to work in a Spalce hub city, that's always faster.
Absolutely. Our best hires usually weren't applying. Drop an email to [email protected] with a short note about what you're working on and what you'd want to be doing next — no CV needed for a first conversation. We keep an informal pipeline and reach out when something genuinely matches what you described. We don't blast you with role updates you didn't ask for, and we don't share your details with anyone outside the hiring team.
Ask a human — we usually reply within a business day.