Building the agenda for a tech conference

JSHeroes is a first time experience for all of us in terms of organizing such a massive event. We are 100% dedicated to achieving our goals, but even though we are still in the process of getting through all the details of the first event, we already started capturing a few learning points for next year.

The speakers selection process is at the core of organizing such an event and we really put a lot of effort into building — bias detected — one of the best lineup at a tech conference in Romania.

From the outside, the process may look vague or even random. From the inside, I can tell you that there are many variables involved which can spawn endless questions.

The Goals

We started with a bunch of goals in our heads.

  • we wanted JSHeroes to revolve around three major topics: communities, open-source and education.
  • we fought to bring speakers that understand and are in line with our mission.
  • we had a fixed budget for spending on plane tickets and accommodation, constrained by our non-profit organization status and our desire to work only with sponsors that are adhering to our mission.
  • we all agreed that single-track events are much more entertaining for the audience, so we opted for a 2-day event with 20 speakers.
  • we wanted to bring more than 50% of the speakers from outside Romania, because this is an international event, not a local community event.
  • we also wanted to bring local speakers from Cluj, but also attract speakers from other major cities in Romania.

The Selection

For selecting the speakers we had two simultaneous and complementary strategies. On one end, we approached our personal networks and a lot of top people in the industry, in an effort to ensure a top quality event from the first edition. One the other end, we launched a Call For Papers, through which we had more than 50 applications from all over the world.

To give you a few more numbers, we contacted more than 50 speakers, receiving interest from about 20, ending up with 9 speakers officially invited to the conference. Other 9 were selected from the CFP applications. The final 2 spots were taken by two members of our community.

In terms of selecting a proposal from the CFP, we had to juggle with a lot of variables:

  • is the speaker representative for our topics? (open source contributor/maintainer, community leader, education advocate)
  • how useful is the content proposed for our audience?
  • does the proposal fill a gap in the agenda or is it a recurring theme?
  • can the speaker deliver a top quality presentation?
  • do we have a good balance of topics?
  • do we have enough gender and ethnic diversity among our speakers?
  • will the company support the costs for the speaker?
  • in case not, what is the approximate travel cost for the speaker?

The Process

We had a two-step process for selecting the 9 spots from the CFP. We organized a group of 4 members of our community that went through each of the proposals.

Each member added the talks which seemed of interest to him/her on a secondary list, where we gathered all the proposals that made it to the second layer of evaluation (about 25).

Here, we had a voting system, where everyone voted for all the proposals from 1 to 10.

Finally, we went through the top proposals and we did a bit of cross checks with the points above: balance of topics, company supporting costs, diversity, etc.

The Schedule

Once we had the confirmed speakers, we started working on the actual agenda.

As developers organizing a conference, we naturally looked for an algorithm to fill the spots on the agenda.

First, we annotated each talk with a value from 0 to 2 where:

  • 0 means the talk is abstract and covers a more generic / high level topic
  • 1 means the talk is focused on a certain technology, but does not enter really deep into the subject
  • 2 means that the talk is highly specific/focused and requires good prior know-how in that area to be fully grasped by the audience.

Having this in mind, we created 4 sessions for each day of the conference, where a session is a series of 2 or 3 talks with no break between them. So we have 10 speakers per day and 4 sessions with the corresponding number of talks: 2–3–3–2 with the coffee breaks/lunch break between them.

We tried to start each session with a level 2 talk which requires more attention and focus and end it with a level 1 talk (for the sessions with two talks) and level 0 (for the session with three talks).

People tend to lose focus after an hour or so and by doing this we are making sure that the talks that fully require your attention are at the beginning of the sessions.

We also added one final touch on this, we made sure that similar topics are close together in the agenda to create a more fluent schedule.


Overall it was a hard task, but also a fun one. We hope to see the results of our carefully crafted agenda in the feedback of the attendees of JSHeroes.

One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.