> ## Documentation Index
> Fetch the complete documentation index at: https://resources.devweekends.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Case Studies

> How to write an excellent engineering case study for DevWeekends

## What is a Case Study?

A case study is a **professional write-up** that documents your engineering project from start to finish. It showcases your technical decision-making, architecture choices, and problem-solving skills to potential employers and mentors. Think of it as a design document written in retrospect -- you are narrating the journey from problem to solution, including the wrong turns and the reasoning that corrected them.

<Info>
  **Why Write Case Studies?** They're like a portfolio for engineers -- 10x more impressive than just having code on GitHub. Recruiters and hiring managers consistently rank candidates higher when they can articulate **why** they made technical decisions, not just **what** they built. A well-written case study answers the question every interviewer is silently asking: "Can this person reason about trade-offs under real constraints?"
</Info>

<Tip>
  **Real-world signal:** Many hiring managers skim GitHub repos for less than 60 seconds. A polished case study with an architecture diagram, a challenge/solution table, and concrete metrics (latency, throughput, error rates) gives them a reason to stay for five minutes -- and that is often the difference between a phone screen and a rejection.
</Tip>

***

## Quick Start

Use this section to craft professional case studies after completing your capstone or mentor projects. Start with the guide, duplicate the template, and ship a polished write-up.

**Recommended workflow:**

1. Read the guide to understand what evaluators look for and how each section earns its weight.
2. Copy the template into a new `.mdx` file named after your project (e.g., `my-marketplace.mdx`).
3. Fill in every section. If you skip the "Challenges and Solutions" section, you are leaving the most valuable part blank -- that is the section interviewers read first.
4. Review against the rubric in the guide. Ask a peer to read it cold and tell you where they got confused.

<CardGroup cols={2}>
  <Card title="Case Study Guide" icon="book" href="/case-studies/guide">
    What to include, structure, and scoring rubric. **Start here.**
  </Card>

  <Card title="Template (copy/paste)" icon="file" href="/case-studies/template">
    A complete MDX template you can fill in immediately.
  </Card>
</CardGroup>

***

## Example Case Study

Learn by example. This reference shows what a great case study looks like -- pay attention to how every technology choice comes with a "why" and how the challenges section dominates the narrative:

<Card title="Multi-Vendor E-commerce Platform" icon="star" href="/case-studies/example-multi-vendor">
  A full MERN marketplace demonstrating:

  * Multi-role system (Buyer, Seller, Admin) with RBAC enforced at the API layer
  * Real-time messaging with Socket.io, including reconnection and multi-tab handling
  * Stripe payments with webhook idempotency and partial-failure recovery
  * Architecture diagrams that include failure boundaries, not just happy paths
</Card>

<Tip>
  **When reading the example**, notice that the outline does not start with the tech stack. It starts with the problem space, user personas, and measurable success criteria. This ordering signals systems thinking -- you understand the business context, not just the implementation.
</Tip>

***

## Case Study Checklist

Before submitting, make sure you have every section below. The "Common mistake" column tells you where most candidates lose points:

| Section                  | Required | Tips                                    | Common Mistake                                                                           |
| ------------------------ | -------- | --------------------------------------- | ---------------------------------------------------------------------------------------- |
| Overview and Links       | Yes      | One-liner + GitHub + Demo URL           | Missing the live demo URL or linking to a repo with no README                            |
| Goals                    | Yes      | 3-5 bullet points, include non-goals    | Listing only features instead of measurable outcomes                                     |
| Tech Stack Table         | Yes      | Layer, Technology, **Why** you chose it | "Used React" without explaining why React over alternatives                              |
| Architecture Diagram     | Yes      | Use Mermaid for clean diagrams          | Happy-path-only diagrams with no failure boundaries                                      |
| Key Features             | Yes      | Group by domain (auth, payments, etc.)  | Describing UI screens instead of engineering decisions                                   |
| API Endpoints            | Yes      | Group by domain, show request/response  | Listing every CRUD endpoint without highlighting interesting design choices              |
| Database Schema          | Yes      | ERD diagram + relationships             | No explanation of normalization/denormalization trade-offs                               |
| Challenges and Solutions | Yes      | 5-10 specific problems + how you solved | Generic challenges like "deployment was hard" with no root cause or alternative analysis |
| Best Practices           | Yes      | Security, performance, DX choices       | Claiming best practices you did not actually implement                                   |
| Conclusion               | Yes      | Metrics, learnings, next steps          | No quantitative metrics -- just "it works"                                               |

<Warning>
  The **Challenges and Solutions** section is the single most valuable part of your case study. Interviewers and mentors read this section first because it reveals how you think under pressure. If you only have time to make one section excellent, make it this one.
</Warning>

***

## Pro Tips

<AccordionGroup>
  <Accordion title="Keep it Concise -- 4-8 Pages" icon="scissors">
    Four to eight pages is the sweet spot. Link out to code rather than pasting large snippets. If a section runs longer than a page, split it or move details into an appendix. Hiring managers rarely read past page six unless you have given them a reason to.
  </Accordion>

  <Accordion title="Show Trade-offs, Not Just Decisions" icon="scale-balanced">
    Every technology choice should answer three questions: Why this? What were the alternatives? What would you do differently with more time or budget? "Used PostgreSQL" is not a trade-off statement. "Chose PostgreSQL over MongoDB for ACID guarantees on payment transactions; accepted slower write throughput and more rigid schema migrations" is.
  </Accordion>

  <Accordion title="Include Quantitative Metrics" icon="chart-line">
    Numbers make your case study credible and specific. Include latency (p50 and p95), throughput, error rates, team size, timeline, and before/after comparisons where possible. "Reduced checkout time by 40%" is a strong claim if you can back it with monitoring data. If you do not have production metrics, use load test results.
  </Accordion>

  <Accordion title="Use Diagrams -- Especially for Failures" icon="diagram-project">
    Architecture diagrams and ERDs are worth a thousand words. Use Mermaid for consistency across the project. The diagram most candidates skip -- and the one evaluators value most -- is the **error flow**. Show what happens when the payment webhook fails, when the database connection drops, or when a downstream service times out. Happy-path-only diagrams suggest you have not thought about production reliability.
  </Accordion>

  <Accordion title="Write for Two Audiences" icon="users">
    Your case study will be read by two very different people: a recruiter scanning for keywords and structure, and a senior engineer looking for depth and trade-off reasoning. Structure and headings serve the first reader; the "Challenges and Solutions" section and architecture commentary serve the second. Both matter.
  </Accordion>
</AccordionGroup>
