Ometek Academy Ometek Academy
Sign in Start Training →
#meta #philosophy

Why I built Ometek Academy.

O
Ometek
19 July 2026 · 5 min read

A coach's honest account of why auto-graders can't replace human review, why LeetCode alone won't get you to an olympiad, and why I eventually stopped waiting for someone else to build the gym I wanted.

Every auto-grader gives you a verdict. Green light, red light. "Wrong answer on test 7." Sometimes it tells you the time limit was exceeded. That's it. You stare at your code, resubmit with a minor tweak, and either the light turns green or it doesn't. After a few weeks of this you start to believe that the whole game is about finding the trick that makes the judge happy — and for a lot of platforms, you'd be right. But olympiad informatics is not that game, and that gap between "the judge accepted it" and "this solution is actually sound" is exactly where most students get stuck.

What auto-graders don't tell you

Codeforces, LeetCode, CSES — I use all of them. I assign problems from all of them. They're excellent tools for getting reps in. But a judge that tells you "wrong answer" cannot tell you that your segment tree's lazy propagation will break on a different input class. It cannot tell you that your BFS is correct but your edge representation will bite you in a harder variant next month. It cannot tell you that the approach you used was the slow path and you got lucky with weak tests.

I've watched students grind LeetCode for months, hit a 1900 rating, and then sit in front of an OI problem and have nothing to reach for. Not because they weren't working — they were working hard. But the feedback they were getting was too thin. Pass/fail with no explanation doesn't build the judgment you need when the problem has no editorials and no upsolve community to bail you out.

Coach-reviewed submissions are slower. I look at the code. I leave a note. Sometimes I reject a solution that the judge would have accepted, because I can see a structural issue that the test data didn't catch. That rejection isn't failure — it's the thing that makes the next problem go faster. The platform marks it clearly: it's not "wrong," it's "needs a fix." There's a difference, and students who understand that difference tend to stop being afraid of hard problems.

Why LeetCode alone won't get you there

LeetCode is built around a very specific thing: job interview preparation. The problems are scoped, the difficulty ceiling is real, and the entire culture of the platform optimizes for "I can solve this in 20 minutes under pressure." That's a fine skill. It's just not olympiad informatics.

OI, OI Junior, Logia — these competitions expect you to sit with a problem for hours, sometimes across multiple days. They expect you to construct arguments, not just find patterns. They expect proofs of correctness, not just working examples. The problem structures are different. The time horizons are different. The mental posture is different.

A student who has only ever worked in the LeetCode mode will often freeze at an olympiad problem not because the underlying algorithm is beyond them, but because they've been trained to expect a solution to arrive quickly or not at all. The slow, patient, structural thinking that hard olympiad problems require is a separate skill, and it needs separate practice.

The gym I run is specifically for that skill. Problems are assigned — I pick them, in an order I've thought about, matched to where each student actually is. Some problems have their topic hidden. You see "???" where the category would be. That's deliberate: part of the work is figuring out what kind of problem you're looking at, because in a competition there's no tag to hint you toward a segment tree.

The gym I wished I'd had

I started coaching because I was already doing it informally — sitting with students, looking at their code, explaining things. At some point I needed a system, not a chat thread. I looked around for something that fit what I was trying to do: small cohorts, human review, structured progression, enough visibility for parents to see that something real was happening without putting students under surveillance. I didn't find it.

The tools I found were either built for mass-scale automated grading or for university-level competitive programming teams. Neither is what a 13-year-old preparing for their first OI needs.

So I built something. The streak calendar so students can see their own pattern — not to gamify it into an anxiety spiral, but because the unit of training is a day, and days visible are days you can reason about. The XP and rank tiers because students respond to a sense of progression that isn't just "I solved more problems than yesterday." The parent dashboard because parents are investing real time and money in this and deserve to see what's happening, in plain terms, without me having to write a weekly email for every family.

I kept the cohort small on purpose. I review every submission myself. That's not a scalability problem I'm waiting to solve — it's the point. The review is the product. When I reject a solution and leave a note, that note comes from someone who has coached students through OI qualifiers and seen exactly how the gaps form. That's not something I want to automate away.

What this is not

This isn't a course. There are no video lectures, no certificates, no leaderboard where you compete against strangers. It's closer to a training program with a coach who knows your work. I assign problems, I review what you submit, I adjust what comes next based on what I see.

It's also not for everyone. If you want to casually explore algorithms at your own pace, there are better and cheaper options. This is for students who are actually trying to qualify for OI or place well at Logia or get serious about Codeforces ratings — and who understand that getting there requires consistent work reviewed by someone who can tell the difference between a solution that passes and a solution that's right.

I built it because I wanted it to exist. It exists now. That's the whole story.


Related