August 26, 2026 / San Francisco / Finished

Roast My PR

In collaboration withQodoatGitHub HQ

Anyone can generate code. The question for the evening was whether you can write code that is clean, readable and neat enough to survive being read out loud. We handed everyone a repository they had never seen, put Qodo on every pull request, and pulled the reviews up on the big screen.

The event

Finished

When
Wednesday, August 26, 2026
Where
GitHub HQ, San Francisco
Handed in
56 submissions
Reviewed by
Qodo, on the big screen

01 / The challenge

A repository you had never seen, and two hours

Nothing was published in advance. Everyone opened the same contacts app at seven, in two halves, and started sending pull requests at it.

Challenge 1

Give a contact a face

Add a photo to a contact and render it as a circular avatar down the list. Sounds like an afternoon. It is a base64 payload crossing three size limits nobody had written down.

Challenge 2

One contact, many addresses

Retire the flat address, city, state, postal code and country columns and put a real one-to-many in their place: an addresses table, typed Home, Work or Other, grouped on the detail page.

Bonus

Then something of your own

Anything, as long as it stood on the two challenges underneath it. Half the room reached for the same idea from opposite directions, and a few went somewhere nobody expected.

Marked out of five, seven times over

  • Working feature (Challenge 1)
  • Quality of Qodo usage
  • One-to-many correctness (Challenge 2)
  • Code quality
  • UI polish
  • Creativity
  • Coolest extra feature

Second on that list is the one that made the night what it was. Getting the feature working was worth five points. So was how well you used the reviewer: what you asked it, what you fixed, and where you told it, on the record, that it was wrong.

02 / In photos

What the room looked like

Nine photographs from the night, ending with the people who went home with something.

A host speaking into a microphone at a lectern in front of a projected WeMakeDevs slide reading World's Most Engaging GTM Events
01 / 09

01 / GitHub HQ

Doors, and the pitch

The opening slide, before anyone had seen the repository they were about to work in.

03 / Winners

What came out of the two hours

Oussama Elfigha took the Mac mini for the best merged submission of the night. Ten Keychron keyboards went out beside it.

Grand prize / Apple Mac mini

oussamaelfig

Oussama Elfigha, for a share card that turns a contact into a qr code

A spec-correct vCard 3.0 with the typed Challenge 2 addresses in it, drawn as a QR you point a phone camera at, generated as an SVG on the server so no QR library ships to the browser. Qodo caught the bug that decided it, in the gap between the two repositories: the API took photos up to 2.8 MB while Next.js refuses a Server Action body over 1 MB, so a valid photo was being rejected before any validation ran.

Ten Keychron keyboards

10 winners

A line of attendees standing on stage in front of a projected Keychron slide at the end of the event
  • Karim Baba

    Rebuilt the contact list as an actual phone book: A to Z with sticky letter headings and a jump rail, .vcf export, a print view that halftones every avatar through an SVG Bayer filter, and a drawn face for contacts with no photo.

  • Devang Sharma

    vCard 4.0 export, picked because it proves both challenges at once: open the file in Contacts.app and the Work and Home addresses arrive as separate typed entries.

  • Kush Kirankumar Ise

    RFC 6350 vCard export, per contact and for the whole list, written against the parts of the spec that are easy to get wrong: escaping, folding at 75 octets on character boundaries, and a real UUIDv5 so a re-import updates instead of duplicating.

  • Ananay Arora

    A full liquid-glass redesign, with a square photo cropper, a LinkedIn field checked against spoofed domains and dead links, CI across Python 3.11 to 3.14, and 208 tests behind it.

  • Martin Pefaur

    Six pieces of polish in one bonus PR: favourites pinned to the top, duplicate-email errors that keep your form data, soft phone validation that warns instead of blocking, address-type icons, vCard export, and drag-and-drop photo with a square crop.

  • Kamo Aghbalyan

    Meetups: contacts who share a city, read off the new addresses table, turned into a Luma-style event page in one click, with the guest list as avatars and an invite to everyone on it.

  • Ramya Velaga

    Favourites, and a pinned contact that stays at the top of the list.

  • Sophia Kurianski

    A button that turns the contacts into superheroes and lets them fly around the screen.

  • Morgan Schofield

    A QR code on the contact detail page.

  • Vagisha Tyagi

    A share action that builds a standards-compliant vCard, renders it as a scannable QR, and offers the .vcf beside it.

04 / Everyone else

The other 45 submissions

56 things were handed in before nine o'clock. Every pull request is listed, in the order it arrived.

Half the room arrived at the same idea from opposite directions, a QR code that puts a contact straight into your phone, and no two of them built it the same way. The rest went somewhere else entirely: contacts as a network graph, contacts as a FIFA player card, contacts hidden in the low bits of a PNG, contacts you exchange by standing near someone for ninety seconds.

56
handed in
45
in the field
11
went home with a prize

We do this often. The next one is already on the calendar.

Roast My PR was one Wednesday evening in San Francisco. There is a meetup somewhere most weeks and a hackathon running most months, all of them free and all of them open to anyone who turns up.