Full-Stack Engineer with Design Taste
San Francisco, CA, US / Remote (CA) Full-time • Engineering, Full stack • 4+ years
Sanity Check
This role is remote in Canada. Or in-person in San Francisco.
We can only sponsor a TN Visa if you come to the San Francisco office (you are a Canadian citizen moving to the US).
If you are remote in Canada, you must be a Canadian Citizen or a permanent resident; we will not sponsor your visa.
About the Role
This isn't a role where you'll be picking from a Figma library someone else built or shipping CRUD screens that look like every other B2B SaaS dashboard. You'll own product surfaces end-to-end — design and code — across our web app, back-office, and marketing site, working directly with the founders to ship interfaces that people actually want to use.
Our stack is Django on the API, React + TypeScript on the web client, Next.js for the back-office and marketing surfaces, and Postgres under the hood. We build inside Cursor, manage work in Linear, and use AI tooling as a core part of how we write and ship — not as a gimmick.
If you can't point us at live URLs of work you have personally designed and shipped, this isn't your role. We're not looking for a full-stack engineer who "cares about design." We're looking for someone who would have been a designer in another life and learned to code so they could ship their own work without compromise.
Our Stack
API: Python / Django
Web Client: React (TypeScript), Tailwind, storybook for components
Back-Office & Marketing: Next.js (full-stack)
Database: PostgreSQL
Mobile: React Native (not Expo, due to tap-to-phone pmt’s build)
Infrastructure: GCP, Terraform, GitHub Actions
AI Agent: In-house, built with Agno (Python)
Tooling: Cursor, Sentry, Linear, Graphite, Claude design
What You'll Actually Do
Own product surfaces end-to-end — design and code, from Figma to production, from typography decisions to Django models
Ship features across the web client and back-office that construction firms use to move real money — payments, invoicing, reconciliation, onboarding flows
Push our design system forward. Set the bar for how the product looks, feels, and behaves, and bring the rest of the surface up to it.
Build and rebuild marketing pages that don't look like a Webflow template. Our website should look like the company we want to be.
Use Cursor and AI-assisted workflows daily — not as a curiosity, as your default
Make technical and design decisions that matter — we're early enough that what you build now defines the product for years
What We're Looking For
A personal website plus URLs to live websites and product surfaces you have personally designed and shipped. This is non-negotiable. The links go at the top of your application. We will open them. If you can only send Dribbble shots, Figma prototypes, or a Notion page of screenshots of work you "contributed to," save your time and ours.
3+ years building production web applications — you've shipped real products, not just side projects
Deep React + TypeScript experience — hooks, state management, component architecture, performance, accessibility. This is your frontend home.
Strong Django + Python — ORM, REST framework, migrations, background tasks. You don't need to be told what select_related does.
Comfortable in Next.js — App Router, server components, SSR/ISR. You can ship a marketing site that scores well and looks better than it scores.
Strong with PostgreSQL — schema design, indexes, query optimization. We're a Postgres shop.
Strong product design sensibility — typography, spacing, hierarchy, motion, restraint. You can hold your own in a Figma file and you have opinions about why things look the way they do.
Hands-on experience with Cursor as your development environment (non-negotiable)
Actively using AI tools in your development workflow — not just curious about them, actually shipping with them
Experience with Linear or similar modern project management tools for day-to-day work
Serious background in real-time strategy games — Warcraft 3, StarCraft, StarCraft 2, Age of Empires, or similar (non-negotiable). We believe the strategic thinking, resource management, multitasking under pressure, and rapid decision-making that RTS players develop translate directly to how great engineers operate. If you know what APM means and why it matters, we want to talk to you.
Must be legally authorized to work in Canada (or eligible for TN status to San Francisco)
Bonus Points
You've shipped a fintech, payments, or banking product and understand the domain
You've designed and shipped your own indie product or tool that you maintain in production
You have strong opinions about CSS, animation, or component API design — and can defend them
You've built or rebuilt a company's marketing site and the conversion numbers went the right direction
You've worked at a startup before and thrive in fast-moving, ambiguous environments
You were ranked Diamond, Master, or higher in any competitive RTS
What We Offer
Competitive salary and equity — you're joining early and your compensation reflects that
Remote/hybrid flexibility (Canada-based) or in-person in San Francisco
Professional development budget and conference attendance
A small, sharp team where you'll have real ownership and zero bureaucracy
The chance to be the design voice for our web product and marketing surface, not a function that ships tickets
How to Apply
Apply with:
URLs to live websites or product surfaces you have personally designed and shipped. Put these at the top. Production URLs only — no Figma links, no Dribbble, no PDF case studies. If a site is behind a login, send us a working test account.
Your personal website.
Your GitHub.
If your application doesn't include working URLs we can click on, we won't move forward.
About the Interview
15-minute phone call with the founder
1-hour technical + design video interview (we'll open your sites together and walk through them)
1-hour technical workshop
If hired, first 2 weeks onsite with the founder in San Francisco
About Truss
Truss is a YC-backed, fast-growing fintech startup, an all-in-one banking and payment automation platform for construction businesses. With Truss, construction companies can manage bill payments, receivables, and corporate cards in one place. They can save time on manual data entry by integrating Truss with their existing tools and automating the full billing cycle, from invoicing and reconciliation.
We started by building a B2B payment platform in Canada called MazumaGo — and discovered that most of our customers were construction companies. We took everything we learned and pivoted to the U.S. to build a banking and payments engine purpose-built for SMB construction, with a built-in network effect. We soft-launched a beta in 2023, fully launched in 2024, and have been growing rapidly ever since.