01 / Cohort 04 starts 12 October 2026

Code that survives a line-by-line review.

A project-based software development bootcamp in Ukraine: twelve weeks, four portfolio projects, and written comments pinned to the exact lines you wrote.

  • Portfolio4 projectsFundamentals to full-stack, each with stack chips, review count and an outcome line you can defend in an interview.
  • Code review18 reviewsEvery comment carries a severity label and a revision step. Nothing closes until it is resolved.
  • Career prep6 sessionsCV structure, portfolio narrative, interview practice and salary research. Hiring decisions stay with employers.
cart.js · review #7resolved
  1. const total = items.reduce((s, i) => s + i.price, 0);
  2. return withDiscount(total, user.tier);

highGuard the empty cart before checkout calls this. reduce on an undefined array throws and the order quietly disappears.

lowResolved: renamed t to total, so the next reader no longer needs this thread.

Learners reviewing code together at a bootcamp session in Kyiv
Cohort 03 review session, Kyiv.

02 / Cohort proof

Numbers we can point at

Each figure below carries a sample size, a cohort date and the export it came from. Read them before the testimonials.

Scope: Cohort 12 only. These figures describe one group and are not a forecast of any individual outcome. Hiring decisions stay with employers. Next intake and seat count live on the cohort dates page.

03 Project ladder

Four projects, four written review rounds each.

Scope is fixed before you start, so "done" is never a guess. Every project gets line-level comments with a severity label and a revision step before it enters your portfolio.

  1. 01

    Static personal site

    Hand-written HTML and CSS, a responsive layout, and accessible forms. No frameworks, so the fundamentals stay visible.

    • HTML
    • CSS
    • Git

    4 reviewsPortfolio slot 1

  2. 02

    Data-driven task tracker

    DOM rendering from state, form validation, and localStorage persistence, reviewed for edge cases you would otherwise miss.

    • JavaScript
    • DOM
    • Storage

    5 reviewsPortfolio slot 2

  3. 03

    REST API client

    Fetch, error states, pagination, and a readable module structure. Reviewers comment on naming and failure handling, not just output.

    • Fetch
    • Modules
    • Async

    6 reviewsPortfolio slot 3

  4. 04

    Full-stack capstone

    A small product with a documented repo, README, and a walkthrough you can defend out loud in an interview.

    • Node.js
    • SQL
    • Testing

    6 reviewsPortfolio slot 4

Each slot maps to a module block on the curriculum schedule, and the capstone brief is explained on the admissions requirements page.

05 / Code review anatomy

Every line gets a written comment, then a revision.

A review is not a grade. It is a numbered list of comments tied to exact lines, labelled by severity, and closed only when the learner pushes a fix. One file from the portfolio track, before and after.

Before review: attempt 1, 2 open comments

  1. function loadProjects(userId) {
  2.   fetch('/api/projects?u=' + userId) BlockerNo error path. If the request fails the list stays empty and you cannot explain why in an interview. Add a rejection branch and a visible error state.
  3.     .then(res => res.json())
  4.     .then(data => {
  5.       document.getElementById('list').innerHTML =
  6.         data.map(p => `<li>${p.name}</li>`).join(''); MajorAPI text goes straight into innerHTML. Build a node per item and set textContent, then resubmit for a second pass.
  7.     });
  8. }

After revision: attempt 2, all comments resolved

  1. async function loadProjects(userId) {
  2.   const res = await fetch(`/api/projects?u=${encodeURIComponent(userId)}`);
  3.   if (!res.ok) throw new Error(`Failed: ${res.status}`); ResolvedError path added. The reviewer signed off on this line, not on a new file.
  4.   const data = await res.json();
  5.   renderProjects(data);
  6. } ResolvedOne node per item, textContent instead of innerHTML.

Review history stays with the project, so the comments travel into the portfolio. See the review rhythm in the curriculum.

05 / Portfolio evidence

Six artifacts a learner can defend line by line

Every project ships with a written review trail: comments pinned to exact lines, severity labels, and a revision step before the work counts as finished. The review counts below are from the March 2025 cohort.

07 / Enrollment

Next cohort starts 14 April 2025. Six of eighteen seats remain.

Applications close once the assessment slots for this cohort are filled. A short assessment and an interview decide fit. No prior degree is required, but you need a computer and about fifteen hours a week.

Start date
14 April 2025
Seats left
6 of 18
Tuition
UAH 48,000
Deposit
UAH 4,000
Apply for the April cohort Review the curriculum

Two installments follow the deposit. Payment terms are confirmed in writing during the interview.