My personal site is finally live at zhittsova.com. The first version is not trying to do ten things at once: it is a static Astro site on GitHub Pages, with React islands only where the page actually needs interaction.
My goal here is simple: keep my technical writing, notebook context, and case-study material in one place, with enough structure that publishing a post feels like normal work instead of a small archaeology project.
I have started with notebook-backed posts from the
agri-weather-yield-drivers project
because they are exactly the kind of work that benefits from visible context: source notebooks,
validation notes, and a short explanation of what the result is actually good for.
Over time, I plan to add infographics, live charts, slide decks, and more case studies, as long as the material is shareable and I can explain the evidence properly.
A crude oil energy analytics project is also in progress. That one is more time-sensitive, so I am being careful with framing: useful analysis first, dramatic language last.
The stack is Astro 6 with content collections, MDX, a static deployment target, Tailwind CSS 4 for styling, and Radix UI where a React component earns its keep.
All notebooks and projects are available on my GitHub.
I also want to share more of the dbt setup and ETL pipelines behind the scenes. Right now the notebook repos are set up for Binder and Google Colab with DuckDB as a small data mart. The rerun path is visible, and I can keep tightening it in public.
One boundary matters: my case studies summarize past work experience, while my projects are separate public work outside employer constraints, or material I am allowed to share. Dry sentence, important sentence.
Status: Site Updates Business lane: Product & Delivery Technical lane: Reproducible Data PipelinesRelease position.
I am releasing the notebooks incrementally, because checking reruns and claims takes longer than writing a confident paragraph about them. Annoying, but worth it.
- 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 instead of ceremonial.
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 being published here as a blog post series:
- one post per notebook
- a short explanation of scope, result, and what is still uncertain
- direct GitHub, Binder, and Colab links via notebook preview cards
- incremental release, because data gaps and imputation choices deserve more than a shrug
What is next
- Section and category landing pages for easier navigation
- More notebook writeups once release checks are complete
- More case studies from previous work experience, linked back to the data work where that is useful
- A calmer habit of publishing small, defensible updates while the context is still fresh
- Portfolio site guiding principlePublish what I can defend technically and explain clearly to a mixed business and engineering audience.
Open project repository
Explore all categories