Neoverse is Shenshijun's portfolio of software projects and open-source work, with a focus on software engineering and AI-assisted development.
Neoverse is my Nuxt portfolio for the projects I build and the engineering topics I'm focused on. It brings together a responsive glass interface, English and Simplified Chinese content, a persistent bottom dock, and a city scene that carries across page transitions. When external data isn't available, the site says so instead of making up activity.
An animated city scene carries across pages, while frosted-glass cards and a bottom dock keep the main sections within easy reach. The dark theme uses shared design tokens and the glass-elevated material.
Home — animated city backdrop, glass quick links, and the bottom dock.
| Route | Purpose |
|---|---|
/ |
My profile, selected links, and the animated city scene |
/projects |
A selection of projects and previews |
/focus |
The engineering topics I'm focused on |
/pulse |
GitHub contributions, recent commits, and activity |
/design |
Design-system reference, kept out of the main navigation and search index |
Project previews load live documentation metadata and blog RSS entries. Preview panels size to their content rather than a fixed aspect ratio, and list rows must not shrink below their text height; otherwise clamped titles can collapse to zero height. Unavailable sources use the explicit unavailable state.
The projects heading, featured cards, and practice section share the --focus-content-max width and centered margins so both card grids align at their left and right edges.
| Layer | Choice |
|---|---|
| Framework | Nuxt, Vue, and Nitro |
| Language | TypeScript with strict type checking |
| Styling | Tailwind CSS via @tailwindcss/vite |
| Design system | Neoverse UI 0.3.0 (published on npm) — shared tokens, Tailwind, Material and Motion systems, Vue/React adapters, and Glass runtime. See its README for package details and the Design Lab. |
| Fonts | Inter Variable via @fontsource-variable/inter |
| Icons | Iconify via unplugin-icons (Lucide and Simple Icons) |
| Localization | @nuxtjs/i18n — English and Simplified Chinese |
| Tooling | Biome and Bun |
Install Bun, then run:
The five @neoverse-ui/* packages are consumed as published npm releases. Upgrade all five together to the latest versions on the Neoverse-UI repository, then run bun install.
bun install
bun run devVisit http://localhost:3000 in your browser.
Pulse can use GitHub's GraphQL API for contribution data when NUXT_GITHUB_TOKEN is set. To enable it, copy .env.example to .env and add your token. Without one, Pulse falls back to public GitHub data.
NUXT_GITHUB_TOKEN=| Command | Description |
|---|---|
bun run dev |
Start the Nuxt development server |
bun run build |
Build the app for production |
bun run preview |
Preview the production build locally |
bun run generate |
Generate a static site |
bun run typecheck |
Run Nuxt's type checker |
bun run format |
Format files with Biome and write changes |
bun run format:check |
Check formatting without writing changes |
bun run lint |
Run Biome checks without applying fixes |
bun run lint:fix |
Run Biome checks and write fixes |
bun run check:ui-boundary |
Check app source against Neoverse UI boundaries |
bun run test:repository-pulse |
Test Pulse aggregation, deduplication, pagination, and incomplete searches |
bun run test:fouc |
Check critical fallback styles in SSR HTML; requires a dev server |
bun run test:dev |
Smoke-test all routes on a dev server; accepts NEOVERSE_TEST_URL |
bun run test:ui-css |
Check published UI CSS with the production PostCSS pipeline |
bun run check |
Run Biome with autofixes, UI boundary and CSS checks, then Nuxt typecheck |
app/
app.vue
assets/css/ # Design tokens, global styles, and dock styles
components/ # Shared shell plus home, focus, pulse, project, navigation, and design views
composables/ # Navigation, transitions, city motion, and data helpers
pages/ # Home, projects, focus, pulse, and design routes
i18n/
i18n.config.ts
locales/ # English and Simplified Chinese
server/
api/github/pulse.get.ts
api/projects/previews.get.ts
utils/ # GitHub Pulse and project-preview helpers
shared/
constants.ts # Navigation and shared constants
types/
github.ts # GitHub Pulse contracts
projects.ts # Project preview contracts
public/
fonts/
images/
scripts/ # Formatting, boundary, CSS, Pulse, and SSR checks
docs/screenshots/ # README preview image