01Resources
Build with AI,
a field guide.
Everything we wish someone had handed us at our first hackathon: how AI products are put together, which tools to reach for, how to set up a coding agent, and how to prompt it well. Keep it open while you build.
At Hack for Humanity tonight?
Open the event toolkit: the challenge, the data and your first hour.
02The big picture
How AI systems fit together.
01 · Person
Someone with a problem
A resident, a dispatcher, a volunteer. Start from what they need, not from the tech.
02 · Your app
The interface
A chat, a map, a dashboard, a WhatsApp bot. Lovable, Streamlit or your own code.
03 · Model
The reasoning engine
An LLM such as Claude on Amazon Bedrock. It reads, decides and writes.
Instructions
System prompt
Who it is, what it must and must not do, the format to answer in.
Knowledge · RAG
Your data
Documents, CSVs and databases it can search, so answers are grounded in facts, not memory.
Tools · MCP
Actions
APIs it can call: weather, maps, send an SMS, write to a sheet. Tools are what turn a chatbot into an agent.
03Agents
From chatbot to agent.
- 01
Goal
What should be true at the end?
- 02
Plan
Break it into the next step.
- 03
Act
Call a tool, run code, search.
- 04
Observe
Read the result. Done, or loop?
A chatbot answers once. An agent keeps looping until the goal is met, using tools to act on the world. OpenCode is itself an agent: it plans, edits files, runs commands and reads the output.
04The build path
From idea to demo.
- 01
Pick a person
One real person and one moment where they struggle. “Families in Ein Kerem during a wildfire”, not “climate”.
- 02
Research
Ask Perplexity what exists, what data is out there and what failed before. Ten minutes, not an hour.
- 03
Build the smallest thing
One screen, one flow, one model call. Hard-code what you must. Make it work before making it nice.
- 04
Test with real data
Run it on the real dataset or a real example. Fix the one thing that breaks the story.
- 05
Demo the story
Problem, who it helps, live demo, what’s next. Two minutes. Record a backup video.
05Toolkit
What to use, and when.
Research
Understand the problem, find data, check facts.
- PerplexitySearch with cited answers. Start here to scope a problem fast.
- NotebookLMDrop in PDFs, reports and links, then ask questions grounded in them.
- ElicitFinds and summarises academic papers for a research question.
- ConsensusWhat does the research say? Answers drawn from peer-reviewed studies.
- Kaggle DatasetsOpen datasets with notebooks you can learn from.
- Hugging Face DatasetsThousands of ready-to-load datasets for ML and AI.
Build with a coding agent
You (or someone on the team) can run a terminal or an editor.
Build without code
You want a working app from a description, fast.
- LovableDescribe an app, get a full-stack web app you can deploy.
- v0Generates polished React UIs and apps from prompts.
- BoltPrompt, run and edit full-stack apps in the browser.
- ReplitBrowser IDE with an agent that builds and hosts the app for you.
- n8nVisual workflows and AI agents that connect to hundreds of apps.
Models and agents
The “brain” of your solution and the parts that let it act.
- Amazon BedrockOne API for Claude, Llama, Mistral, Nova and more on AWS.
- Google AI StudioTry Gemini models in the browser and grab an API key.
- Hugging FaceOpen models for vision, speech, text and more.
- Model Context ProtocolThe open standard for plugging tools and data into AI agents.
- Strands AgentsOpen-source SDK from AWS for building agents in a few lines.
- LangGraphFramework for multi-step, stateful agent workflows.
Interface, data and hosting
Turn the idea into something people can click.
Show it
Explain what you built in two minutes.
06Setup
OpenCode + Amazon Bedrock.
Step 01
Install OpenCode
# macOS / Linux
curl -fsSL https://opencode.ai/install | bash
# or with npm (macOS, Linux, Windows)
npm install -g opencode-ai
# or with Homebrew
brew install anomalyco/tap/opencodeStep 02
Add your Bedrock key and start it
Prefer not to use the terminal for the key? Start opencode, type /connect, search for Amazon Bedrock and paste the key there.
# Paste your Bedrock API key and region (from your table guide)
export AWS_BEARER_TOKEN_BEDROCK="paste-your-key-here"
export AWS_REGION="us-east-1"
# Start OpenCode inside your project folder
mkdir my-project && cd my-project
opencode$env:AWS_BEARER_TOKEN_BEDROCK = "paste-your-key-here"
$env:AWS_REGION = "us-east-1"
mkdir my-project; cd my-project
opencodeStep 03
Prefer the browser? Open OpenCode web
Starts an OpenCode session in your browser instead of the terminal. Run it after setting the key, and keep the terminal open while you work.
# In the same terminal, inside your project folder
opencode webStep 04
Pick a model and get going
/models pick a model, e.g. a Claude Sonnet model on Amazon Bedrock
/init let it read the project and write AGENTS.md
Tab switch between Plan (thinks, no edits) and Build (edits files)Optional: save the region in the projectShow
Put an opencode.json in the project root so everyone on the team uses the same region. Settings in this file win over environment variables. Keep the key itself out of it.
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"amazon-bedrock": {
"options": { "region": "us-east-1" }
}
}
}/models shows no Bedrock models, check the key and region first, then ask a mentor.07Prompting
Prompts that get it right.
01
Role
Who should the model be?
You are a senior Python developer who builds simple, readable dashboards.
02
Context
What does it need to know?
We have a CSV of historical earthquakes in Israel. Columns are in data_dictionary.json.
03
Task
What exactly should it do?
Build a Streamlit app that maps events and filters them by type and year.
04
Constraints
What must it avoid or respect?
One file, no paid APIs, runs with `streamlit run app.py`. Ask before adding dependencies.
05
Format
What should the answer look like?
First a short plan as bullets, then the code, then how to run it.
06
Examples
Show, don’t only tell.
Here is one row of the data and the kind of summary card we want: …
Copy this template
You are a {role}.
Context:
{what the project is, who it's for, which files or data to use}
Task:
{one clear thing to do now}
Constraints:
- {tech stack, time limit, what not to touch}
- Ask me before adding new dependencies.
Output:
First a short plan as bullet points. Wait for my OK, then build it.Plan before you build
Ask for a plan first (in OpenCode press Tab for Plan mode), fix the plan, then let it build.
Small steps win
One feature per prompt. Run it, check it, commit, then ask for the next one.
Give it the real data
Point it at the actual file and data dictionary instead of describing the data from memory.
Paste the error
When something breaks, paste the full error and what you expected. Don’t just say “it doesn’t work”.
Ask it to check itself
“List what could be wrong with this” or “write a quick test” catches mistakes early.
Verify facts
Models can sound sure and be wrong. Check numbers and claims against a source before you present them.
08Go deeper
Keep learning.
Prompting
Agents
Tools and platforms
- opencode.aiOpenCode docsInstall, commands, agents and configuration.
- opencode.aiOpenCode providers: Amazon BedrockEvery way to authenticate OpenCode with Bedrock.
- AWSWhat is Amazon Bedrock?Models, knowledge bases, agents and guardrails.
- DeepLearning.AIShort coursesOne-hour courses on RAG, agents, evals and more.