A social event planning app powered by GenUI for Flutter. Hosts plan through a conversational interview while GenUI generates themed invites, tailored components, and planning modules, all shaped by your event and its audience.
As guests share preferences, GenUI composes new modules, generates follow-up questions, and evolves the experience to match. Not a form you fill out and forget. A living experience that GenUI actively constructs around its hosts and guests. The menu lets you switch between users to explore both the host and guest sides of the same event.
Built by gskinner, Hatcha showcases how GenUI and A2A can power rich, AI-driven experiences on mobile and web.
If you're new to Flutter the first thing you'll need is to follow the setup instructions.
Once Flutter is set up, you can use the latest stable channel:
flutter channel stableflutter upgrade
Install dependencies:
flutter pub getHatcha requires a running agent server. Quick local setup:
cd agents
make install # or: uv sync
cp .env.sample .env # then set your GEMINI_API_KEY
uv run -m hatcha_agent --reloadThe agent runs on http://localhost:10003 by default. See agents/README.md for configuration, deployment, and Cloud Run setup.
Once the agent is running, launch the Flutter client. First, create your config file by copying the appropriate example in config/ and removing the .example suffix (see Configuration below).
# With a local agent (default http://localhost:10003)
flutter run --dart-define-from-file config/local.env.json
# With a deployed agent
flutter run --dart-define-from-file config/remote.env.jsonSupported platforms: Android, iOS, Web.
Tip: VS Code launch profiles are preconfigured in
.vscode/launch.json— useHatcha: DebugorHatcha (REMOTE AGENT): Debug.
Copy the example config for your setup, rename to remove .example, and fill in the values:
- Local: config/local.env.json.example
- Remote: config/remote.env.json.example
See the example files for available variables and documentation. All variables are compile-time constants defined in lib/env.dart.
About gskinner
We build innovative digital experiences for smart clients, and we love how Flutter unleashes our creativity when building multi-platform apps. Don't hesitate to stop by our site to learn more about what we do, or check out other innovative Flutter projects we've built. We'd love to hear from you!
This application is released under the BSD 3-Clause license. You can use the code for any purpose, including commercial projects.

