afonsocrg
afonsocrg.bsky.social
afonsocrg
@afonsocrg.bsky.social
Building https://uni-feedback.com, https://reacttogether.dev and http://superttt.io

I'm a software engineer eager to make this world a better place to live in.
After 5 years of daily workouts, I realized that streaks can hurt our progress.

It's easy to give too much importance to them, and it feels that all the progress is gone when we break them

Tracking the total days since I started keeps a healthier perspective on my habits.

#buildinpublic
October 3, 2025 at 4:20 AM
Part 2: Our self improvement journey has to be gratifying even when we fail. Self compassion isn't soft, it's strategic

#buildinpublic #selfimprovement #mindset #selflove
September 28, 2025 at 3:55 AM
When we slip up, using circumstances as excuses protects us from feeling bad, but it keeps us away from progress.

One day someone asked me "If you had to catch a flight, would you use that excuse?". It was game changer

#selfimprovement #buildinpublic #mindset
September 26, 2025 at 5:34 AM
After a lot of resistance, I decided to post my first TikTok video

Realized I was avoiding it because it felt uncomfortable, but that's exactly why I needed to do it. Growth happens outside the comfort zone.

Good things can only happen if we put ourselves out there.

#buildinpublic
September 23, 2025 at 1:44 PM
Lately I've been working on "invisible" stuff for Uni Feedback:
- Built a whole admin dashboard to make it easier for me to maintain courses and feedback
- Built new scrapers get course bibliography, assessment and description

But it was finally time to make UI improvements.

Roast my design!
August 18, 2025 at 3:30 PM
🍻 The 2nd IndieBeers Bangkok will be on the 20th May!

Join us to meet awesome builders in town, get inspired, charge your batteries and have a helluva productive week 🔥🚀 (it's free!)

👉 lu.ma/lqk0f36j

See you there!
IndieBeers // Bangkok Meetup #2: Entrepreneur social (powered by Ramen Club) · Luma
Hi everyone 👋, welcome to the second IndieBeers in Bangkok! The goal is to help Indie Hackers / entrepreneurs & makers from across the city meet, exchange…
lu.ma
May 12, 2025 at 2:19 AM
Just wrapped up the @multisynq.bsky.social "Multi Pong" workshop at 42 Porto! Built a multiplayer Pong game with Croquet.js without writing any backend or messaging code.

Guide with code available at github.com/afonsocrg/mu...

Feel free to PR with your own variation of the Pong game ;)
GitHub - afonsocrg/multi-pong: Online Pong game using Croquet
Online Pong game using Croquet. Contribute to afonsocrg/multi-pong development by creating an account on GitHub.
github.com
February 27, 2025 at 3:22 PM
Last week I attended an indie builders co-working day in London. It's called @hackaditch, and it's just amazing!

Today we made something similar in Lisbon and it was awesome! We had a productive day, got good feedback and made new connections!

#coworking #lisbon #indie
January 30, 2025 at 7:50 PM
🚀 React Together v0.3.3 is here!

Add real-time shared cursors to your React app with just ONE line of code! Want full control? The useCursors is here for you!

StackBlitz Demo: stackblitz.com/edit/react-t...

#ReactJS #WebDev
January 29, 2025 at 4:59 PM
Had a blast giving the "Multi Pong" workshop at 42 Lisboa this morning! We built a multiplayer Pong game without writing any backend!

Full guide at github.com/afonsocrg/multi-pong

#workshop #croquet
January 29, 2025 at 1:17 PM
Reposted by afonsocrg
We're just two days away from our first event of the year, in collaboration with Vue.js Portugal!

🎟️ 𝗬𝗼𝘂𝗿 𝗳𝗿𝗲𝗲 𝘁𝗶𝗰𝗸𝗲𝘁: meetup.com/lisboajs/eve...

A huge thanks to Remote Crew, Infraspeak and Le Wagon Portugal for making this event possible!!

#vue #lisbon
Portugal Vue #3 Meetup, Thu, Jan 16, 2025, 6:30 PM | Meetup
LisboaJS partnered with Portugal.Vue, and we are co-organizing this next event, focused on Vue!! The next [Portugal.Vue Meetup](https://www.meetup.com/portugal-vue/events/
meetup.com
January 14, 2025 at 9:17 PM
🚀 React Together v0.3.2 drops with instant chat integration! Add real-time chat to your site with our component, or build your own with useChat hook. Fully customizable.

Try it → reacttogether.dev/chat

#react #reactjs
January 14, 2025 at 10:43 AM
Just published my first python package: yacli_menu.

A few years ago I had to create some python CLI menus. Didn't like what was out there at the time, so decided to build my own :)

Hope it helps someone!

github.com/afonsocrg/ya...

#python
January 11, 2025 at 8:46 PM
Stoked to be part of the organizing team! Thanks Rui Posse and @piara.bsky.social for making this fun!!

See you there 🔥
This year will kick off with an event co-organized with Vue.js Portugal!

We'll have 2 awesome talks from Vasco Neves and Mário Balça.

Thanks to Remote Crew, Infra Speak, and Le Wagon Portugal for making this event possible!

Come for the talks, stay for the people!
See you there!
Portugal Vue #3 Meetup, Thu, Jan 16, 2025, 6:30 PM | Meetup
## Details LisboaJS partnered with Portugal.Vue, and we are co-organizing this next event, focused on Vue!! The next [Portugal.Vue Meetup](https://www.meetup.com/portugal
meetup.com
January 8, 2025 at 4:44 PM
Screen sharing is the digital version of looking over someone's shoulder. How often do we end up asking others to scroll down, or to click somewhere?

I believe the internet needs to evolve towards collaboration by default. Thoughts on this? 🤔

#webdev #ux

dev.to/afonsocrg/st...
Stop sharing your screen, start sharing your website
Remember the last time you had to screen share during a call? Perhaps you were walking someone...
dev.to
January 6, 2025 at 1:01 PM
Have you ever thought of making your website bring your users together? Just like Google Docs, but on your website.

Yes, it's possible, and it's extremely easy! Here's how:

dev.to/afonsocrg/ad...

#react #javascript #web #frontend #webdev
Add Real-Time Collaboration to Your React App in 10 Minutes
The other day, someone I know messaged: "I found myself over the holiday trying to explain to my...
dev.to
January 3, 2025 at 1:17 PM
AoC 2024 - Day 25 "Code Chronicle" - ⭐️⭐️

Yey, it's done! To reduce search, I stored the locks in a tree of HashMaps, indexed by pin size.

Thanks @was.tl and team for these challenges, it's been a fun journey!! Merry Christmas to everyone

Code: github.com/afonsocrg/AoC
#AdventOfCode #rust
December 25, 2024 at 10:08 AM
AoC 2024 - Day 24 "Crossed Wires" - ⭐️⭐️

For Part 2, I checked which gates broke addition circuit rules: XOR outputs must feed into AND+XOR gates, and so on... Got a messy code, but found the 8 swapped wires!

Code: github.com/afonsocrg/AoC
#AdventOfCode #rust
GitHub - afonsocrg/AoC: My solutions to Advent of Code
My solutions to Advent of Code. Contribute to afonsocrg/AoC development by creating an account on GitHub.
github.com
December 24, 2024 at 10:19 PM
AoC 2024 - Day 23 "LAN Party" - ⭐️⭐️

Got a fast solution by checking for complete subgraphs (TIL they're also known as cliques) while processing each edge.

Used HashMaps and HashSets for faster lookup and intersections.

Code: github.com/afonsocrg/AoC
#AdventOfCode #rust
December 23, 2024 at 12:13 PM
AoC 2024 - Day 22 "Monkey Market" - ⭐️⭐️

Used bit-wise operators to make the next number generation faster. For Part 2, stored diff sequences as 20 bit integers for faster lookup.

Times:
Part 1: 11.6ms
Part 2: 147.8ms

Code: github.com/afonsocrg/AoC
#AdventOfCode #rust
December 22, 2024 at 7:24 PM
AoC 2024 - Day 21 "Keypad Conundrum" - ⭐️⭐️

Defined the problem recursively and used caching to avoid re-computation of intermediate results. This one was a real conundrum.

Happy with my execution times:

Code: github.com/afonsocrg/AoC
#AdventOfCode #rust
December 22, 2024 at 5:35 PM
AoC 2024 - Day 20 "Race Condition" - ⭐️⭐️

Got a O(n) solution by storing the distance from each position to the end, and by checking for shortcuts in each position vicinity. Did a "diamond" for-loop for the first time, it was fun.

Code: github.com/afonsocrg/AoC
#AdventOfCode #rust
December 20, 2024 at 3:32 PM
AoC 2024 - Day 19 "Linen Layout" - ⭐️⭐️

Memoization did the trick for this problem!!

Also, instead of checking one pattern at a time, I checked if prefixes with different lengths existed in the pattern set, which sped up my solution by 4x.

Code: github.com/afonsocrg/AoC
#AdventOfCode #rust
December 19, 2024 at 4:55 PM
AoC 2024 - Day 18 "RAM Run" - ⭐️⭐️

Reused the A* from day 16 (might implement a generic one). For part 2, a binary search got me the right answer in 400ms (took 13 attempts)

Code: github.com/afonsocrg/AoC
#AdventOfCode #rust
GitHub - afonsocrg/AoC: My solutions to Advent of Code
My solutions to Advent of Code. Contribute to afonsocrg/AoC development by creating an account on GitHub.
github.com
December 18, 2024 at 12:13 PM
AoC 2024 - Day 17 "Chronospatial Computer" - ⭐️⭐️

Part 2 was a fun excuse to revisit Z3—it’s been five years since I last played around with it.

Code: github.com/afonsocrg/AoC
#AdventOfCode #rust
GitHub - afonsocrg/AoC: My solutions to Advent of Code
My solutions to Advent of Code. Contribute to afonsocrg/AoC development by creating an account on GitHub.
github.com
December 17, 2024 at 4:16 PM