How to speak at conferences?

If you’ve ever wondered how people end up on stage speaking at conferences, this article is for you. I’m going to describe the different steps and share some tips & tricks to increase your odds of success. These are lessons I learned over the past 10 years of successfully giving 50+ talks on all continents.

  1. Finding the right conference

The first thing to know about conferences is that they are planned months in advance, and speakers are typically selected at least a few months before the event. As a result, your first step when looking for a conference to speak at is to determine when it will take place. If it’s next month, it’s most likely too late to apply to speak. Most conferences select their speakers four months to a year before the event!

To find such events, you can use AI, Google search, or aggregators such as Papercall, Sessionize (you need to create a speaker account first – it’s free), and developer.events.

Once you find an event, the next important thing is the CFP process.

  1. Find the CFP (Call for Papers) dates

The call for papers (CFP – sometimes Request for Papers – RFP) process is how anyone can apply to speak at a conference. This information is always available on the conference website at some point, usually under a “Speakers” or “CFP” menu:

If you can’t find it, it means you’re too early or too late. The next thing to know about CFPs is that they have a start date and a closing date, which sometimes leave only a short window of time (a month or two) to apply. This is why knowing the dates is crucial: I’ve missed so many conferences when I started public speaking because I missed the CFP dates… Most of the time, you’ll find something like this on the conference website:

I check CFP dates for events I want to speak at once a month. Another option is to contact the organizers, as contact info is always available on conference websites, but don’t expect an answer: they receive tons of messages and tend not to check their email inboxes before a CFP starts.

Another key piece of information in the CFP is whether the conference covers your travel and hotel expenses for the event. Most conferences do, others don’t, so make sure you have that information before applying.

3. Apply to speak

Once the CFP for the event is open, you can apply to speak! Most conferences allow you to submit several ideas, but their submission process often requires repeating the same information for each submission (your name, bio, location, etc.), which is painful.

As a result, I have a document where I keep everything conferences typically ask for, so I can copy and paste that info and save lots of time:

Note that websites like Sessionize allow you to store all that info, as well as your talk ideas, so you can reuse it and apply it to other events quickly.

Here are some suggestions for successful conference applications:

  • Make sure you submit talks that are in line with what the conference already does, but not exactly the same topics as in previous events
  • Submit 3 to 5 different talk ideas, not just one (90% of applicants submit just one talk)
  • You will get rejected over and over again. In my first few years as a speaker, I learned I was selected to speak at about 60% of events, so if I wanted to speak at six conferences per year, I’d apply to 10 events.
  • If you’re a new speaker, don’t compete with star speakers who speak at the event every year. Pick a talk duration or format that is uncommon and unlikely to be selected by the “famous” speakers. For instance, if the main talk is 30 minutes but the conference allows 5-minute lightning talks, choose the lightning talks for your first applications. You’ll have less competition!

4. Wait for the result

Once you’ve submitted your talks, wait for the selection committee to make their choice. Again, expect to be rejected quite a bit; that’s perfectly fine, and even veterans like me get rejected several times per year.

5. Prep your content

This is the “easiest” part, in that it’s fully under our control at that point: we can create our content and get ready to deliver it on stage!

If you have any questions or if I missed anything, please let me know, and I’ll update this tutorial with more information.

How I built a cool art display with the help of AI

A few years ago, I came up with the idea of an art display to illustrate my tech history through code. The idea was to take meaningful code snippets from my career and have them “paint” a canvas on which the logo of my solo business, Interstate 21, would emerge. Basically, I wanted a “The Matrix”-like effect: a wall of code that draws the business’s logo, since that code ultimately created the business itself.

But I didn’t know how to make that happen without spending dozens of hours editing images and code samples.

In late 2025, I decided to prompt AI to do that for me. I got something interesting and fairly close to what I had in mind, but it would not use my code snippets, just random ones instead. Both Gemini and ChatGPT failed in a similar fashion despite multiple attempts:

The rendering was cool, but the code wasn’t mine, so I decided to do it manually. There were still a few hurdles:

  1. The goal was to illustrate my entire career, which means there would be different programming languages, all with different syntax coloring rules. But I wanted consistent colors on my canvas.
  2. Whitespace, tabs, and end of lines. Code editors want to format code properly and won’t cut the lines the way I wanted for this project.

Should I use a code IDE or image editor software? I wasn’t sure what the best approach would be for pixel-perfect rendering. This is where AI gave me a breakthrough. I prompted Gemini Pro with:

I want to create an image that shows different pieces of code in different programming languages, all with syntax coloring, with possibly one line for each example / language. Which process would you recommend for me to achieve this?

And the answer I would never have thought about on my own:

I recommend using Shiki (the syntax highlighter used by VS Code) over Prism.js because it uses TextMate grammars, ensuring the colors match your IDE exactly.

  1. Scaffold an HTML Page: Create a simple container with a dark background.
  2. Integrate Shiki: Use the CDN version to render code strings into HTML tokens on the fly.
  3. Layout with CSS: Use display: grid or flex to stack your one-liners vertically or artistically.
  4. Export: Use Chrome DevTools → Cmd+Shift+P → “Capture node screenshot” (generates a high-DPI PNG of just the container).

Then Gemini created a skeleton page I could use. That was the breakthrough I needed. With some more AI-assistance, I was able to describe my snippets using an array of JavaScript objects that looked like this:

{
        lang: 'java',
        description: 'Java code from university (simulation agent)',
        code: 'public abstract class SimulationAgent extends AbstractAgent implements ReferenceableAgent{ String messages = ""; public void addMessage(String mess){ messages += "<"+getName()+"> "+mess+"/n"; } public String getMessages(){ return messages; } }'
}

All I had to do was add more entries, refresh the HTML page, capture a screenshot, and be done.

Well, I actually spent hours going through my college archives, extracting code from PDF reports, GitHub repos, or old zip files from hard drives from 20 years ago… I failed to recover some Turbo Pascal samples that probably live on a floppy disk somewhere. Yes, I started coding before USB thumb drives and cloud storage solutions were a thing…

I considered using a decompiler to reverse-engineer compiled code in some instances, but my point was to render code I had written myself, so I gave up on that idea.

I found pieces of Visual Basic, SQL, Java, PHP, JavaScript, Google Maps API, KML, TypeScript, OutSystems syntax, HTML, CSS, Angular template syntax, AngularJS template syntax, and more…

There is code from my first internship in college, my first bug fix in a high-stakes university project, my first job, my first freelance Google Maps project, my first AngularJS training, the Angular certification program

It’s all there. My entire career, summarized in code snippets, is now hanging in my office, printed in a plexiglas frame:

Once I had the right process, it was really fun to get to the end result. What’s satisfying is that I don’t think I could have gotten to that result alone, and AI couldn’t either. I had to collaborate with AI to make the project happen, which is really the name of the game these days: Using AI for inspiration and help to reach new horizons.