Use template
Open halla-ai/hackathon-sample-2026 and create your own team repository from the template.
Starter material
Start from one complete deployment reference and five technique scaffolds. Use the examples to learn the pattern, then adapt the idea for your own team.
The template includes the minimal FastAPI app plus standalone technique folders for agents, embeddings, vision, streaming, and evaluation. Never put real Azure credentials in team repositories.
5 techniques + 1 worked example
Each deep-dive has the problem, users, architecture, prompt pack, pattern snippet, demo screens, budget note, and pitfalls. Career CV is the complete deployment anchor; the other five are technique showcases.
The complete worked example: JSON-mode structured output, privacy guardrails, and deployable Azure Container Apps path.
Open deep-diveA tool-calling pattern that chooses FAQ lookup or human escalation instead of answering everything directly.
Open deep-diveA local-vector scaffold that can later switch to Azure embeddings without requiring Azure AI Search.
Open deep-diveUse gpt-4o-mini image input to extract structured fields from a form, screenshot, or poster.
Open deep-diveA token-streaming pattern for demos where perceived responsiveness matters.
Open deep-diveA lightweight rubric and test-case loop that helps teams improve prompts with evidence.
Open deep-diveOpen halla-ai/hackathon-sample-2026 and create your own team repository from the template.
Copy `.env.example` to `.env` and fill only the values provided by tutors or operations.
Build the UI and README before spending Azure tokens on repeated tests.
Replace the sample context with a short public or synthetic dataset.
In the demo, explain the Foundry project, model call, and safety limits without exposing secrets.
We are a KOICA-TIU hackathon team. Help us turn this idea into one clear user, one problem, one demo screen, and one Azure AI workflow. Keep the scope small enough for one day.
You are an assistant for a student demo. Answer only from the provided context. If the context does not contain enough information, say what is missing. Do not invent facts.
Review our 3-minute demo plan. Identify the riskiest step, one backup option, and one sentence that explains how Azure or Foundry is used.
Act as our tutor. Check whether our project has one clear user, a small data source, a working model call, no exposed secrets, and a demo that can run in 3 minutes.
Review this prototype flow and suggest how to reduce Azure token use, repeated model calls, and unnecessary app runtime without weakening the demo.
Create a 5-slide hackathon presentation outline: problem, user, solution, Azure workflow, demo result and next step. Keep each slide short.
This sample keeps secrets in environment variables and uses a narrow system prompt. Tutors will provide the correct endpoint and deployment names for assigned teams.
import os
from openai import AzureOpenAI
client = AzureOpenAI(
azure_endpoint=os.environ["AZURE_OPENAI_ENDPOINT"],
api_key=os.environ["AZURE_OPENAI_API_KEY"],
api_version="2024-12-01-preview",
)
SYSTEM_PROMPT = """
You are a helpful assistant for a KOICA-TIU hackathon team.
Answer only from the provided context. If the context is missing,
say what information is needed.
"""
def answer_question(question: str, context: str) -> str:
response = client.chat.completions.create(
model=os.environ["AZURE_OPENAI_DEPLOYMENT"],
messages=[
{"role": "system", "content": SYSTEM_PROMPT},
{"role": "user", "content": f"Context:\n{context}\n\nQuestion: {question}"},
],
temperature=0.2,
max_tokens=500,
)
return response.choices[0].message.content or ""
A small API is enough for most hackathon demos. Keep the context short and public or synthetic.
import os
from fastapi import FastAPI
from pydantic import BaseModel
from ai_client import answer_question
APP_CONTEXT = """
Replace this with a short public or synthetic document set.
Example: hackathon FAQ, role descriptions, sample rubric,
or a small synthetic document screenshot summary.
"""
app = FastAPI(title="KOICA-TIU Hackathon Demo")
class Question(BaseModel):
text: str
@app.post("/ask")
def ask(payload: Question):
return {
"answer": answer_question(payload.text, APP_CONTEXT),
"scope": "hackathon-demo",
}
Every team should submit a short README so judges can understand the project even if the live demo fails.
# Project title
## Problem
One sentence describing the Uzbekistan problem this project solves.
## Users
Who will use it, and in what situation?
## Azure resources
- Microsoft Foundry project:
- Model deployment:
- App Service slot:
## Team roles
- PM/domain:
- Prompt/data:
- Foundry/backend:
- Frontend/demo:
## Demo flow
1. Open the app.
2. Ask the prepared demo question.
3. Show the answer and explain the source/context.
4. Explain limitations and next steps.
## Safety
- No private personal data.
- No API keys or passwords in the repository.
- Backup screenshot or video prepared.