New Projects for 2024!

Happy New Year! I had free time at the end of 2023. One idea led to another and I ended up writing a new JavaScript web framework. Just what the Internet needs!

The first project is a little smaller in scope:

VelociRouter

VelociRouter website banner

VelociRouter is a JavaScript HTTP router inspired by Polka and Hono. It takes a Request and returns a Response using the assigned handlers. What makes VelociRouter unique is that it uses the native URI Pattern API to match routes.

For example:

router.get({pathname: '/:name'}, (request, response, {match}) => {
  const {name} = match.pathname.groups;
  return Response.json({message: `Hello, ${name}!`});
});

VelociRoute uses native JavaScript objects and does not abstract them in a custom context. This allows you to modify both request and response as they’re passed through matching routes (or return new ones). The project is beta status until I finalise the API.

DinoSsr

DinoSsr website banner

DinoSsr is a small web framework built upon VelociRouter. It started as a proof-of-concept for VelociRouter and has taken on a life of its own.

  • Built for Deno with Svelte server-side templates
  • File based + URI Pattern API routing
  • Just in time renders (no build step required)
  • Easy setup with minimal ceremony

Think of it like a lightweight SvelteKit alternative for primarily static websites. DinoSsr is very much alpha status. There are plenty of features I’d like to add but I want to solidify core functionality first. I’m already using DinoSsr for my project websites. I hope to finalise a 1.0 realise this year. I think there are some cool ideas here worth exploring. It’s never going to compete with the likes of SvelteKit and it purposefully has a smaller scope.

Pattern Library

I’m sick of Bootstrap so I started designing my own personal front-end pattern library. If you had a peek at the homepages for VelociRouter and DinoSsr you’ll have seen it. This proved to be the perfect project to brush up on new web standards.

I’m using this code alongside DinoSsr for my self-hosted web apps.

smart light control web app

“HomeDeck” is an app to control my lights. It’s served by a Raspberry Pi powering a StreamDeck for physical buttons. It uses a websocket to Home Assistant hosted on another Proxmox server. The state of proprietary smart home apps is abysmal. Nothing is reliable so built my own solution!

More…

I also have another project I plan to launch very soon. It will start life as a simple blog but I have much larger plans — we’ll see! It may not unfold.

Last year I also released the JavaScript libraries: XML Streamify, Deno Tail Lines, and Carriageway. I’m having a lot of fun writing server-side JavaScript.

Update for 22nd Jan 2024

I’ve now launched: Cotton Coder!

Buy me a coffee! Support me on Ko-fi