I’ve always loved designing and coding my work. I coded my first portfolio website in 2012. Did a refresh of it in 2014 and have been procrastinating on a re-design project since 2016. I started and made some progress on the designs in 2020 but then covid happened and I drifted off to 100 other things.
This year, 2021, for some reason, feels different. I’ve started the project and focusing on making the website incrementally better every month vs. redesigning it one go and launching it.
This is where “Building in Public” comes into the picture. I want to keep myself on track for this project and there’s no better way than building in public. If you’re new to the concept of “Building in Public”, I’ve laid down a bit of basics in the accordions below.
When you start a project, say building a car, manufacturing a sofa, designing a smartphone, or something creative like a painting or writing a book, you can choose to do these projects in two ways.
Building in Private:
One way is to build in private where you design and assemble the said car, sofa, or smartphone in a closed garage or factory, hidden away from the general public, and then launch it in a big event. The same goes for the painting or a book for example. You paint or write this book without letting anyone know. You just involve a few people in the process to take feedback, tweak, and then display the painting one fine day or publish that book globally.
Building in Public:
The second way is to build in public. It's opposite of building in private. Here, instead of hiding your project, the process, the thinking, and other important details, you share these details in public. So in the context of building the car in public, you'll share your sketches, early 3D renderings, the thought behind the mechanics and design of the car, the materials you're using to build the car, the paint, any issues that you might come across building this car, so on and so forth. You'll share important details throughout the process of building this car with the public, via a blog post, a podcast, a YouTube channel or just getting covered by your local newspaper. But one thing is for sure, whatever you do, you'll remain open about sharing information about the project from start to finish, and sometimes even after.
Early in my career, one thing I realized about myself is that I get motivated to work on things if I start sharing its progress in public. I've shared my To-Dos a lot in the past. I've shared about my side-projects in the past. I share my WIP design shots on Dribbble.
"The effects of small habits compound over time." ~ James Clear
When you talk about your work in public it does a couple of things:
- Social accountability:The biggest one is that you consciously start holding yourself accountable in public. Now that you've announced you're doing that project, you know that people will know if you failed or succeeded in that project. And no one likes to get embarrassed by their failure in public, so the ball gets rolling.
- Bias towards action:Since you've announced the start of the project in public (and given you want to share progress about it too), the task of getting things done gets fuelled by both intrinsic (i.e. you want to work on this project) and extrinsic (people might be interested in knowing the progress) motivations.
- Project documentation:Another best part of building in public is the documentation you get while talking about your project. Even if you failed or had an okay-ish success in completing the project, you always have a written log of your journey and those can be a huge asset either as a reference for future projects for yourself or helping someone get started or figure out problems that you faced - by publishing the process in a blog post or an e-book.Process documentation is very underrated.
- Attract collaborators, customers, patrons:People love listening to a story or seeing others do interesting stuff. Building in public might attract (and have attracted) potential collaborators, customers, or patrons for your project. As you talk about your progress in public, people see you as a doer + it builds credibility, which in turn gives them the confidence to reach out for help, buy your product or just follow your social account for future updates. It's a win-win.
- Multi-day marketing vs. a single launch day:The biggest problem with building in private is spending a ton of effort, money and other resources on the launch day i.e. to spread the word. Guess what?! Building in public helps you do that from day 1. Think of your project being launched every day with every little update you share in public. So instead of a "one-day mega-launch", it becomes a "multi-day micro-launch". This way, more and more people will get to learn about your project every day rather than relying on one single day.
To start with, I want to stick with the concept of "incrementally correct personal website". I came across that concept from
Brian's blog who got the idea from
Guillermo Rauch. The concept is:
"Building an incrementally correct product is the process of iterating towards something more truthful, accurate, usable, or interesting. The faster we can iterate, the faster we can discover good ideas. Things aren't perfect today, but tomorrow things can be slightly closer to perfect."Why you may ask? It's because designing and building a portfolio website is an iterative process and if I start tweaking stuff to perfection, I'll launch slowly. If I launch slowly, I'll document and talk about my project less, which starts taking the route of "building in private".
So, simple to-dos to make sure I stay on track in designing and building my portfolio website in public can be:
- Break feature into smallest shippable items.
- Iterate small and ship faster.
- Document and publish what I am shipping.
To keep things simple and as transparent as possible, I’ve added (& will keep adding) links to all the work that I am doing that includes, wireframing, userflows, documenting ideas, writing UX requirements, designing, coding the site, and its analytics.
I am using:
Notion:to track and document all the related stuff
Figma:to design and prototype lo-fi and hi-fi mockups
GitHub:for versioning and tracking code progress
PostHog:to capture visitors data anonymously and sharing them publicly
Twitter:to share updates frequently as changelogs
Having a project pipeline in a Kanban board or in tabular format helps a lot in visualizing your project towards execution. I am planning and documenting every small to big detail in Notion for this project. Click below to visit the . Feel free to click through any specific card/story and read through its progress.
Below you’ll find all the source files where I've explored multiple variations of buttons, input fields, copywriting, sections and pages. Each file has its own wireframe, userflow, variations, & final designs; organized within pages.
I love coding and this redesign project is an excuse for me to flex my web development muscles once again. Below you’ll find all the code commit activity. For more detailed look, feel free to inspect them on .
What gets measured, gets managed. Hence, adding all the website data like how many visitors visited each day, browsers being used the most, countries they're visiting from, top sources of traffic, device type being used the most, and top pages visited on this site. All this data is being collected anonymously using this tool called PostHog.
If the data doesn't load, please refresh the page once.