This note is long-ish, but it was written by an actual human! Thank you in advance for your attention. This is for builders in Montreal and Toronto tech communities - software engineers, data & analytics engineers, data scientists, product leaders, and designers.
Having co-founded Dialogue nearly 10 years ago, I’m very proud of what we accomplished. We made Canadian healthcare better. Today, over 20% of Canadians have fast, easy access to the highest quality virtual care services from us. We’ve invented a platform that integrates many health services so that Canadian companies, large and small, can offer complete care to their employees and their families. We’ve built what, fair to say, is one of the world’s best health apps for our members.
But we’re jus…
This note is long-ish, but it was written by an actual human! Thank you in advance for your attention. This is for builders in Montreal and Toronto tech communities - software engineers, data & analytics engineers, data scientists, product leaders, and designers.
Having co-founded Dialogue nearly 10 years ago, I’m very proud of what we accomplished. We made Canadian healthcare better. Today, over 20% of Canadians have fast, easy access to the highest quality virtual care services from us. We’ve invented a platform that integrates many health services so that Canadian companies, large and small, can offer complete care to their employees and their families. We’ve built what, fair to say, is one of the world’s best health apps for our members.
But we’re just getting started.
The next chapter of Dialogue is not just about scaling. It is about rethinking how healthcare services are actually delivered — at the operational level — and rethinking that system from first principles.
We are building an Operating System for Health Services. We call it ServiceOS. If you look at any healthcare operation, the need is obvious. There’s a massive amount of manual, mundane, repetitive administrative work. Work such as record keeping, document exchange, data entry, booking management, and shift scheduling. The list goes on. This kind of work sucks the life out of healthcare workers, robbing them of the precious time they should be spending with patients. This “admin work” is a massive part of any healthcare operation, including Dialogue’s. Software and AI agents that make up ServiceOS will take over much of those dreaded admin tasks, doing them faster, more consistently, resulting in a better, more delightful care experience.
We serve millions of users and move fast thanks to our robust infrastructure. Here are some highlights of our tech stack.
Most of the back-end runs on AWS, with EKS for compute, and infrastructure defined and managed by Terraform. Most of the back-end code is written in the latest Python.
Relational data is in Postgres (on AWS RDS), and we also use DynamoDB. We use Redis (MemoryDB) for caching and S3 object store. We use AWS EventBridge for events. ETL modules are written in dbt and are managed (for now) by Airflow. The data warehouse is Snowflake. The data reporting/visualization layer follows the BI-as-code principle with Evidence with ClickHouse as the query back-end. We use Mattermost server as our messaging platform.
Temporal is our workflow engine. It is an amazing platform for durable workflows.
A lot of healthcare administrative work involves provider scheduling and appointment booking. We view this as a constraint programming problem, and we’re modelling it in a way to use a SAT Solver like OR-Tools and working closely with the team at Untether who specialize in applying solvers to healthcare scheduling problems.
We use Datadog for observability, Auth0 for auth and OpenFGA for access controls.
For AI apps, we use LangChain. For agent evals, we use LangSmith. We mostly use Claude on AWS Bedrock, but we’re open to using Gemini on GCP or GPT on Azure as well. We already have a bunch of AI apps in prod using LLMs and open-source VLMs for image analysis, but there’s so much more to do.
The end-user apps are all written in TypeScript. We use React Native with Expo to build the app for our members (patients). This approach allows us to share code across three platforms: iOS, Android, and the Web.
The app for health service providers (doctors, nurses, etc.) is called Care Platform. It is also written in TypeScript with React.
Both the Care Platform and the Member App use WebRTC for live video/audio streams. This allows us to do stuff like real-time transcription of doctor-patient conversations and build AI apps that generate detailed summaries and “care plans” - just one of the examples of the capabilities of the ServiceOS.
We’re organized a lot like a startup. We have small, usually full-stack user-focused/product-focused scrum teams. Everyone in Montreal and Toronto is in the office at least three days each week, so you’ll have ample opportunity to learn, develop relationships and influence.
Teams own subsystems and repositories and embrace DevOps, but collaboration resembles open source more than silos. Core committers actively onboard and support contributors. Over time, people develop deep ownership and broad system understanding.
Dialogue runs on EOS. We set annual goals and quarterly objectives for the company and align the team’s plans with them. This way, we move fast and in the same direction. We define a metric for most of the work we do, so it is clear what we want to achieve and how we’re making progress.
Our delivery loop is tight. Every PR merged to main is deployed to production within minutes. Most developers ship multiple PRs per week. The feedback cycle between idea, implementation, and real-world impact is short — and very real.
We are already seeing productivity gains from AI coding. Most use Cursor or Claude Code daily, and some are trying Codex. Designers are using v0 and Figma. These tools matter — but what matters more is judgment, taste, and the ability to reason about complex systems.
Ever since the inception of Dialogue, we’ve been running 2-day quarterly hackathons. We recently ran the numbers on 27 hackathons we did and were surprised to find that over 40% of the projects shipped to prod in some form. Hackathons are a fantastic engine for innovation and are deeply ingrained in our culture.
I’ve been working in software for decades and was fortunate to be part of several world-class teams. Everyone who joins Dialogue has many options for allocating their time and talents. Folks who choose to join Dialogue stand out as the most mission-aligned I’ve ever had the pleasure to work with. Apart from the burning desire to impact healthcare people, another common trait of Dialoguers is their kindness, passion and caring spirit. Join for the mission, stay for the people.
We are looking for builders who are drawn to difficult, meaningful problems and who care deeply about how systems behave in the real world. Most of all, we’re looking for builders who are drawn to the mission, share our values, and have a track record of remarkable achievements.
Some of the challenges you might work on include:
Designing and building a Temporal-based workflow platform flexible enough to support complex healthcare operations.
Discovering, defining, and implementing virtual healthcare workflows end-to-end.
Extending our data and event layers, modelling complex healthcare journey data, and processing information in near-real-time
Building AI agents that use workflows as tools and system state as context. Context engineering will be key to providing agents with knowledge, skills, data and system events.
Designing copilot interfaces for healthcare providers
Designing conversational experiences for patients that hide operational complexity and feel fast, warm, helpful and supportive
If you are a back-end engineer, application engineer, data engineer, analytics engineer, data scientist, product designer, product manager, or technical product manager — and this excites you — we want to hear from you.
It is hard to get hired at Dialogue. The rejection rate is significant; most folks are screened early in the process. Once you’re in, you’ll quickly sense the talent density. You’ll be part of the team of rare individuals.
We don’t believe in coding puzzles or coding on the whiteboard. We like to put candidates in situations that closely approximate the real-life challenges we work on. There are generally 4 phases of the hiring process - screening, technical interviews, a small take-home project (a code challenge, a design challenge or a case study) that would take 1-2 hours to complete and a non-technical interview focused on understanding how you think and how you work with others.
When you reach the take-home assignment, we assume you will use AI tools. The goal is not to avoid them. The goal is to understand your decisions, your trade-offs, and your reasoning.
The most important thing we offer is the opportunity to do work that matters, alongside people who care deeply about doing it well.
Compensation is competitive. Long-term incentives are meaningful. But most people join Dialogue for the mission — and stay for the people.
Email me, DM me on LinkedIn or Twitter. Apply online. Pick whatever way works for you. When folks reach out to me about joining our team, I usually ask them to describe the most challenging problem/project they’ve worked on.
If you’ve read this far, thank you. If this resonates, I hope you’ll join Dialogue to build what comes next.