When people discover your project on GitHub or your post on LinkedIn, the first thing they see isn’t your code, it’s the cover image. And that’s exactly where you can shine, even without being a designer.
Make your README enjoyable → A fun visual (like a curious mascot exploring your API) sets the tone for your project.
Announce releases in style → Each new version deserves a banner you can proudly share on Twitter, LinkedIn, or Substack.
Boost engagement on technical posts → Visual storytelling helps readers connect with the project behind the code.
Strengthen your brand → If your open source tool has a recognizable mascot or visual style, people will remember it.
In short: good visuals don’t replace great code, but they amplify it.
You don’t need to be an artist. You just need the right workflow. Here’s how I create illustrations for my Go projects, featuring our favorite mascot: the Gopher.
Let me introduce you: Midjourney! Escape the hype, NanoBanana, and other trending image generators are not as good as Midjourney.
In this post, I’m going to create an enjoyable picture of a golang Gopher spreading colors everywhere.
Use ChatGPT to refine your concept before heading into Midjourney. For example:
“Create prompt for midjourney: a golang gopher throwing paint with 2 guns”
Answer:
A blue Go gopher holding 2 paint guns, shooting vibrant splashes of color onto a large canvas — rainbow paint flying in all directions, dynamic motion, colorful explosion of creativity, playful and energetic atmosphere, paint splatters on the gopher and walls, studio background, digital illustration, highly detailed, vivid colors, --v 6 --ar 16:9 --style raw --q 2 --chaos 50
Given with multiple variants:
Cartoon fun / humorous
Cute Go gopher with 2 paint guns shooting rainbow colors, comic-style illustration, exaggerated expressions, bold lines, playful atmosphere, --v 6 --style cute --chaos 60
Painterly / art
Go gopher using 2 paint guns to spray vivid abstract art on a canvas, colorful paint explosion, artistic lighting, expressive brushstroke style, --v 6 --style scenic --q 2
Futuristic / digital art
Go gopher firing 2 paint blasters shooting neon rainbow paint in a futuristic studio, glowing splashes of color in mid-air, cinematic lighting, --v 6 --ar 21:9 --style raw
In the first suggestion, remove the Midjourney custom attributes that are not compatible with the recent version of their model (v7): --v 6 --ar 16:9 --style raw --q 2 --chaos 50.
Update the given Midjourney prompt and add “smiling” + “dynamic” + “crazy”. It makes the final illustration more enjoyable, with motion:
A crazy smiling blue Go gopher holding 2 paint guns, shooting vibrant splashes of color onto a large canvas rainbow paint flying in all directions, dynamic motion, colorful explosion of creativity, playful and energetic atmosphere, paint splatters on the gopher and walls, studio background, digital illustration, highly detailed, vivid colors,
Once you have your prompt, feed it into Midjourney. Add the Gopher character in “Image Prompt”, by referencing an existing gopher image found on Google.
Also, inject a few existing images in “Style Reference” whose style you like.
Add an aspect ratio that fits the platform where you will publish the image (eg: —ar 3:1 or —ar 16:9). It fits perfectly into GitHub headers, blog covers, or release banners.
Run the image generation and iterate until you get the perfect illustration for your project!
If the image isn’t quite the right aspect ratio or the composition feels off, adjust framing, image examples, or prompt.
When you find your perfect illustration, always upscale the final image in Midjourney to make it crisp and ready for publication.
The first iteration usually takes the longest, finding the right style, lighting, and vibe. But once you have it, you can reuse the same visual tone for future illustrations.
Each new image becomes part of your open source project’s visual identity, like chapters in the same story.
Feel free to use it as a Style Reference for your own creation!
The first time you go through this process, it might take around ~2 hours, experimenting with prompts, finding the right gopher style, and fine-tuning the details.
But once your visual identity is set, creating new illustrations becomes fast and fun. Each new release or blog post takes just 10 minutes to generate its image: consistent, on-brand, and ready to share.
Don’t forget to use your fresh image as the repository cover (Project settings > Social preview).
Next step: explore the “Edit” section of Midjourney. ;)
If you enjoy my work, consider sponsoring me on GitHub. Your support helps me keep writing and creating open-source projects 👉 github.com/sponsors/samber
I am a full-time open-sourcer and currently work on a Reactive Programming library for Go 👉 github.com/samber/ro
.png)















