Building this site: data + dark mode 🌑
This is part of a series: building this site.
Previously, I outlined the technology I'm using for this site as well as some ideas for how it might evolve in the short-term.
Since then, I've made some upgrades.
- added a database to store personal data used in automations and trend analysis
- added ✨ dark mode ✨
- integrated a newsletter
The biggest change since the last post with the most impact is the addition of a database.
I chose Firebase (opens in a new tab) for the ease of use from the extensive list of platform/language SDKs and for having a useful free tier.
With a database, I've been able to automate many of my accountability trackers while also capturing historical data for them, for use in trend analysis, charts and other potential visualizations.
My automations for getting data into Firebase include an iOS app that pushes some of my fitness data, and a GitHub Action that pushes my daily GitHub commits and the number of new Chinese words learned on hackchinese.
Finally, that data is fetched from Firebase at most once every 15 mins as a result of NextJS's server-side caching so I definitely won't get anywhere close to the bandwidth limits of the free tier.
If you want to read more about the tech, goals, and plans around my accountability trackers in particular, see my always-updated methodology page.
This change mostly affected my experience developing on this site. For context, Nextra v2 enabled MDX 2 instead of MDX 1, which is a major change (opens in a new tab).
The main end-user improvement from Nextra v2 is around the simplicity of integrating dark mode. It was fairly straightforward to enable after I finished migrating to MDX 2 and Nextra v2.
Overall, I still want to customize the blog theme at a lower-level, eg adding front-matter fields for posts that I'm working on, or blog post templates so that I don't have to copy/paste certain components repeatedly.
But I'm content with the direction of Nextra thus far.
I've recently launched a newsletter on Substack.
So with that, I added a newsletter signup embed across this site that uses this nifty API (opens in a new tab) instead of Substack's default embed widget because Substack's is bloated (loads a bunch of extra scripts) and doesn't support enough customization.
Overall, I don't have too many upcoming major changes planned.
But I am still expecting to extend the accountability trackers. Historical data charts, additional trackers, and more.
And secondly, I'd still like to fork and extend the base blog theme from Nextra to do a few things:
- customize the /blog list page (give it more flair, featured posts etc)
- add blog post template(s)
That's all for now. I'm sure I'll come up with some more fun features to work on in the next edition.
Thanks for reading!
Looking for more posts?
Looking for a full-stack iOS/web developer for your project? Let's talk on one of the platforms below.