Senior Full Stack Software Engineer
Social Impact Startup · Greater London, England, United Kingdom
Tailor my CV for this job — freeAn opportunity to join a funded, fast-growing social impact startup. This is a TypeScript-first platform. A small team builds and runs the whole system, from the customer-facing web app to the integration engine and cloud infrastructure behind it. As the Full stack Engineer you'll own all of it and stay hands-on in the code, with direct support from our senior Data Engineer. Core stack (essential)TypeScript and Node.js (v24): the whole platform, front and back end, is written in modern TypeScript.Next.js (App Router) and React 19: our customer web app and internal admin app are both Next.js. They use Tailwind CSS v4, shadcn/ui on Radix, TanStack Query and Table, React Hook Form and Zod.Node/Express REST API: a layered Express 5 API (routes, controllers, services, repositories) with OpenAPI/Swagger docs, rate limiting and scheduled jobs.PostgreSQL with Drizzle ORM: a complex relational schema covering integrations, field mappings, sync rules, platforms, partners and notifications, with migrations managed through Drizzle Kit.Third-party API integration at scale: we connect to more than 30 fundraising, CRM and marketing platforms. These include JustGiving, GoFundMe, Enthuse, Funraisin, FundraiseUp, Donorbox, Stripe, Blackbaud (Raiser's Edge), Engaging Networks, Luminate Online, Dotdigital, SFTP, S3 and Snowflake. You should be comfortable with OAuth, API keys, DPoP and JWT/JWKS auth, pagination, rate limits, webhooks, CSV/SFTP file exchange and messy real-world data.Data transformation: field mapping and transformation logic built on JSONata, plus data cleansing such as name normalisation and deduplication.Infrastructure and DevOps (essential)Google Cloud Platform: Cloud SQL (Postgres, private networking), Cloud Run, Cloud Build, Artifact Registry, Cloud Storage, Cloud Logging and BigQuery.Docker and Docker Compose: all services are containerised. Production currently runs on GCP VMs managed with Coolify and Caddy, and a migration to Cloud Run is under way. You'll be expected to finish it.Environment management: multiple environments (dev, test, prod) managed with shell-scripted gcloud tooling, secrets management, least-privilege database users and decoupled migration jobs.Auth and identity: Auth0 for user authentication and a self-hosted Nango server for managing OAuth connections to third-party platforms.ImportantAI and LLM integration: we're building AI features into the product with the Vercel AI SDK, Anthropic Claude and Google Gemini, including a chat-style assistant and AI-generated data mappings. Experience shipping LLM features in production is a strong plus.Payments: Stripe for subscriptions and billing.Testing and quality: Jest and Supertest for the API, Playwright, plus ESLint, Prettier and Husky pre-commit hooks. You'll be expected to raise our test coverage over time.Observability: Winston logging into Google Cloud Logging, PostHog product analytics and Slack alerts.Email: transactional email built with React Email and sent through Mailgun.Security and data protection: we handle supporter and donor personal data for UK charities, so you'll need a working knowledge of GDPR, secure handling of credentials and secrets, and keeping dependencies patched against CVEs.Nice to haveExperience with the charity, fundraising or CRM ecosystem (Salesforce NPSP, Raiser's Edge, Dynamics and similar).Data engineering or ETL/iPaaS experience (sync engines, scheduling, idempotency, retries).Our secondary codebases: a Next.js marketing site using the Directus headless CMS and MDX, and a Fumadocs developer documentation site generated from our OpenAPI spec.Experience working with AI coding tools such as Claude Code (several of our repos already include agent instructions).Compensation: £50k-£70k depending on experienceEquity in a high potential startup