Stefan Skorpen

Stefan Skorpen

@skorpen.com

Fullstack Dev πŸ‡³πŸ‡΄ ❯ http://saasprices.net ❯ https://affill.io ❯ https://blog.skorpen.com ❯ Building in panic

1.6K followers97 following103 posts

Planetscale offers servers from $5 up to $1510 for the 32 core 256 gb ram beast. The 1 cpu 8gb ram options seems to be really competitive in that segment, would strongly consider this for my next project!

Xata postgresql database provider is removing their free tier Xata Lite 😒 But they are updating their prices, their paid plans are actually cheaper than before and they are more competitive now. Check the calculator at saasprices.net/db

The Build Log for 27.nov: First blogpost on site led to 4k visits from hackernews and reddit πŸ’₯ Added Zoho as email provider Added Loops as newsletter provider Added Stytch as auth provider Refactored db calculator filters Re-blogged about image transformation in the site blog

The Build Log for tuesday 24.11: Got the first request from a provider to add them as a provider for my SaaS dev tool comparison website. Also refactored the transactional email calculator page, it should now behave as intended. Added OG image for the website. πŸ’ͺ

If you rely on AI to write all your code, you're not really programming β€” you're just reviewing code. I prefer writing code myself rather than simply reviewing and approving AI-generated code

Finally started implementing the design for my latest indie project saasprices.net?utm_source=bs This is a tool for devs to find the best prices for SaaS tools we often use, and to compare and find alternatives. Hopefully people find this useful Made with SvelteKit and Svelte 5 Give it a try!

I'm using Go for this years advent of code. I dont know anything about coding in GoLang yet, so this will be for fun and for learning. I need a place to start, does anyone have a good course or a youtube channel or something to get me started?

The more popular ai based coding tools get, the more valuable creative, non-ai methods become. Proof of human, proof of work becomes 100X more valuable. Dont make the generic AI look, make your stuff look like its made by real people.

I've been working on image transformation lately, trying to make images small and faster. I started out with Cloudinary, which is a good tool. But I was wondering if there were any cheeper alternatives around. Turns out there is! So I calculated a bit and blogged about the results!

The blogpost can be found here: blog.skorp.io/find-the-bes... I first compared Cloudinary to ImageKit, and found that they are about equal. But things took a turn when I checked out Cloudflare and Amazon! Turns out AWS is alot cheaper, who knew? (everybody knew). And Cloudflare is pretty good too

Secure your API endpoints from abuse by adding a ratelimiter that prevents excessive use. This can be done by saving the ip addresses in redis and checking with the Ratelimit library Upstash

Capturing events are crucial to know how your users are using your webapp. I like to use PostHog for both events and web analytics. This is how you capture backend events, it's really easy. And you get a nice dashboard with graphs for all your events!

In SvelteKit the form element is used to send data to actions as formData. And the checkbox input type behaves kinda weird, if its checked its sent as the string β€œon” to the action, and if its unchecked it gets omitted from the formData object. This is how I do it:

I like to use Zod to validate all inputs in the backend, and when you try to include the checkbox in the zod schema its not obvious how to do that. Basically the checkbox gets sent as z.string().optional(), but I would like to get the checkbox value as a boolean.

To get the checkbox value as a boolean we can do a transform and check the value: z.string().transform((v) β‡’ v === β€œon”) This gives true only if the string is equal to β€œon”, and false on every other value.

Webstorm is now offering a free license for non-commercial users. I've been testing it out for the last couple of days and it kinda makes me feel more professional, dont know why πŸ˜„ Still alot to get used to! Do you have any tips for a VS Code user to get going with webstorm?

AI makes it too easy to copy others. There are so many people with nothing to lose and plenty of time. So they can easily copy your idea. But the real challenge is in marketing, and they dont have AI tools (yet) to do the marketing for what they copied. Keep building in public! #BuildInPublic

Keeping track of errors in prod is essential to have a healthy app. Use @sentry.io to gather all your error reports in one place. It's really easy with JavaScript apps, just configure sentry in your app and capture the exceptions like this:

Framer Motion is being moved into its own product simply called Motion! You can finally use it in other frameworks than React Let's go Motion in Svelte and Vue!!

SVG images can be used a couple different ways in React, this is my favorite option. I create a file for the svg, and make it into a JSX component. Add height and width at 100% so its responsive to its parent. Change all kebab-case props to camelCase. Voila! #React #WebDev

Sending transactional emails is pretty easy. With Postmark I can create templates with dynamic properties in their builder, and then I just send the values along with the fetch call to send it. No need to manually create email templates with html and css which is a huge pain!

AI makes it too easy to copy others. There are so many people with nothing to lose and plenty of time. So they can easily copy your idea. But the real challenge is in marketing, and they dont have AI tools (yet) to do the marketing for what they copied. Keep building in public!

Triggers in PostgreSQL are really fun! I needed to set a column value to the id of the row if its made by a free user. Or set it to a user generated slug if its made by a paid user. You can get the id with a trigger that runs BEFORE the insert in the table like this:

Try out the new 'npx sv create' CLI command that the svelte team added along with Svelte 5 It makes it so easy to start new Svelte and Sveltekit projects!

You are up to date.