Damian Mąsior

Damian Mąsior

@dmasior.com

Building the best IP Geolocation Service https://ip-sonar.com

38 followers14 following50 posts

Pinned

I used Cursor to generate the JS SDK from the OpenAPI v3 spec. It took less than an hour, and after some polishing and testing, everything works well in the browser, Node, and React 🚀 Types included🔥 For those interested, I leave the Github repo in the comment✌️ #buildinpublic

I used Cursor to generate the JS SDK from the OpenAPI v3 spec. It took less than an hour, and after some polishing and testing, everything works well in the browser, Node, and React 🚀 Types included🔥 For those interested, I leave the Github repo in the comment✌️ #buildinpublic

How NOT to build a successful product? Implement Payment Gateway integration before getting the first customers wanting to pay for it. I've integrated Paddle about 3 times in my projects, but never got a paying customer 🥲😅 #buildinpublic #sideproject

First user signup from an organic search 🥳 No money wasted on ads ✅ It's a great experience being away from home and seeing new user signup notifications. #buildinpublic

I'm thinking about going one step forward in #buildinpublic and combining it with #opensource I need to clean up lots of "wip" commits from git history before going fully #buildopensource 😂 But I will do it.

Recently I've worked on auth. The possibility to continue via google, github, classic email/pass, and a magic link seems a must-have to not lose too many potential signups in 2025 😄 #buildinpublic

Today I've worked on alert snoozing. On the DB side, I've added two nullable columns in the alert table: - snooze_until (timestamp) - snooze_forever (bool) Adding two columns is better because data have better integrity and avoid weird checks like if date > 2099 #buildinpublic

Today done: - single-issue view ✅ - lots of the small homepage and dashboard UI fixes ✅ I think the whole application is starting to do its job 💪 #buildinpublic #indiehackers

Another productive afternoon, one step closer to building great service 🎯 I've worked on: ✅ new API endpoint returning issue details and its hourly, daily, and weekly stats #timescaledb ✅ allow users to set per project default alert interval ✅ landing page content fixes #buildinpublic

It's good to develop the habit of working on a project daily. Even on tough days, it's good to remember that a little fix brings us closer to the target. I've made a lot of work done today 🚀 FailWarn will be a great service ⭐ #buildinpublic

Is classic email/pass login methods still relevant for saas in 2025? How about only „continue with google” and github? I guess it may depend on business but can anyone share some insights on that? #buildinpublic #indiehackers

TIL domain age: "is the time of a domain’s existence, which is counted from the moment of its first registration. This is one of the important Google ranking factors, which is why there is a common opinion that the older the site is, the higher the search results are expected to be" #buildinpublic

I use #hetzner and #cloudflare for my app infra. I was deploying it to hetzner using github actions, all using custom scripts. I've accidentally discovered #kamal - kamal-deploy.org and I love how easy it is now I can deploy apps packed in Dockerfiles (finally) with zero-downtime! #buildinpublic

Lot’s of rewrites recently 😅 Decided to go with #astro for website (and blog). Also I will stick with #remix in the app. Is #tailwind -ui worth it? Most important for me is having consistent styling between Astro and Remix. #buildinpublic

A screenshot from FailWarn shows its dashboard. I aim for a simple and readable interface that won't overwhelm users in their error monitoring 📈 📉 There's room for improvement but I'm satisfied with the result so far 💪 🚀 #buildinpublic #ui #tailwindcss

How did the migration from #influxdb to #timescaledb go: - timescale setup on existing PostgreSQL instance took me 5min (good docs), - LLMs partly helped in query rewrite and partly suggested trash - it is how it is, I hope I won't regret this migration later on 😅 🤞 #buildinpublic #databases

As a member of #boringtechnologyclub, I've chosen Postgres as the general database. I've also chosen #influxdb as timeseries db (error metrics) instead of #timescaledb because I'm unfamiliar with it.. but it looks like good old SQL 🩶 I'm thinking about giving it a try. #buildinpublic #databases

Today's progress: SEO improvements (search console error fixes) and WIP in-app account section. ✅ Basic info: name, email ✅ Subscription info (to be continued, with Manage button functionality redirecting to Paddle Customer Portal) ✅ Allow user to delete account #BuildInPublic #saas

A mistake from a previous startup to not repeat in the current one: don't build complex organizations/project setups in #saas that have no users at all 😅 Instead, fully focus on: - product core feature - design - marketing #buildinpublic

Solo building an #saas in 2025, my stack: ✅ Cloudflare for security and dns ✅ Remix as web framework + react and tailwinds ✅ Golang for api and backend heavylifting ✅ Db? Postgres + influx for timeseries, redis -kv ✅ Hetzner + GH actions ci/cd ✅ Paddle #buildinpublic

You are up to date.