Create, Publish, and Analyze Personal Websites Using R and RStudio
A free, digital handbook with step-by-step instructions for launching your own personal website using R, RStudio, and other freely available technologies including GitHub, Hugo, Netlify, and Google Analytics
2021-12-02
Chapter 1 Introduction
This book is free and will always be free. I believe in making information open and accessible to everyone, regardless of status or background. If you would like, you can show your support by “purchasing” a copy for only $5 USD.
This book is licensed under the Creative Commons Attribution-NonCommercial-NoDerivs 3.0 License.
1.1 About this book
In 2018, I had virtually no online presence other than about 100 random LinkedIn connections. I knew this was a problem given my budding interest in Data Science, the increasing demand for project portfolios, and my perceived need to “stand out” in the digital crowd.
So, I learned how to publish my first personal website, Abnormal Distributions. Yes, I know, it looks outdated and definitely not as cool as this website. However, Abnormal Distributions took my online presence and my career to new heights. Since going live, Abnormal Distributions has served over 50,000 page views and 20,000 users from all over the world. I began posting content on LinkedIn with links to my website, and in the span of a year I received 1,700 LinkedIn connection requests from Data Scientists and professionals in related fields. I began receiving job opportunities from recruiters who discovered me by landing on my website. Abnormal Distributions sparked my creativity, deepened my subject matter expertise through writing, and gave me the tools I needed to confidently engage with the digital crowd. It turned out to be a wonderful investment of time and energy.
My goal with this book is to help you launch your own personal website and, hopefully, experience the same personal transformation that I experienced after I launched mine.
You will learn the exact methodology that I use to create, design, publish, and analyze websites using R, RStudio, and other freely available tools including GitHub, Hugo, Netlify, and Google Analytics. No prior experience in web development, R, or any of the aforementioned tools is needed to be successful with this book.
1.2 Target audience
The target audience for this book includes students, working professionals, and researchers who want to launch their very own personal website. Most likely, however, this book will appeal to individuals in these segments who associate with R, Data Analytics, Data Science, Machine Learning, Statistics, Mathematics, and related fields where technical writing is common.
Note that you do not have to be an experienced web developer to successfully use the methodology described in this book. To learn more about whether or not this book is right for you, check out the FAQ section.
1.3 Reasons to have a website
There are many excellent reasons to have a personal website. Below is a list of ideas to motivate your thinking.
Captivate an audience. A personal website presents an amazing opportunity to captivate audiences including professional recruiters, hiring managers, current employers, colleagues, fellow students, and more. Having your own website featuring your original content is one of the best ways to gain recognition and increase your competitive advantage.
Enrich your social media presence. Personal websites give your social media viewers a path to learning more about you and the work you are doing. Start by enriching your LinkedIn profile by inserting links to your website in your headline, summary, Featured section, and any posts you make.
Personalize your job applications. If there is a job you really want or a company you would love to work for, create a personalized website for this company with hyperfocused content and share it with the recruiter, hiring manager, current employees, and anyone else in the company’s network who might be impressed. I built this website when I applied to RStudio. Spoiler: I did not get the job.
Establish yourself as a thought leader. Are you passionate about certain topics? Create a website and start writing! Direct people to your website as often as you can to reinforce your thought leadership on the topic. By the way, you do not have to be an expert to be a thought leader. If you are learning a new topic and have some ideas you want to share, then you are a thought leader.
Organize content for a specific class or project. This use case is a supreme opportunity for students to display leadership. If you are taking a class or working on a project, consider publishing a website (for free, of course) to communicate your progress and organize essential documentation, as shown in this example.
Promote a product or service. If you are thinking about selling your own products or services, consider publishing a landing page or an ecommerce site. I built [this landing page] at a time when I was considering building websites for local clients.
1.4 What you will learn
You will learn how to create, design, publish, and analyze your personal website using the Hugo Anatole design theme as the starting point. You will gradually edit this starter theme and author your own original content, resulting in your own website.
During this process, you will learn how to do the following:
- Generate websites using R and RStudio in three simple steps.
- Fine tune the look and feel of your website including logos, colors, and fonts.
- Configure features such as contact forms, page layouts, and social media links.
- Author original content such as blog posts, tutorials, research articles, and project portfolios using R, Python, SQL, Markdown, and Jupyter Notebook.
- Deploy your website to the internet using Netlify and GitHub.
- Integrate Google Analytics into your website to capture user activity on your website, then use R to analyze this data.
Why start with the Hugo Anatole theme?
The default Hugo Anatole design theme is an excellent starting point for creating a personal website. By default, the Hugo Anatole design theme contains a rich set of features, including:
- Optimal layout for rendering code, tables, and graphs written in R, Python, and SQL.
- Easy to customize fonts, colors, text, and advanced features.
- Easy to author original content.
- Excellent ratings on SEO, performance, accessibility, and best practices.
- Clean layout and clear navigation
- Supports Google Analytics integration
- Supports Formspree integration
- Light and dark modes
- Responsive
1.5 Tools you will use
The methodology described in this book uses the following freely available tools:
- R and the blogdown R package
- RStudio
- Hugo
- Git and GitHub
- Netlify
- Google Analytics and the googleAnalyticsR R package
- Formspree
1.6 Inspiring examples
Below are some examples of personal websites, blogs, and portfolios that have been built using the methodology described in this book.
Abnormal Distributions - My personal blog. Outrageously simple and straightforward. Designed for sharing tutorials and ideas. Adapted from the Hugo Xmin theme.
Alex Bilz - Personal website authored by Alex Bilz, creator of the Hugo Anatole website design which is featured throughout this book.
R-Ladies NYC - Organization website dedicated to promoting gender diversity in the R community. Clean, modern layout. Great design for promoting groups, teams, projects, and events. Adapted form the Hugo Academic theme.
Evan Odell - Personal website authored by Evan Odell featuring a blog, project portfolio, and biography. Crisp, clean, readable layout. Adapted from the Beautiful Hugo theme.
Maëlle Salmon - Personal website authored by Maëlle Salmon featuring a blog, list of talks, publications, and biography. Adapted from the Blackburn theme.
1.7 FAQ
What is the financial cost to create, publish, and analyze the types of websites described in this book?
Absolutely nothing, unless you elect to purchase custom domains name which are typically $1 USD per month.
Do I need a background in web development to create my own website?
Absolutely not. In fact, this book presents information with the assumption that readers do not have a background in web development. You will find that the tools described in this book make it very simple for anyone to create attractive, feature-rich, and sustainable websites.
Do I need to know R to build the types of websites described in this book?
Not at all. You could create and publish your personal website without knowing or writing a single line of R code. The methodology described in this book simply explains how to integrate R and its output (e.g. tables, graphs) into a website. If you don’t know R, a website could be a great way to learn it and document your journey!
Can I author content using programming languages other than R?
Yes. Website content, such as blog posts, can be created using R Markdown documents which support plain Markdown, R, Python, and SQL.
What is the role of RStudio in the process of building the types of websites described in this book?
RStudio is a free desktop application where all of your website development takes place. RStudio provides a simple interface for managing your website projects and the supporting materials including content, images, and code. RStudio also contains a “Viewer” pane, which will display your website locally and update it in real-time as you make changes to your website.
Can I publish my website behind a custom domain name?
Yes. This topic is discussed in the chapter Going live on the internet.