update readme blurb and screenshots

This commit is contained in:
Brent Schroeter 2026-01-13 18:07:35 +00:00
parent 234e6d6e7e
commit 0f773c2556
3 changed files with 22 additions and 13 deletions

View file

@ -1,10 +1,27 @@
# Phonograph # Phonograph
A friendly, collaborative PostgreSQL derivative for nerds of all stripes. Phonograph is a friendly, collaborative data platform for nerds of all stripes,
built around PostgreSQL.
Contemporary browser-centric platforms like Airtable open new frontiers for data
engineering, but they suffer from limitations that conventional databases have
long since addressed: relational data models are an afterthought; row-level
security is missing; third party integrations must be implemented piecemeal for
lack of a standardized API. Phonograph addresses these shortfalls by
implementing an accessible front-end interface backed by an existing, mature
database management system.
![Screenshot of multi-cursor editing, as well as a dropdown menu with a highlighted option labeled "PostgreSQL credentials"](./docs/screenshot_multi_cursor.png) ![Screenshot of multi-cursor editing, as well as a dropdown menu with a highlighted option labeled "PostgreSQL credentials"](./docs/screenshot_multi_cursor.png)
# Development Quickstart ## Browser Compatibility Note
[CSS anchor positioning](https://developer.mozilla.org/en-US/docs/Web/CSS/Guides/Anchor_positioning)
is a relatively new API, and Phonograph uses it extensively. Browser support is
now fairly good, but
[Firefox users in particular](https://bugzilla.mozilla.org/show_bug.cgi?id=1988225)
should upgrade to version 147 or newer for best experience.
## Development Quickstart
The Phonograph repository comes with a [mise-en-place](https://mise.jdx.dev/) The Phonograph repository comes with a [mise-en-place](https://mise.jdx.dev/)
configuration to automatically manage the development environment: configuration to automatically manage the development environment:
@ -38,8 +55,8 @@ files as needed.
Large language model code generation is permitted sparingly in very limited Large language model code generation is permitted sparingly in very limited
cases, for example for completing clearly defined transformations which span cases, for example for completing clearly defined transformations which span
multiple files and are not supported by conventional code actions. All code multiple files and are not supported by conventional code actions. All code
generated by LLMs must be thoroughly and frequently reviewed by the author, generated by LLMs is considered reflective of its author, and authors are
before committing affected work. expected to thoroughly and frequently review before committing affected work.
As of this writing, models display a strong bias towards patterns which are well As of this writing, models display a strong bias towards patterns which are well
represented in public open source projects. This can cause them to tend towards represented in public open source projects. This can cause them to tend towards
@ -58,11 +75,3 @@ Examples of LLM-assisted changes in practice:
- Replacing SVG icons with similar webfont icons from a different icon pack. - Replacing SVG icons with similar webfont icons from a different icon pack.
(Revision `ztrnxzqv` (Git `a8dd49f7`)) (Revision `ztrnxzqv` (Git `a8dd49f7`))
# Footnotes
[^1]: Barring historical pedantry, "Postgres" and "PostgreSQL" are essentially
synonymous and are often used interchangeably. As a matter of convention
throughout Phonograph docs, "Postgres" is largely used to refer to the
database software, while "PostgreSQL" is typically used to refer to the
query language and/or wire protocol.

View file

@ -2,7 +2,7 @@
Postgres provides a sophisticated role based access control (RBAC) system, which Postgres provides a sophisticated role based access control (RBAC) system, which
Phonograph leverages to apply permissions consistently across the web UI and Phonograph leverages to apply permissions consistently across the web UI and
inbound PostgreSQL[^1] connections. inbound PostgreSQL connections.
In order to efficiently pool database connections from the application server, In order to efficiently pool database connections from the application server,
most actions initiated via the web UI are run as the corresponding database user most actions initiated via the web UI are run as the corresponding database user

Binary file not shown.

Before

Width:  |  Height:  |  Size: 760 KiB

After

Width:  |  Height:  |  Size: 805 KiB