AI-Assisted Fullstack Engineering Program
Intensive 1-month program to identify and grow junior developers with potential, with an AI-first mindset and a single system that evolves end to end.
Central axis: Webhook Processing System
Technical Interview (30 min)
No live coding. A conversation to assess theoretical foundations and reasoning ability before the challenge.
Topics
- HTTP & APIs: what is an endpoint, GET vs POST, status codes
- Async & queues: what async means, what problem queues solve
- Data modeling: how to model a payment event, essential fields
- General thinking: clarity and structure when explaining a solution
Pass criteria
- Good communication
- Correct fundamentals (even if not perfect)
- Evident capacity for learning
Fail fast here. A candidate who can't explain GET vs POST will not survive a 1-hour live coding session.
Live Vibe Coding Challenge (1 hour)
Evaluates how the candidate builds in real time, uses AI tools, and makes technical decisions. This is a pairing session, not a speed test.
API contracts
POST /webhooks/payment{ "event_id": "evt_123", "payment_id": "pay_1001", "event": "payment.completed", "amount": 25000, "currency": "USD", "user_id": "user_123", "timestamp": 1710000000 }
GET /payments — one object per payment_id[ { "payment_id": "pay_1001", "event": "payment.completed", "amount": 25000, "currency": "USD" } ]
amount is in cents — 25000 = $250.00 (Stripe/Adyen convention).
Mandatory frontend
- One page fetching
GET /paymentswith status filter, summary bar, relative timestamps - Auto-refresh every 2–5 s without manual reload
Mandatory evaluation questions
- How would you prevent the same webhook from being processed twice?
- What would happen if 1,000 requests/second arrive?
- Why did you structure the code this way?
- Which parts did you build with AI — and how did you validate them?
Strong signal
- Uses AI but understands the code
- Separates logic into layers
- Explains trade-offs unprompted
- Tests behavior as they build
Weak signal
- Copies without understanding
- Silent for long stretches
- Backend and frontend never connect
- No auto-refresh
Bootcamp — Weeks 1 to 3
Everything builds on the Phase 1 prototype. No new codebases — each week extends what was delivered the week before.
Week 1 — Backend Core (Laravel)
- Layered architecture enforced from day 1: HTTP → Service → Repository Interface → Eloquent
- Idempotency via
event_id;EventLogalways stored,Paymentupserted only on new events - Form Request validation, structured logging, correct HTTP error responses
- Unit test for idempotency logic; PR with architectural description
Week 2 — Full Application
Path A — Vue + Nuxt
Pinia stores, dedicated API module, no component-level fetches
Path B — Blade + Turbo
Server-driven UI, Turbo Streams for live updates
- Auth (login/logout, protected routes); OWASP A01 + A07 security audit
- Pagination, filters (status, date range, user, currency), admin refund trigger
- Smart auto-refresh that preserves active filters and pagination state
Week 3 — Architecture & Scaling
- Webhook endpoint only enqueues — no inline processing
- Worker processes events from queue; deduplication handled in the worker
- Exponential backoff retries, rate limiting on the endpoint
- Structured logging in the worker with queue context and retry count
- Unit test asserting no DB write occurs during the HTTP request lifecycle
Each week closes with a PR and a 30-min mentor review. Candidate must explain one architectural decision without referencing the code.
Specialization Tracks
Continues on the same system. Each track adds depth in a specific engineering role. Candidate chooses one at the start of Week 4 and commits to it.
Fullstack
- Metrics endpoint + dashboard visualization
- Real-time notifications (WebSockets or <2s polling)
- CSV export respecting active filters
- DB indexes on critical columns, N+1 elimination
- Hexagonal PHP payment provider (plain PHP, separate project)
DevOps
- Dockerize backend, worker, DB, Redis
- CI pipeline (lint + tests on every PR), CD to staging
- Separated dev / staging / prod environments
- Datadog APM, log forwarding, custom dashboard
- Alert on worker error rate; health checks on all containers
QA
- PHPUnit: unit + integration tests for service and repositories
- Playwright E2E: auth, payments list, filters, pagination
- Edge cases: duplicate webhooks, high concurrency, partial DB failure
- Quality report: coverage, bugs found, recommendations
Common to all tracks: track features must not regress existing behavior. Candidate must defend every technical decision and open a final PR with a written summary of what the specialization delivered and what production concern it addresses.
Program principles
- Single evolving system: one codebase, every week builds on the last
- AI as a core skill: effective use of AI tools is required, not optional
- Progressive complexity: prototype → real backend → full app → scale → specialization
- PR-driven workflow: each week closes with a PR and a 30-min mentor review
- Client communication: one written task per week — status updates, explanations for non-engineers
- Continuous evaluation: autonomy, velocity, and quality measured at each phase gate
Final result
A developer capable of building real systems quickly, using AI with judgment, understanding modern architecture, and scaling applications that start simple — and communicating all of it to a client.
Suggested next steps: scoring rubric per phase, base repository for candidates, standard AI prompts for each week.