A collaborative agroecology wiki, made possible by the expressive power of EdgeDB
EdgeDB Hackathon entry - Gororobas - by Henrique & Angie
Or learn about how and why we built it
THE APP
A wiki of vegetables
Open and collaborative information on agroecology - join in and help if you're interested!
THE APP
With social note-taking
Where people can share their learnings, discoveries and tips on planting and cooking real food
The team
Made with love!
Feito com amor!
Powered by
organic bananas!
Angie
Henrique
Content and Photography
Design & Code
Walkthrough of the most interesting technical bits
Feel free to skip, it's unpolished 😬
A bit verbose and boring, I’m sorry!
Too many things to do, so little time 🥵
This isn't an
EdgeDB demo app
We're building Gororobas to learn and share the blessing of agroecology and communal living. It's a dream-coming-true for the long run.
THIS!
EdgeDB is a fundamental piece that will allow us to grow into this vision
There's no going back to raw Postgres & SQL
Open source!
Schema modeling
like the mind thinks
single schema definition file that is easy to track over time
Smart mutations,
e2e type safe
Built-in and robust auth, with no user limits
Powerful, type-safe
and composable queries
Insert rewrites
Amazing docs
Great local dev workflow
Free cloud plan
And much more!
Native Arrays
Powerful constraints
Polymorphic links
Beautiful access policy API
Great Discord community
I've also learned a ton beyond EdgeDB
WHAT I'VE LEARNED
First time using OpenTelemetry & Honeycomb.io
WHAT I'VE LEARNED
React Server Components & Next 14 app router
So easy to suspend and stream
costly components and queries! ✨
Demo of the user profile loading after the page first appears
WHAT I'VE LEARNED
Effect Schema
Parsing and decoding form data with it feels magical 🌈
seriously, here are some highlights:
90+ huge commits
100s of hours of work
25,000+ lines of code
Built in public
This is also a hack: using boring streams to have a watch on my screen and force me to stop procrastination 😝
I've streamed a good chunk of the design & development live - it's all on Twitch, over 40 streams and 60h of recordings
(I lost a few hours when saving)
FAQ
Answers to hypothetical questions:
What's agroecology?
Look it up online, it's pretty cool! One of its most well-known techniques is agroforestry (also called “forest gardens”), but it goes beyond that. It's putting the ecological and social aspects back into farming, gaining long-term productivity.
agroforestry, an agroecological technique
What's up with gororobas.com being registered in 2017?
This has been a dream in one shape or another for a while. In 2017, I created the first version of Gororobas as personal recipes website to learn React and Markdown. These are my first components!
Then, in late 2021 I re-created it to allow other to share recipes, of sorts. Built with SvelteKit, Sanity.io and Supabase auth, it never went beyond a broken prototype 😬
Early this year, I pivoted the idea to focus more on agroecology, and began a broken implementation with Sanity.io. Given our requirements, though I stalled that project - until this hackathon.
the first Gororobas, built with Gatsby - can you tell by the blurry placeholders? 😝
What would you do if you won 1st place?
Spend a few months without client work, building Gororobas and sharing my learnings with EdgeDB, Next and Effect. I want to transition from freelancing into tech education, and have more time to work the soil and collaborate with other :)
Finally, a long list of features I didn't get the time to tackle:
Testing React 19
Dynamic OG images for sharing on social media
Automatically relating notes to vegetables and each-other with AI via EdgeDB's built-in RAG
Comments on notes and vegetable tips
tuning performance
(haven't touched anything related to it, it's fast OOTB 😮)
and more I didn't want to find icons for:
Full-screen vegetable photo browsing
Semantic search for notes
An infinite canvas with access to the vegetables database to plan your farming project (w/ tldraw)
Open vegetables in modals via NextJS's intercepting routes
Editing notes - right now it's like Twitter, once it's out, it's out!
Better leverage Effect and get feedback on my usage
Write blog posts about the experience with technical highlights
Better UX on mobile - header is quite lazy, for example
Set-up EdgeDB branches workflow
full-text search
(eventually semantic search w/ RAG)
That's all folks!
Thank you for your time, and may your week be as bountiful as nature's harvest 🙏