Like many software developers when I think about creating a side-hustle, or generating passive income, I often default to thinking about website contract work.
But how do you start building a client-base when the vast majority of your career has been spent building software behind closed doors? When your entire portfolio is locked behind NDA's or are parts of a much wider whole?
I honestly have no idea 🤷♂️
But I'm hoping creating and selling themes for popular blog-engines is a start. A way to provide value, to build a public portfolio and hopefully attract opportunities for bigger work.
So this mini-series will document my journey creating the theme for this site - and how I'll go about making it usable for others.
Project setup + developer environment
This site runs using the popular blog engine Ghost. Their ThemeStarter does a great job introducing the basic concepts of a ghost theme and their robust official documentation covers any missing gaps.
Throw in a brief guide from LayeredCraft on how to setup TailwindCSS and we have a basic development environment up and running in 15minutes.
Basic design
Going into this I knew this site was going to be a weird mix of my all previous attempts; a personal portfolio, a resume, a software development blog, a place to talk about my hobbies and even display my photography.
My own little corner of the internet to represent my whole self.
With such an over-complicated mission-statement I wanted the design to be as minimalist as possible. To focus readers on the content and let the theme fade into the background.
That left me with a few core requirements:
- As a portfolio - I wanted a two-panel layout on the home page to showcase both the site-content and who I as an individual
- As a software-development blog - I wanted posts to be able to support long-form articles with complicated nested headings
- As a hobby-blog - I wanted the theme to not feel too corporate or overpowering, as a lot of my writing won't be formal
- As a resume - it should be 'professional-enough' that I wouldn't feel awkward showing colleagues, clients or employers
- As a place to showcase my photography - I needed few (or no!) colours that would skew how photos were perceived.
Those requirements ultimately resulted in the minimalist card-based layout you see now.
- a) minimalist design without overbearing colours or typography
- b) two column layout on the home page that makes it clear this is a portfolio
- c) one-to-two column layout on posts to support both professional and casual content
- d) 'tag' pages to offer views for the different kinds of content
- e) photo gallery support
Next steps?
With the basic design up and running it's time to focus on making it usable by other people - a genuine 'MVP'.
After doing a little research on what Ghost themes have in common on Themeforest I put together this short-list of must haves:
- Responsive / Mobile Friendly
- Light/Dark Mode
- 404 Page
- Robust Recommendations / 'Read Next' section
- Optimised page load speed
And to keep this fun for myself I've added a few extra bells & whistles:
- Customisable type-face options
- Customisable 'read-next' sections (bottom of page vs sidebar)
Tune in next time as we make this theme ready for sale.