By Sagar Shankaran, Founder of CallSphere
Five carefully chosen portfolio projects that showcase agentic AI skills employers actually look for, with guidance on documentation, deployment, and presenting your work on GitHub.
Key takeaways
Most developer portfolios fail for the same reason: they showcase tutorials repackaged as projects. A hiring manager reviewing your GitHub can instantly tell the difference between a tutorial follow-along and a project where you made real engineering decisions.
A strong agentic AI portfolio demonstrates five capabilities: tool integration, multi-agent orchestration, error handling, production deployment, and evaluation. The five projects below are designed so that each one highlights a different capability.
What it demonstrates: Tool integration, structured output, error recovery.
flowchart LR
INPUT(["User intent"])
PARSE["Parse plus<br/>classify"]
PLAN["Plan and tool<br/>selection"]
AGENT["Agent loop<br/>LLM plus tools"]
GUARD{"Guardrails<br/>and policy"}
EXEC["Execute and<br/>verify result"]
OBS[("Trace and metrics")]
OUT(["Outcome plus<br/>next action"])
INPUT --> PARSE --> PLAN --> AGENT --> GUARD
GUARD -->|Pass| EXEC --> OUT
GUARD -->|Fail| AGENT
AGENT --> OBS
style AGENT fill:#4f46e5,stroke:#4338ca,color:#fff
style GUARD fill:#f59e0b,stroke:#d97706,color:#1f2937
style OBS fill:#ede9fe,stroke:#7c3aed,color:#1e1b4b
style OUT fill:#059669,stroke:#047857,color:#fff
Build an agent that ingests documents (PDF, DOCX, images), extracts structured data, and stores results in a database. The agent should handle malformed inputs gracefully and provide confidence scores for each extraction.
from agents import Agent, Runner, function_tool
from pydantic import BaseModel
class InvoiceData(BaseModel):
vendor_name: str
invoice_number: str
total_amount: float
line_items: list[dict]
confidence: float
@function_tool
def extract_text_from_pdf(file_path: str) -> str:
"""Extract raw text from a PDF document."""
import pdfplumber
with pdfplumber.open(file_path) as pdf:
return "\n".join(page.extract_text() or "" for page in pdf.pages)
@function_tool
def save_to_database(data: dict) -> str:
"""Save extracted invoice data to the database."""
# Database insertion logic
return f"Saved invoice {data['invoice_number']}"
extraction_agent = Agent(
name="invoice_extractor",
instructions="""Extract structured invoice data from documents.
Always include a confidence score between 0 and 1.
If critical fields are missing, set confidence below 0.5.""",
tools=[extract_text_from_pdf, save_to_database],
output_type=InvoiceData,
)
Why this impresses: It solves a real business problem, handles edge cases, and produces structured output — not just text.
What it demonstrates: Handoffs, agent specialization, conversation management.
Hear it before you finish reading
Talk to a live CallSphere AI voice agent in your browser — 60 seconds, no signup.
Build a support system with a triage agent that routes to specialized agents (billing, technical, account management). Each specialist should have access to different tools and maintain conversation context across handoffs.
Key features to implement: escalation to human agents, sentiment detection for priority routing, and conversation summarization when handing off between agents.
What it demonstrates: Multi-step reasoning, web interaction, information synthesis.
Build an agent that takes a research question, searches multiple sources, cross-references findings, and produces a structured report with citations. Include a guardrail that detects and flags potentially unreliable sources.
from agents import Agent, InputGuardrail, GuardrailFunctionOutput
@InputGuardrail
async def validate_research_scope(ctx, agent, input_text):
"""Reject queries that are too broad or too narrow."""
validator = Agent(
name="scope_validator",
instructions="""Evaluate if this research query is appropriately scoped.
Too broad: 'Tell me about AI'
Too narrow: 'What is the hex color of the OpenAI logo'
Well-scoped: 'Compare transformer and SSM architectures for long-context tasks'""",
output_type=ScopeValidation,
)
result = await Runner.run(validator, input_text)
return GuardrailFunctionOutput(
output_data=result.final_output,
tripwire_triggered=not result.final_output.is_valid,
)
What it demonstrates: Production deployment, webhook handling, real-world integration.
Build an agent that listens for GitHub pull request webhooks, analyzes code changes, and posts review comments. Deploy it as a containerized service with proper logging and rate limiting.
This project is powerful because the reviewer can see it working on your own repositories — it is a self-demonstrating portfolio piece.
Still reading? Stop comparing — try CallSphere live.
CallSphere ships complete AI voice agents per industry — 14 tools for healthcare, 10 agents for real estate, 4 specialists for salons. See how it actually handles a call before you book a demo.
What it demonstrates: Engineering maturity, testing methodology, metrics thinking.
Build a framework that evaluates agent performance across dimensions like task completion rate, tool selection accuracy, cost efficiency, and response quality. Include comparison dashboards.
# Evaluation harness structure
class AgentEvaluator:
def __init__(self, agent: Agent, test_cases: list[TestCase]):
self.agent = agent
self.test_cases = test_cases
async def run_evaluation(self) -> EvaluationReport:
results = []
for case in self.test_cases:
start = time.time()
result = await Runner.run(self.agent, case.input)
elapsed = time.time() - start
results.append(EvalResult(
test_case=case,
output=result.final_output,
latency=elapsed,
token_usage=result.usage,
passed=case.validate(result.final_output),
))
return EvaluationReport(results=results)
Each project README should include: problem statement, architecture diagram, setup instructions, example usage, design decisions, and limitations. Never omit the limitations section — it signals maturity.
Deploy at least two of the five projects. A live demo removes all doubt about whether the code actually works. Use free or low-cost platforms: Railway, Fly.io, or a small VPS. For agent projects with API costs, add a rate limiter and a demo mode that uses cached responses.
Pin your five best agent projects. Write a profile README that summarizes your agentic AI focus and links to your deployed demos. Use consistent naming conventions and ensure every repo has a clear README with an architecture diagram.
Five focused projects that each demonstrate a different skill beat twenty small scripts. Depth matters more than breadth. Each project should be substantial enough that you can discuss design trade-offs for fifteen minutes in an interview.
#Portfolio #Projects #Career #GitHub #AIEngineering #AgenticAI #LearnAI

Written by
Sagar Shankaran· Founder, CallSphere
LinkedInSagar Shankaran is the founder of CallSphere, where he builds production AI voice and chat agents deployed across healthcare, hospitality, real estate, and home services. He writes about agentic AI, LLM engineering, and shipping voice agents that handle real calls in production.
See how AI voice agents work for your industry. Live demo available -- no signup required.
A clean before/after of agent architecture in 2026. The control loop moved from your framework code into the model's reasoning chain. What that looks like.
Google's May 2026 MCP 1.0 + A2A developers guide is the cleanest protocol picker we have seen. The takeaways, in plain English, with a CallSphere lens.
Workspace Studio puts a Gemini-powered AI agent builder inside Google Workspace. A walkthrough of what it does, who it is for, and where it fits in 2026.
Gemini 3.1 Ultra ships with a 2-million token context window and full text, image, audio, and video multimodality. What changes and how to build for it.
A 'did the agent answer correctly?' pass/fail hides broken tool calls, wasted tokens, and silent retries. Here is how to evaluate intermediate steps.
Run offline evals as a CI gate. GitHub Actions wiring, threshold gates, LangSmith Experiments, and how to block merges on agent regression — with real YAML.
© 2026 CallSphere Inc. All rights reserved.
Made within San Francisco
Watch how CallSphere handles real customer calls, schedules appointments, and processes payments — live.
Try Live DemoBook a DemoCalculate Your ROI