01
Ship the change, not the announcement
We push updates every 1-4 weeks. Every release post explains exactly what changed and why. No "various improvements". No marketing windows.
About
Hi, I'm Fahd. For seven years I've been the freelancer agencies call when a Gravity Forms project gets weird. Custom validation, conditional logic, role-aware editing, multi-step workflows, integrations with PayPal, Stripe, Brevo, MemberPress, LifterLMS, GiveWP, I've built and unbuilt every shape of GF problem you can imagine.
Gravity Tables is what I always wished existed: a way to take the entries those forms collect and put them on a page where actual humans, clients, customers, staff, can use them. Not export them. Not "view" them. Use them.
100+
GF integrations shipped
8 yrs
WordPress + PHP in prod
75
tagged releases since 1.0
0
pings to external servers
The path
Gravity Tables didn't start as a SaaS pitch. It started as a pattern I copy-pasted across client projects until extracting it became cheaper than maintaining the copies.
2018
Spoke at PyCon Pakistan. Started writing Gravity Forms integrations as a freelancer.
2019
DevFest Lahore talk on shipping client work fast. Co-founded PakistanJS, Urdu-language software-engineering community.
2022
First TableCrafter prototype: external JSON / CSV / Google Sheets → tables. Open-sourced as a learning project.
2024
Gravity Tables 1.0 ships. The Pro counterpart to TableCrafter, internal Gravity Forms data instead of external feeds.
2025
The 2.0 architectural rewrite. Service-oriented PHP, vanilla JS, repository pattern. Foundation for everything since.
2026
4.1 ship: frontend editing, totals row, auto-recalc, full mobile, 8-vertical use-case patterns. 4.2 line: Flip responsive mode, Top-N display, Transpose action. v4.2.55 stable.
How we work
01
We push updates every 1-4 weeks. Every release post explains exactly what changed and why. No "various improvements". No marketing windows.
02
Gravity Tables sends nothing to our servers. No analytics pings, no opt-out telemetry, no "anonymous usage statistics". Your entry data stays in your `wp_gf_entry` table.
03
Every feature has to read sensibly as a shortcode parameter. If it can't, the feature's scope is wrong. This keeps the API discoverable instead of buried in admin UI.
04
Pro support is email to a human who can read PHP. Most replies inside 24 hours, fixes shipped same day for genuine bugs.
The wider family
Same design philosophy across the whole family: clean, accessible, server-rendered, no analytics theatre. Pick whichever ships your data fastest.
Tables from external JSON, CSV, or Google Sheets. The format-agnostic sibling.
Tables from Gravity Forms entries, with frontend editing. You're here.
Card grids and masonry layouts from the same data sources. For more visual displays.
Charts and visualizations layered on the same shortcode pattern.
Talk to me
If you're evaluating Gravity Tables, hitting an edge case, or wondering whether it'll work for your particular use case, email me. I respond personally, usually inside 24 hours.
info@fahdmurtaza.comReady when you are
10 days of full Pro access. If it doesn't pay for itself in the first week, you don't have to keep it.