Website TODO
Hidden dashboard - improvement ideas
Last updated: Jan 1, 1980 at 00:00
Content & Structure
- ✓ Add a site structure page that also links to the todo and history page
- ✓ Add Godot battle game export to the website (linked from hidden `/site` page)
- ✓ Add Research Games catalog page at `/research/games` (hidden, linked from site structure)
- ✓ Add embedded game view at `/research/games/battle` with iframe and standalone link
- ○ Add a downloadable CV/Resume (PDF)
- ○ Add a dedicated Projects/Portfolio page showcasing best work with screenshots/demos
- ○ Expand the About Me section with story, skills, or career timeline
- ○ Add a /now page - what you're currently working on
- ○ Add a Bookshelf/Reading list page
- ○ Rework Software Engineer sub-page - update content and presentation
- ○ Rework Renewable Energy sub-page - update content and presentation
- ○ Rework Politics sub-page - update content and presentation
- ○ Add a Running sub-page under About Me
Blog Enhancements
- ✓ Add table of contents for longer blog posts
- ✓ Add estimated reading time to blog posts
- ✓ Blog rendering: more space between paragraphs
- ✓ Tables are not rendering correctly in blog posts; see economy of renewables blog post
- ✓ Support of footnote links in blog posts; see economy [^1] in renewables blog post
- ✓ Add language tags to blog posts for better categorization
- ✓ Show language flag (German, English) for blog posts in blog list
- ✓ Add language filter for blog posts
- ✓ Add an RSS feed for subscribers
- ✓ Add social sharing buttons - leverage existing Open Graph tags
- ✓ Add previous/next post navigation at the bottom of articles
- ✓ Add anchor links on headings - clickable `#` links for deep-linking to sections
- ✓ Add code syntax highlighting for blog posts (Shiki or Prism via mdsvex)
- ○ Add a search function for blog posts
- ○ Add related posts by tag - show 2-3 related posts at the bottom of each article
- ○ Add blog post image support - proper styling for images with captions and responsive sizing
SEO & Social (Improve Internet Awareness)
- ✓ Add Open Graph meta tags for better social media previews when sharing links
- ✓ Create a sitemap.xml for search engines
- ✓ Add structurced data (JSON-LD) to blog posts - enables Google rich results (author, date, description) so posts stand out in search results
- ✓ Add canonical URLs (``) to all pages - prevents duplicate content issues and consolidates search ranking signals
- ✓ Upgrade Twitter card from `summary` to `summary_large_image` - larger preview images when shared on X/Twitter increase click-through rates
- ✓ Add per-page Open Graph tags on non-blog pages - currently only blog posts have specific OG tags; other pages fall back to a generic description, reducing share quality
- ✓ Add `lang` attribute on blog posts - use the existing `language` frontmatter field to set `lang="de"`/`lang="en"` for screen readers and search engines
- ○ Add custom Open Graph images per blog post - auto-generated or custom social preview cards for more eye-catching shares on social media
- ○ Register with Google Search Console - verify site ownership, submit sitemap, and monitor indexing to ensure Google discovers all pages
- ○ Cross-post/syndicate blog posts to platforms like dev.to, Medium, or LinkedIn with canonical links back to the site - reaches wider audiences while preserving SEO authority
- ○ Share posts on communities (Reddit, Hacker News, relevant subreddits) - direct traffic and backlinks improve search rankings
- ○ Add per-page meta descriptions - most non-blog pages only have a `
` but no unique description, so search engines show a generic fallback - ○ Add structured data to non-blog pages - JSON-LD Person/ProfilePage schema on home, About, and profile pages for richer search results
UX Improvements
- ✓ Add a scroll-to-top button on longer pages
- ✓ Custom 404 page with helpful navigation
- ✓ Add page transitions for smoother navigation
- ✓ Add dark mode toggle - Tailwind supports this with `dark:` variants
- ✓ Add reading progress indicator - horizontal bar showing scroll position on blog posts
- ✓ Consider adding keyboard navigation support
- ✓ Highlight active page in navigation - use `$page.url.pathname` to style the current nav link so users know where they are
- ✓ Add print styles for blog posts - `@media print` rules to hide nav/footer and optimize layout for paper
Engagement
- ✓ Add a visitor counter (retro style?)
- ○ Add a contact form (instead of/in addition to email link)
- ○ Add a newsletter signup for blog updates
- ○ Set up a Discord server for the site community and add an invite link to the website
Technical
- ✓ Add lazy loading for images
- ✓ Run accessibility audit (Lighthouse/WCAG) and fix issues
- ○ Implement image optimization (WebP format, srcset)
- ○ Consider Plausible/Simple Analytics - privacy-respecting visitor insights
- ○ Add a web app manifest (`manifest.json`) - enables "Add to Home Screen" on mobile and defines app icons/theme colors
Future Tech Updates
- ○ SvelteKit 3 migration - when released, migrate to rune-based stores (`$app/stores` API changes)
- ○ Consider i18n support - SvelteKit 3 will have first-class internationalization
- ○ Keep dependencies updated - run `npm outdated` periodically