BIPPER MEDIA — INTERNSHIP PROGRAM

AI Agent Engineer — 12-Week Internship Roadmap

A practical, full-time internship focused on building production-ready AI agents in JavaScript, hosting them on your own VPS, and connecting them to real channels — web, Telegram, and WhatsApp.

Candidate: Sumiya Sultana Duration: 12 weeks Track: AI Agent Engineer (Self-Hosted, JavaScript) Mode: Hybrid, full-time

Why this track for you

Bipper Media's products are built primarily in JavaScript and TypeScript. Starting on that stack will let you read, understand, and contribute to the codebase from your first day of production work in Phase 3.

On top of the language, you will learn the full self-hosted AI stack — renting a VPS, running open-source LLMs with Ollama, operating Open WebUI for browser access, and writing AI agents that respond on web, Telegram, and WhatsApp. These are skills employers and clients are actively paying for today.

Candidate Profile

Degree
B.Sc. CSE, North South University
Status
Graduated — awaiting results
Strength
Python, ML, Research
Availability
30–40 hrs/week, immediate
Notable
IEEE publication, multimodal CV research
Long-Term Goal
International career foundation

Marketable Skills You Will Walk Away With

Modern JavaScript & TypeScript
The language of Bipper Media and most production AI tooling.
Renting & Managing a Linux VPS
SSH, Nginx, Docker, SSL — the basics any cloud engineer needs.
Self-Hosting Open-Source LLMs
Ollama with Llama 3, Qwen 2.5, Mistral — no API bills, full privacy.
Open WebUI Administration
Browser AI chat with multi-user access, model switching, prompt library.
Telegram Bot Development
Production-quality Telegram bots driven by your own AI agent.
WhatsApp Bot Integration
Two-way messaging bridges using Baileys or the WhatsApp Cloud API.
RAG & Tool-Using Agents
Agents that look things up, call tools, and stay grounded.
Real-Product Contribution
Shipped pull requests in a live Bipper Media product.

The Stack You Will Learn

Language
JavaScript / TypeScript
Runtime & Framework
Node.js, Hono
Server
VPS (Ubuntu)
Reverse Proxy & SSL
Nginx, Let's Encrypt
Containerisation
Docker, Compose
LLM Serving
Ollama
Open-Source Models
Llama 3, Qwen 2.5, Mistral
Browser AI UI
Open WebUI
Telegram
grammY
WhatsApp
Baileys
Vector Store
Qdrant
Observability
Langfuse (self-hosted)

Programme Structure

Three phases, twelve weeks, progressing from JavaScript foundations to a live multi-channel AI agent in production

Phase 1 — Weeks 1-4
JavaScript & VPS Foundations
TypeScript, Node.js + Hono, REST & webhooks, renting and securing your VPS.
Phase 2 — Weeks 5-8
Self-Hosted AI on Your VPS
Ollama, Open WebUI, AI agents in TypeScript, memory and tool use.
Phase 3 — Weeks 9-12
Real-World Integrations
Telegram, WhatsApp, a unified web channel, and capstone in a Bipper Media product.
Weekly format: every week contains (1) Learning with curated resources, (2) a Mini-Project applied within the week, and (3) a Graded Assignment submitted to your mentor with deliverables. Estimated load: 30–40 hours weekly.
P1
W1-4

Phase 1 — JavaScript & VPS Foundations

Build the language and infrastructure base. By the end of Phase 1, you will have your own working server.

Week 1 JavaScript & TypeScript Essentials
Goal: read, write, and run typed JavaScript with confidence — the language Bipper Media uses.
L Learning
  • Modern JavaScript syntax: let/const, arrow functions, destructuring, spread
  • Modules (import / export), npm, and project structure
  • Async JavaScript: promises, async/await, error handling
  • TypeScript: types, interfaces, generics, tsconfig.json
  • Comparison with Python (your strength) — what is similar, what is different
P Mini-Project
Typed CLI Calculator
Build a command-line calculator in TypeScript that takes two numbers and an operator (+ − × ÷) and prints the result. Use strict types and proper error handling for invalid input.
TypeScriptNode.js
A Weekly Assignment
Typed Notes CLI
A CLI notes manager: add, list, view, delete notes; persist to notes.json. Define interface Note (id, title, body, createdAt). Handle every error path cleanly. No any types.
Submit: GitHub repository with README + a short Loom (5 min) demonstrating the CLI + a written comparison (5 lines) between Python and TypeScript for this task.
Week 2 Node.js & the Hono Framework
Goal: build REST APIs using the same framework Bipper Media uses in production.
L Learning
  • The Node.js runtime, npm, and basic dependency management
  • REST principles: methods (GET POST PUT DELETE), status codes, JSON
  • The Hono framework: routing, middleware, request and response objects
  • Reading request bodies, query parameters, and headers
  • Environment variables and basic error handling
P Mini-Project
“Quote of the Day” Hono API
A Hono app with GET /quote returning a random quote from a static list and POST /quote letting a user add a new quote (kept in memory).
HonoTypeScript
A Weekly Assignment
Notes REST API
Convert your Week 1 Notes CLI into a Hono REST API: GET /notes, POST /notes, GET /notes/:id, PUT /notes/:id, DELETE /notes/:id. Persist to a JSON file. Return correct status codes. Test every endpoint with Postman or curl.
Submit: GitHub repository + a Postman collection (JSON export) demonstrating each endpoint working.
Week 3 Webhooks, Integrations, and External APIs
Goal: understand how services talk to each other in real time, in preparation for Telegram and WhatsApp in Phase 3.
L Learning
  • What a webhook is, and how it differs from polling
  • Receiving webhooks: POST bodies, verification, idempotency
  • Calling external APIs from Node.js with fetch
  • Reading API documentation effectively
  • Local webhook testing with ngrok or Cloudflare Tunnel
P Mini-Project
Webhook Echo Service
A Hono endpoint POST /hook that accepts any JSON body, logs it, and returns it back. Expose it to the internet via ngrok and send test webhooks from Postman.
Honongrok
A Weekly Assignment
GitHub Webhook Listener
Configure a real GitHub repository to send webhooks to your local API. When a push or issue event arrives, save it to a local JSON file. Add GET /events to list the last 20 events.
Submit: GitHub repository of the listener + a screenshot of the GitHub webhook delivery log showing successful receipts.
Week 4 Your First VPS
Goal: rent your own Linux server and deploy your code to it — the foundation for everything in Phase 2 and 3.
L Learning
  • What a VPS is and how to rent one (Hetzner CX22, DigitalOcean, Contabo)
  • SSH basics: keys, ~/.ssh/config, secure login
  • Linux essentials: cd ls cp mv, package manager (apt), sudo
  • Firewall basics with ufw
  • Installing Node.js, Nginx as reverse proxy, free SSL with Let's Encrypt
P Mini-Project
“Hello, Sumiya” on a Real Domain
Rent a small VPS, configure SSH key authentication, deploy a tiny Hono server, place Nginx in front, point a real (free) subdomain at it, and add SSL. The final result is a real HTTPS URL serving a page that says "Hello, Sumiya".
VPSNginxSSL
A Weekly Assignment
Production-Deployed Notes API
Deploy your Week 2 Notes REST API to the same VPS, running under pm2 or Docker, behind Nginx, with HTTPS, on a real subdomain. Add basic auth or an API key.
Submit: Live HTTPS URL + GitHub repository + a 1-page document with the steps you took and lessons learned.
P2
W5-8

Phase 2 — Self-Hosted AI on Your VPS

Run your own LLMs, expose them through Open WebUI, and build your first AI agents in TypeScript.

Week 5 Install & Operate Ollama on Your VPS
Goal: have a real open-source language model running on a server you control.
L Learning
  • What Ollama is and how it differs from OpenAI / Anthropic APIs
  • Choosing a model: parameters (3B, 7B, 13B) vs RAM / disk / latency
  • Installing Ollama on Ubuntu, running it as a background service
  • Pulling models: llama3.2:3b, qwen2.5:7b, mistral
  • The Ollama HTTP API: /api/chat, /api/generate
P Mini-Project
First Local Chat from CLI
Install Ollama on your VPS, pull two models, and have a short interactive chat with each from the command line. Note response times and quality differences.
OllamaUbuntu
A Weekly Assignment
Secured Ollama API Endpoint
Place Ollama behind Nginx with HTTPS and a shared-secret header so only your machine can call it. Demonstrate that without the secret, the endpoint refuses. Call it from your laptop using a small Node script and print the response.
Submit: Nginx config + Node script repository + a screen recording (5 min) showing the call working and failing as expected.
Week 6 Open WebUI — Browser-Based AI Workspace
Goal: a polished browser interface to your self-hosted models, ready to give to teammates or clients.
L Learning
  • What Open WebUI is — an open-source ChatGPT-style interface for any local LLM
  • Installing Open WebUI via Docker Compose alongside Ollama
  • Configuring user accounts, roles, and access controls
  • Multiple models in one workspace, default system prompts, prompt library
  • Setting up document upload / RAG inside Open WebUI
P Mini-Project
Open WebUI Live for Your Team
Install Open WebUI on your VPS via Docker Compose, connect it to your Ollama, and make it available at a real HTTPS subdomain (for example chat.your-domain). Create an admin account.
Open WebUIDockerNginx
A Weekly Assignment
Production-Ready Open WebUI Workspace
Configure Open WebUI for real team use: at least three models available, a "company policy" system prompt, two prompt presets (e.g. "Translator", "Summariser"), a non-admin user account, and document RAG enabled with two PDFs you uploaded.
Submit: Live HTTPS URL + an Admin Guide PDF (1 page) covering how to add users, switch models, and update prompts.
Week 7 AI Agents in TypeScript
Goal: write agents in TypeScript that call your self-hosted LLM — the pattern used at Bipper Media.
L Learning
  • The agent pattern: input → reason with LLM → act → observe → loop
  • Calling Ollama from Hono with fetch
  • Prompt templates and structured output (JSON mode)
  • Validating LLM output with zod
  • Retries, timeouts, and graceful failure
P Mini-Project
Intent Classifier Agent
A Hono endpoint that accepts a customer message and returns { intent: "sales" | "support" | "spam", confidence: number, summary: string }. Use your VPS Ollama, validate the output with zod, and retry once if validation fails.
HonoOllamazod
A Weekly Assignment
FAQ Q&A Agent (Server)
Build an FAQ Q&A backend in TypeScript: a list of ~10 FAQs stored on disk, an endpoint POST /ask that picks the closest FAQ (simple keyword match is fine), and uses the local LLM to phrase a friendly answer. Polite escalation when no FAQ matches. Deploy it on your VPS at an HTTPS subdomain.
Submit: Live URL + GitHub repository + a Loom (5 min) demonstrating it answering three questions, including one out-of-scope.
Week 8 Memory, Tools, and Simple RAG
Goal: agents that remember conversations, call tools, and answer over real documents.
L Learning
  • Conversation history: storing and replaying messages
  • Embeddings with Ollama (nomic-embed-text or bge-m3)
  • Setting up Qdrant via Docker on your VPS
  • Tool / function calling with local models
  • Designing safe, deterministic tools
P Mini-Project
Conversational FAQ Agent
Extend your Week 7 FAQ agent so it keeps a per-user conversation history (in a SQLite or JSON file) and uses the prior turns as context for the next answer.
SQLiteHonoOllama
A Weekly Assignment
Tool-Using Research Agent
Build an agent backend with two tools: search_wikipedia (call the Wikipedia API) and calculator. The agent reads a user question, decides which tools to call, and produces a final answer with sources. Maximum 5 tool calls per question. Deploy on your VPS.
Submit: Live URL + GitHub repository + a Loom (5 min) showing two example questions where the agent uses both tools.
P3
W9-12

Phase 3 — Real-World Integrations & Bipper Production

Put your agent in front of real users on Telegram, WhatsApp, and inside a Bipper Media product.

Week 9 Telegram Bot Powered by Your AI Agent
Goal: a real Telegram bot, on a real account, answering live messages from your VPS agent.
L Learning
  • Creating a bot with @BotFather, getting the bot token
  • The Telegram Bot API: webhooks vs long-polling
  • The grammY framework for TypeScript
  • Receiving messages, sending replies, handling commands
  • Storing per-user conversation context
P Mini-Project
Echo Telegram Bot
Create a Telegram bot that echoes any text message back. Deploy it on your VPS and verify it works from a real Telegram chat.
TelegramgrammY
A Weekly Assignment
Bridge Telegram ↔ Your AI Agent
Connect your Week 8 tool-using agent to Telegram. Each incoming Telegram message becomes a question to the agent; the agent's answer is sent back. Add /reset to clear conversation history and /help to list capabilities.
Submit: Bot username + GitHub repository + a Loom (5 min) chatting with your bot live in Telegram, including a tool-using question.
Week 10 WhatsApp Bot Integration
Goal: the same agent now answering on WhatsApp — one of the most demanded skills today.
L Learning
  • WhatsApp integration options: Baileys (open source, free) vs WhatsApp Cloud API (Meta official)
  • Baileys: pairing with a dedicated WhatsApp account via QR code
  • Receiving and sending messages, media, and templates
  • Session persistence and reconnection handling
  • Compliance and rate-limit awareness
P Mini-Project
WhatsApp “Hello” Bot
Using Baileys (or Cloud API if available), connect a test WhatsApp account from your VPS, and reply to any incoming message with "Hello, this is an AI bot." Make sure the session survives a restart.
BaileysVPS
A Weekly Assignment
Bridge WhatsApp ↔ Your AI Agent
Connect the same Week 8 agent to WhatsApp. Critically, share one conversation memory store between Telegram (Week 9) and WhatsApp — so a user who started a chat on Telegram can continue it on WhatsApp seamlessly.
Submit: GitHub repository + a Loom (5 min) showing a single conversation that begins in Telegram and continues correctly in WhatsApp.
Week 11 Unified Web Channel & Multi-Channel Architecture
Goal: one backend, three channels (Web, Telegram, WhatsApp), one consistent agent.
L Learning
  • Designing a single agent core with channel-specific adapters
  • Building a minimal web chat widget that talks to your backend
  • Cross-channel user identity (mapping Telegram, WhatsApp, web users)
  • Rate limiting and abuse handling
  • Self-hosted observability with Langfuse
P Mini-Project
Simple Web Chat Widget
Build a one-page web chat interface that talks to your agent backend. Hosted on your VPS at chat.your-domain.
HTMLJavaScriptHono
A Weekly Assignment
One Agent, Three Channels, Full Observability
Refactor your stack so that one agent core handles requests from Web, Telegram, and WhatsApp. Add self-hosted Langfuse and trace every conversation turn. Demonstrate that a single user can move between channels and that every step appears in Langfuse.
Submit: Live web chat URL + GitHub repository + Langfuse trace screenshots + an architecture diagram (1 page).
Week 12 Capstone — Self-Hosted AI Agent in a Bipper Media Product
Goal: ship your work inside a real product, end to end, and present it to the team.
L Learning
  • Bipper Media codebase orientation (provided by the team)
  • Identifying where a self-hosted AI agent can add value
  • The team's PR template, review process, and feature flags
  • Writing a clear runbook for the next engineer
  • Presenting engineering work to a non-technical audience
P Mini-Project
Capstone — Self-Hosted AI Feature for Bipper
With your mentor, scope a small but complete self-hosted AI feature inside an existing Bipper Media product. Examples: a Telegram support bot for one of our SaaS products, a WhatsApp lead-qualification agent, or a multi-channel content-review assistant. Use your VPS, your self-hosted models, and the agent core you built across the programme.
TypeScriptHonoOllamaTelegramWhatsAppVPS
A Final Assignment
Capstone Delivery & Presentation
Ship the capstone behind a feature flag, monitored in Langfuse. Deliver a 20-minute presentation to the engineering team covering: the business problem, the architecture, the trade-offs (cost vs cloud, privacy, latency), what you would do differently, and what you want to learn next.
Submit: Merged PR + slides + a written retrospective (1 page) on the full 12-week programme.

Programme Expectations

How to succeed in this internship

Weekly Mentor Check-In

Each Monday you will have a 30-minute check-in with your mentor (Md Rafiqul Islam). Bring the previous week's assignment, your questions, and your plan for the week ahead.

Hardware & Hosting

A small VPS (around 2 vCPU, 4–8 GB RAM) is sufficient for Phase 1 and Phase 2. From Week 5, you will use that VPS as your AI server. Bipper Media will cover VPS hosting costs for the duration of the internship.

Submission Quality Matters

Each assignment is evaluated on three criteria: it works, the code is clean and readable, and the README is clear enough for another engineer to reproduce your work. We prefer small polished work over large messy work.

Ask Questions Early

Being stuck on a single problem for more than thirty minutes is a signal to ask for help. There is no penalty for asking — it is expected, especially in the first month.

Use AI Tools, But Understand Every Line

You may use ChatGPT and Claude to learn and to scaffold code. However, you are responsible for every line of code you submit — if you cannot explain it in the weekly check-in, it counts as incomplete.

Build a Public Portfolio

Keep your work in public GitHub repositories. By Week 12, your GitHub profile should show twelve weeks of consistent, well-documented self-hosted AI work — a strong asset for the international career you mentioned.