A dynamic webpage for persinal branding with a headless CMS behind it
  • Svelte 41%
  • TypeScript 37.3%
  • CSS 13.9%
  • JavaScript 2.4%
  • Nix 2.3%
  • Other 3.1%
Find a file
2026-10-01 17:37:16 +13:00
.husky small details: fix 2026-09-29 16:32:56 +13:00
backend nav buttons: nudge 2026-09-30 00:00:28 +13:00
nix build: fix 2026-09-29 18:31:09 +13:00
src self-destroy procedure: quicker 2026-10-01 17:37:16 +13:00
static experiences: add a bunch 2026-03-30 12:48:59 +13:00
.gitignore build: fix 2026-09-29 18:31:09 +13:00
.npmignore ignore db 2025-12-18 10:29:00 +13:00
.npmrc init 2025-12-12 01:47:49 +13:00
.prettierignore init 2025-12-12 01:47:49 +13:00
.prettierrc init 2025-12-12 01:47:49 +13:00
AGENTS.md small details: fix 2026-09-29 16:32:56 +13:00
bun.lock init 2025-12-12 01:47:49 +13:00
database.sql description: change 2026-10-01 17:25:57 +13:00
eslint.config.js init 2025-12-12 01:47:49 +13:00
flake.lock flake: update 2026-09-29 16:37:22 +13:00
flake.nix build: fix 2026-09-29 18:31:09 +13:00
package-lock.json small details: fix 2026-09-29 16:32:56 +13:00
package.json small details: fix 2026-09-29 16:32:56 +13:00
README.md db: extract 2026-01-01 22:36:57 +13:00
svelte.config.js favicon: fix and images: prefetch 2026-01-01 19:48:13 +13:00
tsconfig.json init 2025-12-12 01:47:49 +13:00
vite.config.ts favicon: fix and images: prefetch 2026-01-01 19:48:13 +13:00

Home page

My personal branding home page.

Dev

Dev env

# load environment and dependencies
nix develop

# install nodejs packages
npm i 

# Initialize a PG instance (from root of project)
pginit

# Start DB 
pgstart

# Create user and DB
pgconfigure

# Run backend ...
cd backend
npm run dev 

# ...or frontend 
npm run dev

Change content at localhost:3000 and inspect changes at localhost:5173

Prepare for release

As the content is loaded at build time and what's put online is a simple static site, you need to have the db's content when building. If building elsewhere than dev machine, DB needs to be exported before with pgdump.

Production

Add project as nix flake input. import the module and enable the package. It will all be built from source by nix.

{
    services.homepage = {
        enable = true;
    };
}