Prove
LiveProof-of-Work · Oct–Nov: every verified proof counts. 46 days leftAll outcomes
Skills

Run Production Infrastructure Reliably

12 weeks · 4 milestones

Automate a real, currently-manual deployment or infrastructure task into a CI/CD pipeline or infrastructure-as-code that runs without human intervention.

Milestone map

Milestone map

3 milestones

Automate a Manual Deployment Process

3–5 weeks (8–15 hrs)

Identify a deployment or infrastructure task that is currently done manually and automate it using a CI/CD pipeline or infrastructure-as-code. The automation must be production-relevant — not a toy project — and must reduce a repeatable manual process to zero steps. Acceptable examples: automating test + build + deploy on every pull request merge; converting manual server provisioning to Terraform or Ansible scripts; replacing a manual environment setup checklist with Docker Compose or a Makefile. The automation must be committed to version control and must run without human intervention.

Proof required

Submit a GitHub repository (or a link to the pipeline config in an existing repo) showing the automation scripts or config files, a pipeline run log or screenshot proving it executed without human input, and a 200-word description of what was manual before and what the automation eliminates.

What gets checked

  • Pipeline run log or screenshot shows a successful automated run with no manual steps — a config file alone does not prove the automation works
  • The 200-word description names the specific manual steps that were eliminated — 'it automates deployment' is not specific; 'eliminates the manual step of SSHing into the server and running git pull + pm2 restart' is
  • The automation is committed to version control and could be reproduced by someone else reading only the config files

Common mistakes

  • Automating a process that does not matter — a deployment pipeline for a personal project no-one else uses has lower credibility than automating a real team process
  • An automation that still requires a manual trigger other than code merge (e.g. a script someone has to run manually) — true CI/CD is triggered by code events, not humans
  • Config files with hard-coded secrets — any secret in version control is a security failure regardless of whether the automation itself works

Resources

Foundationstart here

Depthgo deeper

What a verifier looks for

  • Push a trivial commit to the repository and observe the pipeline run without any manual steps — if it requires manual input, the automation is incomplete
  • Check the config files for hard-coded secrets — any credential in plaintext is a disqualifying security failure
  • Ask the submitter what happens when the automated pipeline fails — error handling and alerting are the indicators of production-readiness vs toy automation
  • Ask what was the most difficult part of the automation — genuine automation work always encounters unexpected environment or permission issues that required debugging

You'll sign in first, then come straight back here.

Build Observability Into a Running System

4–6 weeks (10–15 hrs)

Add meaningful observability to a production or production-like system: structured logging, metrics, and at least one alert. The system must be running — not a local development environment — and the observability must provide genuinely actionable information, not just data. Minimum requirements: structured logs (JSON format, not plain text) with request IDs that trace a user request through the system; a dashboard showing at least 3 key operational metrics (error rate, latency p95, and one business metric); at least one alert that fires when something is genuinely wrong (not a test alert).

Proof required

Submit a screenshot of the dashboard showing all 3 metrics with real data, a log sample (3–5 lines showing the structured JSON format and request ID tracing), and a screenshot of the alert configuration with the condition and notification channel. Include a 150-word description of what each metric measures and what the alert fires on.

What gets checked

  • Dashboard shows real production data — not sample or synthetic data; dates and values should be consistent with a real running system
  • Log sample shows a request ID (or trace ID) that appears in every log line for a single request — this is the minimum for structured tracing
  • Alert condition is on a real operational signal (error rate > 5%, p95 latency > 2s) not a trivial test condition (CPU > 1%)

Common mistakes

  • Adding logs that emit raw text strings — structured logging means machine-parseable JSON; grep is not an observability tool
  • A dashboard that shows system metrics (CPU, memory) but no application-level metrics — operational observability requires application-level signals
  • An alert that was configured but has never actually fired — confirm the alert fires by triggering the condition deliberately and documenting the notification

Resources

Foundationstart here

Depthgo deeper

What a verifier looks for

  • Ask the submitter to explain what each metric on the dashboard measures and when it would indicate a problem — if they cannot answer without referring to documentation, the metrics were added without understanding
  • Trigger the alert condition deliberately during the review session and confirm the notification arrives — an alert that has never fired is not a working alert
  • Check the log sample for request ID propagation — ask the submitter to find all log lines for a single user request by searching by request ID
  • Ask what the most painful production incident was that the new observability would have detected faster — genuine observability work is driven by past pain

You'll sign in first, then come straight back here.

Present Your Infrastructure to a Senior DevOps Reviewer

1–2 weeks (60 min session)

Walk a qualified reviewer through your M1 automation and M2 observability: a DevOps engineer, SRE, or platform engineer with 5+ years of production infrastructure experience. The reviewer challenges your design decisions (why this tool, what happens when this component fails, how would you scale this to 10× the current load), identifies one reliability risk they see in your current setup, and presents a hypothetical incident (a specific failure mode) that you must reason through using only the observability you have built.

Proof required

Submit the reviewer's written assessment: the design decision they challenged and your response, the reliability risk they identified, the hypothetical incident and your step-by-step diagnosis using your actual observability setup, and their sign-off confirming their role and a live session.

What gets checked

  • Hypothetical incident diagnosis uses the actual dashboard, logs, and alerts documented in M2 — not a general description of how you would investigate
  • Reliability risk identified by reviewer is a real gap (not a configuration detail) — a risk about what happens when the CI runner goes down or the database has a slow query
  • Reviewer sign-off confirms 5+ years of production infrastructure experience (SRE, platform engineering, or DevOps in production environments)

Common mistakes

  • Incident diagnosis that describes general debugging principles rather than specific steps using the specific observability tools built in M2
  • A reviewer who is a software engineer with some DevOps exposure rather than someone who owns production infrastructure
  • Design decision challenge response that describes what the tool does rather than why it was chosen over the alternatives

Powstik Guide

A senior reviewer's written assessment of your infrastructure.

Steps

  1. Find someone with years of relevant work.
  2. Send your work beforehand.
  3. Let them pick what to challenge.
  4. Answer live, then get it in writing.
  5. Note what you'll change.

Template

Reviewer:        Role:        Years:
Challenge raised:
My response:
Their assessment:
What I'll change:

What gets sent back

  • Reviewer without relevant experience.
  • Verbal feedback only.
  • No challenge recorded.

Resources

Foundationstart here

Depthgo deeper

What a verifier looks for

  • Prepare the hypothetical incident by reading the M2 observability setup first — it should be a realistic failure scenario (a slow database query, a memory leak, a failed deployment) that the submitter's specific dashboards and alerts would surface
  • Ask the design decision question about a specific tool choice that has an obvious alternative — 'why GitHub Actions over CircleCI?' tests whether the choice was considered or just default
  • Reviewer minimum qualification: 5+ years of production infrastructure ownership in a team context — not just personal server management
  • Ask the submitter what they would add to their observability setup before going on-call — this tests whether the M2 work produced genuine operational thinking

You'll sign in first, then come straight back here.

We use analytics to improve Powstik. No ads, ever.