Loading…
Developers stay up to date with intheloop.dev
SupabaseRory Wilding
Summary
Freelance engineer Kevin Grüneberg created intheloop.dev as an open-source aggregator to help developers track software updates, release notes, changelogs, tweets, and community discussions from a single platform. The initial release provides dedicated coverage for React, Kotlin, and Vite, with plans to introduce user accounts, notifications, and personalized digests. Although Grüneberg previously used Firebase for rapid prototyping, he found relational requirements like count queries, normalization, and foreign keys difficult or impossible to implement. He selected Supabase as the backend to combine fast integration with PostgreSQL capabilities, including SQL queries, constraints, views, and materialized views. This database architecture allows the application to handle structured data relationships efficiently while scaling future feature additions without restructuring core models.
Context
Freelance engineer Kevin Grüneberg wanted to scale how developers track technology updates across fragmented communities, release logs, and social feeds, but found that Firebase made essential relational database tasks like counts, foreign key relations, and normalization difficult or impossible.
Approach / What changed
Grüneberg built intheloop.dev as an open-source project covering React, Kotlin, and Vite, using Supabase as the PostgreSQL backend to leverage SQL constraints, views, and materialized views while maintaining rapid development speed.
Takeaways
- Firebase made straightforward relational requirements like count operations, foreign key relations, and database normalization difficult or impossible compared to Postgres.
- Intheloop.dev aggregates feeds across releases, changelogs, forum discussions, tweets, and blogs, launching initially with coverage for React, Kotlin, and Vite.
- Using Supabase provides Postgres features like constraints, views, and materialized views alongside rapid integration capabilities.
Related reading
Supabase ·
Protecting reserved roles with PostgreSQL Hooks
Supabase required granting database customers the CREATEROLE privilege to manage custom roles while preventing them from dropping or altering backend service roles such as supabase_storage_admin. Because stock PostgreSQL lacks a native mechanism to define custom reserved roles, the team created the SupaUtils extension using PostgreSQL hooks. Loaded via shared_preload_libraries, SupaUtils intercepts utility statements by overriding the global ProcessUtility_hook function pointer. The extension inspects incoming statements like ALTER ROLE and DROP ROLE against a configurable list defined in postgresql.conf using DefineCustomStringVariable. If a targeted role matches the configured reserved roles, the hook raises an error, preserving backend infrastructure roles while permitting broader role administration.
Steve ChavezSupabase ·
Supabase Beta April 2021
Supabase focused on platform stability, security enhancements, and community support during its April 2021 beta update cycle. To address visual accessibility needs for developers with astigmatisms or those operating in brightly lit environments, the team delivered Light Mode within the dashboard settings. The release also introduced OpenAPI-powered Storage API documentation, community translations for the main repository spanning nineteen distinct languages, and an experimental synchronization server connecting Postgres with Stripe. Dashboard components are systematically migrating into an open-source UI library, establishing necessary foundations for local development tooling and self-hosted environments. Additionally, the team reported substantial contributor growth across its realtime server and UI repositories while continuing engineering on a Workflows engine aimed at a July release.