Dear Tim,
I took a break for a bit from active development and did some side projects in the meantime. Kalmany has still been running in the background, so they’ve had about a dozen elections and assemblies while I’ve been working on other projects.
The kind of projects I’ve worked with have been to do with React and AWS, all to gain understanding of various things. I had one project that was part of a workplace, that I built in Next.js, with prisma interaction with a SQL Server backend. That took a week of work to make it functional and match the previous iteration of the site (which was python and flask and express). Then I built a site for my brother using AWS Amplify and React and GraphQL. There’s a few things I’ve learnt so far.
First off is trying to determine the reasons and benefits of Server-Side Rendering. Next.js seems to work really well for providing the means to prerender pages. This may end up being enormously useful for Kalmany and a few of its pages that could use prerendering (News, Demography, Candidates come to mind). However, the Election and Assembly pages, that rely on calls being made to the API fairly regularly, would still need to retain a client-side render so that it can dynamically update its pages.
With the project, it used no server-side rendering as, again, it required a lot of client-side rendering to be dynamic. However, there were a couple of pages I could have switched to server-side and probably seen a performance boost, especially during navigation. However I didn’t implement this and I feel I’m missing out an important feature. Luckily, being an internal tool and not production, it doesn’t need to be the finest of engineering and I could get away with it. That and, again, there is no lock down on the API.
My brother’s site was different – I started off with a default AWS Amplify project and built it out. Starting with a default helped my learning, up until I realised the DB backend of DynamoDB was completely unsuitable for the information I wanted the site to portray. It’s meant to display statistics and DynamoDB hasn’t the fluidity of aggregates as proper SQL solutions have. Yet AWS Amplify doesn’t have out-of-the-box support for such backends – I’d need to redesign the whole infrastructure.
Seems like I’m very good at picking the wrong technology for my purposes.
So after hitting some major milestones with both projects and realising I’m close to burnout, I’ve picked up Kalmany again and begun refining the authentication system as I had planned.
I guess burnout is a term often thrown out there – what does it mean to be burnt out? The other day I reached its most obvious peak: I fell asleep at about 17:00 and woke up not able to think properly. True brain mush, had a hard time thinking about anything. Most weekends I’m awful at taking time to rest, because that and my evenings are the only times I get to play with my creativity and expand my ideas.
But I often run into hyperfocus very easily. I’ve spent nights up to 04:00 or 05:00 trying to get an idea to work. I’ve skipped meals, drinking water, sleeping, hygiene; I don’t know if I have a condition that could be diagnosed but I’m not really interested even if there is. It’s not as if I need help with it, I manage to live a somewhat healthy life and my girlfriend only gets worried sometimes.
I guess the main problem is trying to rest. When I was younger, I had the idea that my spare time should always be spent doing something ‘productive’, and that meant making something. Writing something. Producing something. Watching TV, playing games, weren’t really productive endeavours (not to say I don’t do those things, but I don’t like doing them for too long). But then my mind never gets a moment to relax and think about nothing, so trying to recover from these long stints of work is difficult for me.
Perhaps that why my motivation wanes. Probably also why I cannot sleep well, or that I have never slept well. My mind is a constant storm of ideas and connections, implementations and constructions. I am constantly tired and yet constantly active, wrapped up in my head and ideas.
Woof, I’ve gone on a tangent and a half. Well with Kalmany, I’ve decided against using Amplify’s auth functions and started using their pre-built components. It makes more sense to use what they already have, rather than try and build it all myself. It looks better too, even if I need to change the theming to suit the Kalmany design. But that’s okay. I feel after this step, I’ll be in Beta, and my next thing will be perfecting the interface for mobile.
Anyway, hope you’re well – I’ve missed your package twice now and I need to see my neighbours about it. I’m guessing it’s the prosthetic leg? Don’t tell me whose it was, just let me know who needs it now. I hope this leads to the puppeteer giving your bags back – you need that plane ticket. It’s mission critical, but of course you know this…
Yours,
Stan
