4.9 KiB
4.9 KiB
Below is a “ready‑to‑hack” checklist that covers everything you’ll need to set up before the hack day starts. It’s broken into three phases
- pre‑planning
- environment & tooling
- project‑specific prep
1️⃣ Pre‑Planning (What we’re building)
| Item | Why it matters | How to decide |
|---|---|---|
| Problem statement + success metric | Keeps the hack focused; avoids “we’ll just keep adding features” trap. | Write a one‑sentence goal and a concrete KPI (e.g., 80 % of user intents correctly handled). |
| Scope & MVP | Defines what you can finish in 24–48 h. | List core features, then prune until only 3–5 “must‑have” items remain. |
| User stories / personas | Helps surface edge cases early. | Draft 2–3 short scenarios (e.g., “As a student, I want the agent to schedule a meeting”). |
| Success criteria & demo plan | Gives you a clear finish line and a demo script. | Write bullet points for each feature that can be shown in the final demo. |
| Team roles | Prevents overlap and gaps (e.g., one person on NLP, another on UI). | Assign: Lead dev, AI/ML engineer, frontend/UI, documentation & testing. |
2️⃣ Environment & Tooling
UV To handle virtual environment, package and dependancy handling.
uv add {package name}
Language Model
| Service | What you need | Notes |
|---|---|---|
| local running LLMs | lmstudio | Keeping things local (for LLMs) is one of the Goals. |
Agent Framework
TBC, need to plan this Think about agent LLMs and tool callers
Development Tools
| Tool | Purpose |
|---|---|
| VSCode / Zed | IDE with Python support. |
| ruff | Auto‑formatting & linting. |
| pytest | Quick unit tests for critical functions. |
Data / Knowledge Base
- Static docs: Markdown/HTML files you want the agent to read.
- Vector store: Use FAISS, Pinecone, or Chroma for embeddings if you’ll do RAG.
- Sample user intents: Create a JSON file with example queries.
3️⃣ Project‑Specific Prep
1. Architecture Sketch
┌─────────────────────┐ ┌───────────────┐
│ Frontend UI / CLI │ │ API Layer │
├─────────────────────┤ ├───────────────┤
│ Request handler │◄─►│ Agent core │
├─────────────────────┤ │ (MCP) │
│ State manager │ └───────────────┘
└─────────────────────┘
- Decide: CLI vs web app? Quick prototype → Flask or FastAPI +
uvicorn.
2. Prompt Templates
- Draft system, user, and assistant messages.
- Keep them generic; add placeholders for dynamic content (e.g.,
{user_name}).
3. Agent Workflow
| Step | Action | Notes |
|---|---|---|
| 1 | Parse user input | Use regex or simple NLP to detect intent. |
| 2 | Retrieve context | Query vector store if needed. |
| 3 | Formulate LLM prompt | Inject retrieved docs + system instructions. |
| 4 | Call LLM | Get response, optionally chain multiple calls (e.g., “verify facts”). |
| 5 | Post‑process & output | Format as JSON or plain text for UI. |
4. Testing Strategy
- Unit tests: Prompt generation, vector lookup.
- Integration test: End‑to‑end request → response cycle.
- Run tests nightly in a CI (GitHub Actions) if time permits.
5. Security & Rate‑Limiting
- Sanitize user input before sending to LLM (avoid injection attacks).
4️⃣ Day‑of‑Hack Checklist
| Time | Task |
|---|---|
| 0–30 min | Finalise repo, install deps, load env vars. |
| 30–60 min | Build minimal UI (CLI or web). |
| 1–2 h | Implement core agent loop & prompt templates. |
| 2–3 h | Wire vector store / RAG if chosen. |
| 3–4 h | Write unit tests for the most critical parts. |
| 4–5 h | Run integration test, debug. |
| 5–6 h | Prepare demo script; record or capture demo. |
| 6+ h | Polish README, add usage instructions, commit final changes. |
5️⃣ Post‑Hack
- Documentation – add a
docs/folder with architecture and prompt design. - License – choose MIT / Apache-2.0 if you want to share.
- Deploy (optional) – push to Render, Fly.io, or a Docker container on Heroku.
- Feedback loop – ask friends for usability testing; iterate.
🎉 Final Tips
- Keep it simple – you can always extend later.
- Version control – commit often; tag a “ready‑to‑demo” commit.
- Timeboxing – set 15‑min timers for each feature to avoid over‑engineering.
- Have fun – the best hacks happen when the team is laughing and learning.
Good luck with your hack day! 🚀