Teemo Tebest's personal homepage — career history, awards, knowledge, media mentions, blog, and contact info, plus three data visualisations embedded live from other UNCTAD/ebuddj projects (a food price index line chart, an animated temperature column chart, and a race-of-bars/map figure).
Live: https://teelmo.info
- Vite + React 19
- Biome for formatting/linting
- @teelmo/web-styles for the shared CSS reset/basics/arrow
- A small local
useIsVisiblehook (src/jsx/helpers/UseIsVisible.js) drives the scroll-reveal animations — replaces thereact-is-visiblepackage, whose class component calls the now-removedReactDOM.findDOMNodeand crashes under React 19 - The three embedded charts are loaded at runtime as external scripts/stylesheets (see the
loadScriptcalls insrc/jsx/App.jsx), not bundled — they're independent projects hosted on GitHub Pages
npm install
npm start
Opens at http://localhost:8080.
npm run build
npm run push # push to GitHub
npm run sync-gh-pages # publish dist/ to the gh-pages branch
npm run sync-prod # pull the latest commit on the teelmo.info server
sync-prod pulls the repo directly on the server, which serves dist/ as-is (no build step there) — so dist/ is committed here, unlike a typical Vite project.