v1.0.0 — Engineering Simulator is LIVE
    StopWatchingTutorials.
    Start Coding Like an Engineer.

    You get a PRD, not videos. You push code to GitHub, not assignments. AI reviews your PR like a real Senior Engineer.

    $ git push origin 
    2.400+
    Tickets Resolved
    890+
    PRs Merged
    5.000+
    AI Reviews Given
    GitHub Actions — AI Code ReviewRunning...
    1 Pulling diff from PR #42...
    2 Analyzing code quality...
    3 ⚠ Warning: N+1 query detected at UserService.java:87
    4 → Use JOIN FETCH or @EntityGraph to resolve
    5 ✗ requestChanges: Code does not meet enterprise standards
    6 ──────────────────────────────────────────
    7 Participant fixes the code...
    8 Re-analyzing PR #42 (attempt 2)...
    9 ✓ All checks passed. Code meets enterprise standards.
    10 ✓ APPROVED — PR Merged to main|
    // core value proposition

    Not a Course. It's a Simulator.

    KodingCamp is an engineering simulator. You learn the exact same way as engineers at real tech companies.

    # sprint-1-auth.md
    ## User Story
    As a user, I want to log in using my email & password.
    ## Acceptance Criteria
    - [ ] POST /api/auth/login
    - [ ] JWT token response
    - [ ] 401 jika credentials salah

    No Videos. Just a PRD.

    You read a Product Requirements Document like a real engineer instead of watching videos. Your job: implement the feature to spec.

    AI Reviewer · PR #17
    ✗ Line 87: N+1 query detected
    → Use JOIN FETCH instead
    ✗ Line 23: Missing input validation
    → Add @Valid annotation
    requestChanges submitted

    AI Code Review

    An AI bot rejects your PR if the code doesn't meet enterprise standards — exactly like code review at a real tech company.

    Next.jsSpring BootDrizzle ORMPostgreSQLGitHub ActionsDocker

    Enterprise Tech Stack

    Learn the stack used by startups and enterprises: Next.js, Spring Boot, Drizzle ORM, PostgreSQL, Docker, and GitHub Actions.

    ✓ Build
    ✓ Unit Tests
    ✓ Lint Check
    ⟳ AI Code Review

    Automated CI/CD

    Every git push triggers an automated pipeline: build, test, lint, then AI review — just like at a tier-1 tech company.

    Real PR Workflow

    Fork, branch, push, pull request, review, merge. All done on GitHub like a professional engineering team.

    // how it works

    How the Simulator Works

    Four phases that replicate the engineering workflow at a modern tech company.

    01

    Pick a Ticket from the Sprint Board

    You open the GitHub Project Board and pick a ticket (issue) from the sprint backlog. Each ticket contains a PRD you must implement — no videos, no lectures.

    next: phase 02
    phase 01
    // github-project-board.md
    ## Sprint 1 — Auth & User Management
    
    [TODO] #12 - Implement JWT Authentication
    [TODO] #13 - User Registration Endpoint
    [TODO] #14 - Password Hashing (bcrypt)
    
    // Pilih tiket → assign dirimu → move to In Progress
    02

    Write Code Locally

    Open your IDE, create a new branch, and implement the feature to spec. The stack is exactly the one used at startups and enterprises.

    next: phase 03
    phase 02
    $ git checkout -b feature/jwt-authentication
    
    // UserService.java
    @Service
    public class UserService {
        @Autowired
        private PasswordEncoder passwordEncoder;
    
        public User register(RegisterDto dto) {
            // implementasi kamu di sini
        }
    }
    03

    Push & Open a Pull Request

    Done coding? Push to GitHub and open a Pull Request. The moment your PR is created, GitHub Actions fires and runs the pipeline automatically.

    next: phase 04
    phase 03
    $ git add .
    $ git commit -m "feat: implement JWT authentication"
    $ git push origin feature/jwt-authentication
    
    ✓ Build completed in 2m 14s
    ✓ Tests passed (24/24)
    ✓ Lint check passed
    ⟳ AI Code Review running...
    04

    AI Reviews Your Code

    The AI bot pulls your PR's git diff and evaluates the code against enterprise standards: N+1 queries, missing validation, microservice structure, clean code. Pass → PR merged. Fail → you fix it.

    PR merged → grab the next ticket
    phase 04
    🤖 KodingCamp AI Reviewer · PR #17
    
    Line 87: ⚠ N+1 query detected
    → Use @EntityGraph or JOIN FETCH
    
    Line 23: ✗ Missing input validation
    → Add @Valid + @NotBlank annotations
    
    Line 45: ✓ Good use of dependency injection
    
    Status: REQUEST_CHANGES
    Perbaiki dan push ulang untuk re-review.
    // demo: ai code review

    Watch the AI Reviewer in Action

    This isn't manual grading. The AI bot detects code issues automatically and gives line-by-line feedback, just like a senior engineer.

    UserController.javaPR #42
    1
    2@RestController
    3@RequestMapping("/api/users")
    4public class UserController {
    5
    6 @Autowired
    7 private UserRepository userRepository;
    8
    9 @GetMapping
    10 public List<User> getAllUsers() {
    11 return userRepository.findAll(); // ← DANGER
    12 }
    13}
    Pull Request #42
    open

    feat: implement user list endpoint

    +13 lines-2 lines1 file changed
    AI Review Log
    KodingCamp AI is analyzing PR #42...
    // participant pull requests

    Their PRs Are Already Merged

    These aren't testimonials. They're real pull requests opened by participants, reviewed by AI, and successfully merged into main.

    • merged
      #42

      feat: implement JWT authentication with refresh token

      +187-23
      AI Reviewer

      Solid implementation! @EntityGraph is used correctly, no N+1 queries. The refresh token logic is clean too. Merged!

      A
      @andi_dev
    • approved
      #67

      feat: add product pagination with cursor-based approach

      +134-45
      AI Reviewer

      Cursor-based pagination is far more scalable than offset. Good call! Test coverage 91%. Approved.

      S
      @sari_codes
    • merged
      #89

      refactor: extract payment service to microservice

      +312-98(Large but well-structured)
      AI Reviewer

      Very clean domain separation. Event-driven architecture is spot-on for inter-service communication. Merged!

      B
      @budi_fullstack
    • merged
      #103

      fix: resolve race condition in concurrent order processing

      +56-12
      AI Reviewer

      @Transactional(isolation = SERIALIZABLE) is the right choice. Deadlock avoided with a consistent lock ordering.

      R
      @rina_backend
    • approved
      #118

      feat: implement real-time notification with WebSocket

      +203-34
      AI Reviewer

      STOMP over WebSocket with SockJS fallback — production-ready. Connection pooling is correct. Approved!

      D
      @dika_engineer
    • merged
      #134

      perf: add Redis caching layer for product catalog

      +89-7
      AI Reviewer

      Cache invalidation strategy is correct! A 5-minute TTL fits the catalog. Response time dropped from 450ms → 12ms.

      M
      @maya_dev
    • approved
      #156

      feat: implement file upload with S3 presigned URL

      +145-28
      AI Reviewer

      The presigned URL approach is safer than proxy upload. Client-side upload straight to S3 is done right.

      F
      @fajar_fullstack
    • merged
      #177

      test: add integration tests for auth flow

      +267-14
      AI Reviewer

      94% coverage! Happy path, edge cases, and error scenarios all covered. TestContainers usage is very clean.

      T
      @tika_qa
    890+
    PR Merged
    94%
    First-Try Approved
    5.000+
    AI Reviews Sent
    < 5m
    Avg Review Time
    Start Anytime · No Screening

    Ready to Become a Real Engineer?

    Pay once. Get access to a private GitHub Org, a full PRD, a CI/CD pipeline, and an AI code reviewer ready to reject your PR anytime.

    $30
    $15
    one-time · full mission + AI review
    14-Day Money-Back GuaranteeNo subscription — pay once
    Payments processed by Lemon Squeezy
    VisaMastercardPayPalAmex
    SSL-encrypted checkout — cards & PayPal
    Instant access after payment
    Your code is safe — never executed on our servers
    Start anytime — no fixed schedule