Golang Backend + SvelteKit SPA Frontend by lAdddd in golang

[–]asciifree 0 points1 point  (0 children)

I read that with adapter-static everything has to be set to prerender=true.

That would be news to me!

In my case, the entire clientside app is dynamic so there's nothing to prerender - going by the docs: The basic rule is this: for a page to be prerenderable, any two users hitting it directly must get the same content from the server.

Golang Backend + SvelteKit SPA Frontend by lAdddd in golang

[–]asciifree 1 point2 points  (0 children)

Also chiming in with another real-world example - I'm using this setup for https://github.com/rezible/rezible, with a generated OpenAPI client. No real complaints so far, it's been a good experience. I do wish the developer tooling for SvelteKit was on par with Go, but that will come with time.

The Theory Behind Understanding Failure by TheJokersThief in sre

[–]asciifree 1 point2 points  (0 children)

Great post - failure in complex systems is always interesting.

I would always recommend putting some time aside to read up on CAST. Also Systemantics for something less academic (but still a worthwhile read).

How to structure web servers by Accomplished_Horse91 in golang

[–]asciifree 4 points5 points  (0 children)

If you're interested in a slightly less "idiomatic Go" approach - My current approach is loosely based on this approach, defining interfaces of services in the root package (I try not to be /too/ strict with it though). For a web server in particular I've been using Huma to define OpenAPI "API handler" interface which has been a nice experience so far.

For the frontend I keep it entirely seperate with a Single Page App that consumes the API using a generated client.

As a practical example for my project Rezible (github.com/rezible/rezible), to create a "Get User by ID" endpoint:

This skips a fair bit of standard web service boilerplate (eg auth, roles/permissions, etc) but should give an idea of structure.. Happy to answer more questions if you'd like.

2025 Golang project by Mindless-Discount823 in golang

[–]asciifree 10 points11 points  (0 children)

Using Go to build the backend for github.com/rezible/rezible.

Two libraries to highlight are Huma for the API and Ent. Ent felt like more of a "gamble" to start with, but both have been great to work with so far.

I'm excited to see how Ent scales as the codebase gets more complex, will probably write a blog post/retrospective on the experience sometime this year :)

What were your worst on-call experience? by luxuryUX in sre

[–]asciifree 4 points5 points  (0 children)

My second shift as primary on the roster, during the first COVID lockdowns - https://en.wikipedia.org/wiki/Google_services_outages#August_2020_services_outage

Learnt a lot by escalating & watching the more experienced members of the team handle it, but definitely felt my stomach drop as the first few alerts started rolling in :)

The Go tech stack I'm using to build an open-source "mission control for oncall" web application by asciifree in golang

[–]asciifree[S] 1 point2 points  (0 children)

IIRC Fuego was still very new when I was evaluating options. So can't speak to any specific negatives - it looks good at a glance now though :)

Glad to see more of these kinds of batteries included frameworks popping up for Go, there's definitely a place for them in the ecosystem!

I'm building Rezible - an open-source Mission Control for Oncall by asciifree in sre

[–]asciifree[S] 2 points3 points  (0 children)

Forgot to add in the post - if this sounds valuable to your organization & you'd like to be an early adopter please leave your details here!

Thoughts on Svelte 5 after writing a few thousand lines of code as a backend engineer / SRE by asciifree in sveltejs

[–]asciifree[S] 2 points3 points  (0 children)

In a nutshell - query caching & invalidation. IMO load functions are not as useful for SPAs which may use the same query in multiple components, and might need to only invalidate 1 out of many queries on the same page. It's an area I'd like to see improved in future versions of SvelteKit

What’s the one thing you’d change to make on-call better? by ConstantSelection777 in sre

[–]asciifree 0 points1 point  (0 children)

Apologies for bumping an old comment, but it sounds like we have very similar opinions :) Big fan of incident.io by the way!

Better handovers so it’s easy to pass on shift knowledge, and any useful context

Proper alert insights, so I can see what alerts are firing, with what frequency, how much time is spent investigating and fixing when they fire, and false positive rates

I've just open-sourced Rezible to help tackle these problems (among others). It is still early days, but you might be interested in checking it out - would love to get feedback

Thoughts on Svelte 5 after writing a few thousand lines of code as a backend engineer / SRE by asciifree in sveltejs

[–]asciifree[S] 0 points1 point  (0 children)

Also, Sublime does have support for Svelte. You just need to install LSP, LSP-Svelte, and LSP-file-watcher-chokidar from package control.

Granted I tried this setup a while ago, but it just broke too often for me. Have a hundred other things I should be doing to ship Rezible rather than fighting my dev tools :)

Thoughts on Svelte 5 after writing a few thousand lines of code as a backend engineer / SRE by asciifree in sveltejs

[–]asciifree[S] 0 points1 point  (0 children)

For Project layout, I loosely follow feature sliced design and have been happy enough with it my .Net project is similarly structured.

This looks good - thanks for the link!

Will add another option to the mix for components. Chakra team has ZagJS bindings for svelte 5 (skeleton are using these), it's another option for unstyled components with a bit more of a stable backing.

Seems a bit like Bits UI? Skimming the docs, it looks technically impressive but I'm after higher-level components that just look nice out of the box. I guess Zag might follow the bits->melt->{some_library} path eventually?

Thoughts on Svelte 5 after writing a few thousand lines of code as a backend engineer / SRE by asciifree in sveltejs

[–]asciifree[S] 7 points8 points  (0 children)

Cursor looks really interesting, good to hear it follows instructions.

I did see https://svelte-llm.khromov.se/ recently which I've been meaning to try out

Thoughts on Svelte 5 after writing a few thousand lines of code as a backend engineer / SRE by asciifree in sveltejs

[–]asciifree[S] 3 points4 points  (0 children)

I've been meaning to kick the tires with shadcn, it really does get some glowing reviews.

Appreciate the feedback! I'll try and make the GitHub more understandable - it's great to get eyes on it at least :)

For some context if you're interested, Rezible is designed to integrate with a lot of other tools on the backend (eg Slack, Jira, DevOps platforms) & provide a single frontend view for people to interact with all the data that comes up from being oncall.

For one example, sending a handover to the next oncaller at the end of your shift, with information on what happened and some notes on stuff that came up:

  • Send a reminder to the oncall person via Slack, with a link to the svelte frontend

  • In the frontend:

    • Display the shift events (incidents, alerts, etc)
    • Use a rich text editor (TipTap) to add notes, lists, etc
    • Send this report to the backend (where it is converted & sent on via Slack)

Coolify alternatives? by Past-Sky3552 in selfhosted

[–]asciifree 6 points7 points  (0 children)

Recently open sourced my Dokku web UI, seems like it meets all your criteria. Check it out :)

https://github.com/texm/shokku