# Systems Obscure > My personal blog at > [https://systemsobscure.net](https://www.systemsobscure.net) ## Pre-build ```sh npm run build:posts ``` Parse Markdown blog posts in `/posts` and generate JSON index which is used to populate core content. ## Development server ```sh npm run build:posts npm run dev ``` ## Build ```sh npm run build:posts npm run build ``` This runs `vite build` using [speedy web compiler](https://swc.rs/) for the transpilation of TSX to JSX. I am using TypeScript so that I can use the [shadcn](https://ui.shadcn.com/) component library however I don't actually care about types in this project and all my components are written as JSX. SWC transpiles very quickly without throwing TS warning and errors. ## Deploy Deployment automated via [Forgejo action](https://forgejo.org/docs/next/user/actions/reference/). See [deploy.yml](https://forgejo.systemsobscure.net/thomasabishop/systems-obscure/src/branch/main/.forgejo/workflows/deploy.yaml). Runs the build script, then transfers transpiled `dist/` directory to my [Virtual Private Server](https://forgejo.systemsobscure.net/thomasabishop/self-host) from where it is served at [systemsobscure.blog](https://www.systemsobscure.blog).