Codeffice · TypeScript desk
Learn TypeScript by shipping real tickets
Most TypeScript courses stop where the job starts: at a blank file. Codeffice drops you into a running seller-panel API that already has products, orders and stock — plus a queue of tickets against it. You read code you didn't write, make a change, and hidden acceptance tests decide whether it ships.
The loop
What you'll actually be doing
Pick up a ticket
Every task is scoped like a real one: a short brief, acceptance criteria, and a difficulty label. No 'build a todo app' — you're handed a specific defect or a feature request against an existing service.
Open the codebase in your browser
Start a session and a container spins up with the project, a full IDE and a terminal. Nothing to install, no npm versions to fight, no half-day of setup before you write a line of TypeScript.
Find the code that matters
This is the skill nobody drills. The repo is bigger than the ticket, so you navigate folders, follow types across modules, and work out where the change belongs before you make it.
Make the tests pass
Hidden tests define done. They cover the edges the brief only hints at, so a change that works on the happy path but breaks on an empty array or a negative price fails — exactly like a real review.
Outcomes
What you'll be able to do
- Navigate a TypeScript codebase you've never seen and locate the file a change belongs in.
- Add input validation that rejects bad requests without breaking the ones that already work.
- Design a REST endpoint's error contract — status codes, error bodies, and what not to leak.
- Refactor hardcoded business logic into rules that survive the next requirement change.
- Read a failing test and work backwards to the defect instead of guessing.
- Use TypeScript's type system as a safety net during a refactor, not as decoration.
Before you start · TypeScript
- Comfortable with JavaScript fundamentals: functions, objects, arrays, async/await.
- You can read a type annotation, even if you couldn't write a generic yet.
- No local setup, no Docker knowledge, no prior Express experience needed.
The difference
Why not just watch a course?
A video course
A tutorial gives you a finished app and asks you to type along. You end up able to rebuild that one app, and stuck the moment the codebase isn't yours.
Algorithm puzzles
Algorithm sites drill isolated functions with perfect inputs. Useful for interviews, but no job hands you a self-contained problem with the file already open.
TypeScript at Codeffice
Here the code exists before you arrive and keeps existing after your change. That's the actual work: reading, locating, changing, and proving it still works.
FAQ
Before you sign up
Do I need to know TypeScript already?
You need JavaScript fundamentals and enough TypeScript to read an annotation. The tickets start at Easy, where the types are already written and you're changing behaviour, and build up to work where you define the types yourself.
What kind of TypeScript code will I be working in?
A Node and Express REST API — the seller panel for an e-commerce shop, with products, orders and stock. It's backend TypeScript: routes, handlers, validation, business rules and the tests around them.
Do I have to install Node or TypeScript locally?
No. Each session starts a container with the project, dependencies, a browser IDE and a terminal already running. You can do a ticket on a machine that has never had Node installed.
How long does one TypeScript ticket take?
Sessions are scoped to about two hours, but most tickets land well inside that. They're built to be finishable in one sitting rather than dragging across a week.
How do I know when I'm done?
Hidden acceptance tests run against your change. They check the criteria in the brief plus the edge cases it implies, so 'done' is a pass, not an opinion — the same standard a pull request gets.
Is this useful if I already write TypeScript at work?
The harder tickets are less about syntax and more about judgement: where a rule belongs, what an endpoint should return when input is wrong, how to change behaviour without regressions. That transfers regardless of years in.
Your first TypeScript ticket is waiting
No install, no setup. Clock in and the codebase is already running.
Start freePrefer to read first? Browse the blog.