Yay, my personal site is finally live at zhittsova.com! 🎉🎊🥳 In this post I’m explaining the technical setup and publication pipeline for the site. Under the covers, it’s a static Astro website with React islands and deployed via GitHub Pages.
My goal here is to keep technical writing, notebook context, and case-study outputs in one place with a professional and reproducible workflow.
I’ve begun publishing notebook-backed posts from the
agri-weather-yield-drivers project
as a first wave, and the content system is designed to support that and more
going forward.
I’ll be publishing infographics and live charts based on my past work as far as I may share them, slide decks from my presentations, and more case studies as I have time to write them up.
A crude oil energy analytics project is in the making, and very timely. I’m investigating the supply chain risk implications of the ongoing Near East conflict, sending economic shockwaves around the globe.
The stack is Astro 6 with content collections, React islands only where needed, and a static deployment target. I’m using Tailwind CSS 4 for styling, and Radix UI for sleek React components.
All notebooks and projects are available on my GitHub.
I’ll also share my dbt setup and the ETL pipelines. Right now, you can already use Binder or Google Colab (latter advised) with DuckDB as a data mart - I’ve preconfigured them in my repos. Everything is exactly reproducible already.
Sometimes projects are related to case studies. But my case studies are all summaries of my activies from my past work experience, while my projects live outside work, are free of NDAs or bear employer’s approval.
Status: Site Updates Business lane: Product & Delivery Technical lane: Reproducible Data PipelinesRelease position.
I’m releasing the notebooks incrementally, taking extra care to check their reproducibility and re-validate the claims in them.
- Stack
- Astro 6, MDX, React islands, Tailwind 4, Radix UI
- Build target
- Static site generation with schema-validated content collections
- Primary audience
- Data scientists, hiring managers, product leaders, and technical reviewers
Build and deploy flow
- Content lives under
src/content/*and is. - CI runs typecheck, tests, and build.
- A GitHub Actions workflow publishes generated static output to GitHub Pages.
Local verification mirrors CI so publication is predictable. I also added Playwright acceptance tests in CI.
A useful habit is running npm run typecheck, npm test, and
npm run build before pushing.
This is best automated with a Makefile and pre-commit hooks.
Notebook publication plan
Notebook work from agri-weather-yield-drivers is published here as a blog post series:
- one post per notebook
- a short description with impact notes around scope and results
- direct GitHub, Binder, and Colab links via notebook preview cards
- I’m releasing them one after another - with incomplete data, where imputation is necessary, validation is takes more time.
What is next
- Section and category landing pages for easier navigation
- Additional advisory notebook writeups once release checks are complete
- More case studies from previous work experience, linked back to the data pipelines
- Portfolio site guiding principlePublish only what can be defended technically and explained clearly to a mixed business and engineering audience.
Open project repository
Explore all categories