George J
georgejose.bsky.social
George J
@georgejose.bsky.social
Engineering leader, indie hacker, sailor & dog parent

Recently made https://www.titangymapp.com
Some fresh new features in @titangymapp.bsky.social:
1. Full-year workout consistency heatmap
2. Workout volume by muscle groups

#BuildInPublic
July 12, 2025 at 10:19 PM
New feature for power users on @titangymapp.bsky.social: explore your workout data using SQL

#BuildInPublic
July 11, 2025 at 5:38 PM
New feature in @titangymapp.bsky.social: Calendar view for past workouts

#BuildInPublic
June 23, 2025 at 3:03 AM
Building a quick admin-only local sqlite debug tool in @titangymapp.bsky.social got me thinking - what if this were also exposed to power users who want to build custom visualizations right within the app? 🤔

#BuildInPublic
June 22, 2025 at 7:41 PM
June 22, 2025 at 4:58 AM
@titangymapp.bsky.social now also supports iPadOS and macOS
June 15, 2025 at 6:56 PM
@titangymapp.bsky.social just hit $1,000 in revenue

It ain't much, but nice to see paying users on a product that offers most features for free!

#buildinpublic
March 15, 2025 at 9:27 PM
New in @titangymapp.bsky.social: A minimal streaks UI that stays out of your way, and plugs into the heatmap view!
March 1, 2025 at 10:18 PM
Shout out to the Webpage HTML Export plugin on @obsidian.md for making it so easy to publish content

My personal website now uses this setup. What I find cool is how it generates a graph view of interlinked content.

github.com/KosmosisDire...

georgejose.com
February 20, 2025 at 4:15 PM
Just discovered the Book Search plugin on Obsidian that lets you have a completely local Goodreads like experience

I'm constantly blown away by what's possible on @obsidian.md
February 13, 2025 at 5:38 PM
First personal workout in a while!
February 8, 2025 at 7:50 PM
🚀 @titangymapp.bsky.social update:

You can now view your workout stats on a bigger screen, if that's your thing!

#BuildInPublic
February 6, 2025 at 2:48 PM
And building with a sync engine like @powersync.com means I get instant reactivity for free (across platforms), without having to write repetitive boilerplate code to manage websockets and API endpoints

#buildinpublic @titangymapp.bsky.social
February 4, 2025 at 5:13 PM
One of many nice things about building with #ReactNative is you can share code, not just between iOS and Android, but also with web.

Your web components can even contain a mix of react & react native code, including libraries like @tailwindcss.com.

#BuildInPublic

@titangymapp.bsky.social
February 4, 2025 at 5:03 PM
@bsky.app please improve your opengraph tags powering the link preview experience in many apps!

Here's a side by side comparison of link previews of basically the same post on X vs Bluesky, as seen on whatsapp.

Links to the posts:
x.com/swmansion/st...
bsky.app/profile/swma...
January 30, 2025 at 4:55 PM
New in @titangymapp.bsky.social: Inline rest timers in workouts, workout programs and templates.

Smooth, continuous timer animation courtesy of React Native Reanimated.

#BuildInPublic
January 29, 2025 at 1:15 PM
My hobby app @titangymapp.bsky.social just got a fresh new look 🎨!

Go check it out at www.titangymapp.com
January 20, 2025 at 11:33 PM
It was quite the refactor to move almost the entire app to this model over the holidays, but excited to see how it goes once I start an incremental roll-out!

(Moving small parts of the app to this model worked well before I decided to go all in)
January 8, 2025 at 5:03 PM
Really loving how I'm able to make pretty much any flow instant without having to micromanage client code to call server endpoints, timing API calls right, server code to handle calls etc.

Using @powersync.com
January 8, 2025 at 5:03 PM
I also don't need individual GET endpoints on the server, and corresponding boilerplate code on the app to fetch relevant data.

Instead I define 'sync rules' in simple SQL that decide what data goes to what client.
December 23, 2024 at 6:49 PM
The server doesn't need a bunch of boilerplate heavy endpoints to handle various entities (often deeply nested).

Instead I have a single 'sync' endpoint that forwards to 'CRUDHandlers' I define that are simple to generalize. It's important to validate permissions here.

Here's an example:
December 23, 2024 at 6:49 PM
Decided to try building out the notion of workout programs into my app using Triplit.

What I'm liking
- DX - simple setup, intuitive, typesafe query language
- Reactivity - can just subscribe to queries of interest and they'll update automatically. Even across devices.

#BuildInPublic
December 3, 2024 at 1:58 AM
I particularly like how easy it was to set up a 'friends working out now' feature on my app with InstantDB, but I'm just not sure how production-ready they are for critical features.
November 28, 2024 at 11:42 PM
Oh and I've gotten a little fitter in the process www.titangymapp.com/users/001817...
November 27, 2024 at 9:35 PM
Hit a small milestone of $343 (480 CAD) total revenue on my personal project www.titangymapp.com.

It's not much and it doesn't cover costs yet, but it's been a fun project and it's important to celebrate the small wins!

#buildinpublic
November 27, 2024 at 9:29 PM