Project Info
This project did not submit a demo video on Devpost.
Inspiration
Last month, the three of us had our camping trip in the San Bernardino National Forest cut short by the Line Fire as it exploded in size overnight. As we awaited evacuation notices and warnings from official sources, we found ourselves frequently checking different sources for the latest information, which became a hassle as we raced against the clock to pack up our camping gear and prepared to evacuate.
What it does
Blaize automatically gathers and compiles information from authoritative sources, and stores the latest information in one place. Not only can users can view the latest notices and evacuation information from a single app, but they can text or speak with our intelligent AI agent which always has access to a rich set of information in addition to the latest updates from authorities.
How we built it
We built Blaize using a Flask backend for retrieving and compiling information from the WatchDuty API, and utilizes redis for quick information caching. The frontend was built in Vue.js with Tailwind CSS, and the AI agent is provided through Deepgram, based on Google's Gemini-1.5. The AI agent is fed the latest information in a carefully crafted prompt through our Flask API, and can answer user's questions pertaining to a specific wildfire.
Challenges we ran into
We faced slow response times, mostly due to poor wifi connection during development. This made us realize, however, that this simulated an environment closer to the app's real use case, where users may not have access to good cell service. We then implemented a Redis cache to improve load times.
Accomplishments we're proud of
Speaking to or texting the AI agent feels responsive, informative, and realistic, akin to speaking with a trusted expert. We are proud to have built an agent that will quickly and concisely respond to those in affected wildfire areas, which will help to provide information during periods where emergency services are often constrained.
What we learned
We learned the importance of considering real-world conditions during development, such as limited connectivity, which prompted us to implement caching strategies to enhance performance. We also gained valuable experience integrating various technologies, such as combining real-time data APIs with an AI agent to provide dynamic and contextually relevant information.
What's next
We would like to iterate on and streamline our backend, and develop a feature-complete mobile app for iOS and Android. After achieving this, we hope to get in contact with wildfire information sources such as WatchDuty for new integrations and potential collaborations.
This repository has no readme, or GitHub could not be reached.
Analysis
View
Metric
- 53
- 49
- 27
Figures cover GitHub contributors during the hackathon window. A co-authored commit counts in full for each author, so per-member totals add up to more than the whole-team figures.
Technology
- CSSIn code
- FlaskIn code
- HTMLIn code
- JavaScriptIn code
- OpenAIIn code
- PythonIn code
- RedisIn code
- Tailwind CSSIn code
- VueIn code
- Google GeminiClaimed
9 of 10 appear in the indexed code. 1 claimed on Devpost could not be matched to code, which may simply mean the tool leaves no trace in the repository.
AI coding agents
No AI coding agent signals were found in this repository.
Detected from committed agent config files and commit authorship. Absence of a signal is not proof an agent was unused.
Codebase size
Source size
67 KB
Source files
42
Counts recognized source files only; vendored directories, binaries and lockfiles are excluded, so this is smaller than the repository on disk.
Repository
gdodge0/WildfireAgent
58 files · 176 KB · @ 3b297b4
Structure
Interface
17 files · 29%Screens, components and styles rendered to the user.
API & routing
1 file · 2%Request entry points: routes, handlers and controllers.
Application logic
15 files · 26%Domain rules, services and shared utilities.
Data & schema
6 files · 10%Schema definitions, migrations and data access.
Supporting
Layers are inferred from where files sit in the tree, not from reading the code. A project that names its directories unconventionally will read oddly here — open the file browser to check anything the diagram implies.
Languages
- Vue50%
- Python28%
- JavaScript14%
- CSS4%
- YAML3%
- Markdown1%
- Other (1)1%
Share of indexed source by file size. Binary and vendored files are excluded.
Dependencies
requirements.txt
pypi · 78- aenum
- aiofiles
- aiohappyeyeballs
- aiohttp
- aiosignal
- alembic
- annotated-types
- anyio
- attrs
- beautifulsoup4
- blinker
- cachetools
- certifi
- charset-normalizer
- click
- dataclasses-json
- deepgram-sdk
- deprecation
- +60 more
wildfireagent_frontend/package.json
npm · 10- axios
- marked
- vue
- vue-router
- vue3-google-map
- +5 more
Declared in the repository’s manifests at the indexed commit. A declared package is not proof it is used, and runtime dependencies are listed first.
This project’s features have not been analysed yet.
Export this project's context (description, README, evidence, key source files) to chat with an AI agent elsewhere.