
Job Description
Company Mission / Why This Matters
Two Dots builds verification and risk infrastructure for housing to help solve the housing crisis.
Housing is too expensive because America created a single family mortgage machine to cut average people into home price inflation fueled by soft bans on new development. That worked for many decades, but when a small single family home costs several million dollars, it stops being an engine of opportunity and becomes a source of the very resentment modern mortgages were originally created to solve.
Housing supply has been restricted so much that people have started fabricating documentation or relying on bypasses and overrides to sign up for a payment they can’t really afford. That conceals the problem instead of solving it.
We believe that public and private policy has to change, and that involves breaking the system that conceals our affordability crisis and leaves people without the disposable income required to live satisfying lives, fueling resentment and political instability that turns problems at home into problems for the world.
The Role
Two Dots is hiring a Machine Learning Engineer for a low-headcount, high-impact role focused on technically difficult applied ML problems in housing verification, underwriting, fraud detection, and document understanding.
This is not a research role, although the right person has the depth to develop models from scratch end-to-end. Some of the problems we are facing are genuinely hard: detecting whether a PDF was forged or edited, inferring latent financial profiles from messy payment data, extracting information from noisy documents with very high reliability, and solving chatbot or agent quality problems that big foundation models do not solve out of the box.
They should be math literate, comfortable with PyTorch, evaluation, model deployment, quality management, metrics-driven evaluation, and data warehouse-oriented SQL such as BigQuery.
What You’ll Work On
- Document forensics and detecting fraudulent or edited PDFs
- Cash flow underwriting: inferring a latent financial profile from paystubs, bank statements, business data, or other payment data
- Extracting information from unstructured or noisy sources with very high reliability
- Solving chatbot and agent quality problems that are too hard for others to solve
- Developing models, evaluation systems, and quality management processes from scratch
- Creating broad-based, systemic improvements in ML, LLM, and agent performance
- Educating the team on how to evaluate ML pipelines and workflows, including workflows that involve prompting foundation models
The Team
Henson (CEO) started his career selling FX derivatives to hedge funds at Goldman, then worked at a real estate tech startup for several years leading sales. This enables him to engage with the largest institutional property managers and real estate investors in the country and create value through those relationships.
Max (CTO) started out as a software engineer at Blend, a mortgage application company that went public, and went on to work on the search team at Google. That combination of specific consumer fintech experience and knowledge of how sophisticated ML products succeed in production made big enterprise deals work from day 1.
We met in middle school and created a media website together where people could watch and post their flash games and animations. We learned to code, source talent, and forge partnerships - and had 500 active users. Although a tragic addiction to World of Warcraft interrupted work on the website, we got back together to start Two Dots.
Other team members include: Meta ML alumnus with decades of experience, a 21 year old UMich grad who was a top 2,000 LoL player (he is no longer playing the game, thank god), and a former agave farmer who started a shipping and logistics company while at Stanford.
What We’re Looking For
You should be able to take an ambiguous problem, like PDF fraud detection, and turn it into a reasonable technical plan without needing a well-defined box. You should understand the company strategy well enough to know what is more and less likely to be valuable in ML without escalating every decision or planning process to the most senior levels of management.
You should have a strong command of:
- Tensors, PyTorch, training loops, and model deployment
- Metrics-driven evaluation and rigorous quality management
- Statistics, regularization, overfitting, training schedules, and GPU memory management
- Computer vision, NLP, and multimodal understanding problems
- Data warehouse-oriented SQL, especially BigQuery
- Explore-vs-exploit tradeoffs in applied ML work
You should be interested in the company mission through a technical lens: consumer underwriting, document understanding, fraud detection, multimodal understanding, and systems that reveal rather than conceal the real affordability crisis in housing.
Despite the more cerebral nature of the role, this is an applied and impact-focused position. The work requires patience with exploration, but also the judgment to know when a good-enough solution under time pressure is better than searching for a global optimum.
Interview Process
-
ML phone screen
If you do not know how PyTorch, training, and evaluation work, and cannot talk about real modeling work you have done, we will filter you out at this stage. -
Behavioral interview
We will assess whether you are actually interested in working at a startup, whether you can deal with ambiguity, and whether you are more of a pure researcher than an applied builder. -
ML foundations interview
We will test rigorous knowledge of math, statistics, ML foundations, metrics and evaluation, tensors, regularization, overfitting, training schedules, and GPU memory management. -
Ambiguous problem design
We will ask you to convert a hard, ambiguous problem into a reasonable plan. -
Explore-vs-exploit judgment
We will construct a scenario where you need to choose a good-enough solution under time pressure instead of searching for a global optimum.
Optimize Your Resume for This Job
Get a match score and see exactly which keywords you're missing
Job Details
- Category
- Software
- Employment Type
- Full Time
- Location
- San Francisco HQ
- Posted
- Last updated
- May 28, 2026, 09:40 PM
- Compensation
- $350,000 - $400,000 per year
About Two Dots
AI fraud prevention and underwriting agent
More Roles at Two Dots





Similar Software Roles



Found this role interesting?