πŸŽ‰ Launch Special 90% off: Get lifetime access to my latest Mandarin-Chinese tool!Learn more β†’

Gabriel Uribe

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.

Chiefly:

  • added a database to store personal data used in automations and trend analysis
  • added ✨ dark mode ✨
  • integrated a newsletter

Link to this headingImprovements

Link to this headingDatabase

The biggest change since the last post with the most impact is the addition of a database.

I chose Firebase 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.

Link to this headingNextra v2

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.

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.

Link to this headingNewsletter

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 instead of Substack's default embed widget because Substack's is bloated (loads a bunch of extra scripts) and doesn't support enough customization.

Link to this headingComing up

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!

Link to this headingRelated

Link to this headingLooking for more posts?

Looking for a full-stack Next.js/iOS/visionOS developer for your project? Email us at hello@skyporch.co.