The first Ruby Native app is live in the App Store!
- Native tabs
- Sign in with Apple
- Push notifications
- And more, all backed by a Rails app + YAML
I literally never opened Xcode. Not even for the screenshots.
Big moment for Postgres!
Search has always been Postgres' weak spot, and everyone just accepted it.
If you needed a real relevance-ranked keyword search, the default answer was to spin up Elasticsearch or add Algolia and deal with the data sync headaches forever.
The problem isn't that Postgres can't do text search. It can.
But the built-in `ts_rank` function uses a basic term frequency algorithm that doesn't come close to what modern search engines deliver.
So teams end up:
- Running a separate Elasticsearch cluster just for search
- Building sync pipelines that inevitably drift out of consistency
- Paying for managed search services that charge per query
- Accepting mediocre search relevance because "good enough" ships faster
But this is actually a solvable problem.
You can realistically bring industry-standard search ranking directly into Postgres, which eliminates the need for external infra entirely.
This exact solution is now available with the newly open-sourced pg_textsearch by @TigerDatabase, a Postgres extension that brings true BM25 relevance ranking into the database.
BM25 is the algorithm behind Elasticsearch, Lucene, and most modern search engines. Now it runs natively in Postgres.
Here's what pg_textsearch enables:
- True BM25 ranking with configurable parameters (the same algorithm powering production search systems)
- Simple SQL syntax: `ORDER BY content <@> 'search terms'`
- Works with Postgres text search configurations for multiple languages
- Pairs naturally with pgvector for hybrid keyword + semantic search
That last point matters a lot for RAG apps. The video below shows this in action, and I worked with the team to put this together.
You can now do hybrid retrieval (combining keyword matching with vector similarity) in a single database, without stitching together multiple systems.
The syntax is clean enough that you can add relevance-ranked search to existing queries in minutes.
pg_textsearch is fully open-source under the PostgreSQL license.
You can find a link to their GitHub repo in the next tweet.
We’re thrilled to announce Skip 1.0!
Skip brings Swift app development to Android. Share Swift business logic, or write entire cross-platform SwiftUI apps, with native performance and native UI on each platform
Now free for Indies!
https://t.co/UA3pNWHbul
I am happy to share that my app is finally live on Product Hunt today!
I would love to have your support 😁
https://t.co/XW7783wAUJ
ps. There was something wrong yesterday, which prevented it from showing up. I'm glad it showed up today.
I'm having a new #SwiftUI app playground. And I genuinely enjoy going without ViewModel. Why would you need them? If this view becomes even slightly more complex, I'll just split it.
The untold history of web development:
1990: HTML invented
1994: CSS invented to fix HTML
1995: JS invented to fix HTML/CSS
2006: jQuery invented to fix JS
2010: AngularJS invented to fix jQuery
2013: React invented to fix AngularJS
2014: Vue invented to fix React & Angular
2016: Angular 2 invented to fix AngularJS & React
2019: Svelte 3 invented to fix React, Angular, Vue
2019: React hooks invented to fix React
2020: Vue 3 invented to fix React hooks
2020: Solid invented to fix React, Angular, Svelte, Vue
2020: HTMX 1.0 invented to fix React, Angular, Svelte, Vue, Solid
2021: React suspense invented to fix React, again
2023: Svelte Runes invented to fix Svelte
2024: jQuery still used on 75% of websites