Why we built USACO Tutor

Competitive programming gets a reputation for being narrow. Something you do if you want to ace technical interviews or win an olympiad. Both of those happen, but the reputation misses what is actually being trained.

What competitive programming teaches is the rest of software engineering, condensed. You take a problem you do not understand. You decompose it. You see structure where most people see a wall of text. You reason about whether your approach is going to be fast enough before you write any code. Then you write code that works the first time, because there is no second chance once the contest clock runs out. You either solved it or you did not.

USACO is one of the best-designed competitive programming competitions out there. The problems are hard. The levels actually mean something. The progression from Bronze to Platinum is a real walk through algorithmic thinking, not a difficulty curve invented for marketing purposes.

The problem with USACO, and with most competitive programming, is the feedback loop after a wrong submission. You write code. You submit. You get a verdict that says you failed two of fourteen test cases. That is the entire feedback. If you cannot see why, you are stuck.

We built USACO Tutor to close that part of the loop. The hard part is what kind of help to give. The answer itself is the wrong help. If a student is trying to internalize how to think about a graph problem, the last thing they need is a confident model handing them the solution and moving on.

So the hints are calibrated. The first one points the student at structure they may have missed in the problem. The next names a class of technique without saying which to use. The next walks part of the way without finishing the walk. If the student is still stuck three hints in, the explanation comes out, but it shows the reasoning, not just the code.

The AI is in the hints and the explanations. It is shaped to help students reason, not to reason for them. When a student types "I do not know where to start," the tutor does not return a solution. It returns a question.

That design choice is the whole product.

We measured our own em dashes, then banned them anyway

The data says density is the tell, not presence, and our prose was already under the human baseline. We adopted the stricter rule regardless. Here is the argument that beat the evidence.

Admissions stopped trying to detect, and started changing the format

Universities are switching off their AI detectors, not upgrading them. The interesting part is what they are replacing them with, and what it asks of a seventeen-year-old.

Who supplied the judgment

The provenance conversation has moved from whether a machine wrote something to who decided. We have been shipping an answer to that question, per product, in public, for a while now. Here is what it cost us to keep it honest.

We do not know how many people use it

Privacy-first is the most crowded claim in mobile right now. Ours cost us the ability to answer the first question anyone asks about a product, and we would rather describe that cost than the feature.

The gate that passed by never running

We spent a week building checks that guard our writing and our code. Four of them reported clean while checking nothing at all. Every one was found by running something, and none by reading the code.

Why we built Tennis Tutor

A junior player gets an hour of correction a week and then practises for six. The scarce thing is not court time. It is someone watching closely enough to tell you what you actually did.

Why we built Myeiyo

Chore apps either turn kids into tiny investors or turn chores into a video game. Neither matches what actually happens in a house. We built the one that does.

The decisions that don't iterate

Most things you build are reversible. A few are not. Telling them apart is harder than it sounds, and getting it wrong is what most software regret turns out to be.

What 'honest software' means in practice

We use the phrase a lot. It is easy to say. It is harder to specify.

Why we built Vyzrly

College admissions has always been a black box. We wanted to make it a little more honest.

When AI is the wrong tool

The reflex to reach for AI on every problem is a symptom of taste failure, not technical sophistication.

Why we built Glossem

Product copy lives inside code. That is a problem for everyone who is not an engineer.

Why we built ChessWarp

Every chess app asks you to find the best move. In real games, nobody tells you there is one. That gap is where most club players are stuck, and it is what we set out to fix.

Why we built Break the Test

The SAT has seven versions in circulation. Serious students burn through them in a month. The bigger problem is that even unlimited practice would not fix the thing that actually costs them points.