Portfolio Ready

4 jam14 min baca
Tujuan

Polish project, bangun portfolio yang menonjol, ready untuk bootcamp + job hunt.

05 — Portfolio Ready

Estimasi: 4 jam Tujuan: Polish project, bangun portfolio yang menonjol, ready untuk bootcamp + job hunt.


Kenapa Materi Ini Penting?

Skill teknis baru jadi karir kalau ada yang lihat dan percaya. Banyak developer hebat menganggur karena tidak punya jejak digital — kerja keras 12 minggu jadi sia-sia kalau capstone-nya cuma di laptop. Junior LLM developer dengan portfolio rapi (GitHub bersih, README profesional, demo live, post LinkedIn berbobot) selalu menang dari junior dengan skill setara tapi tanpa visibility. Materi ini mengubah "saya bisa bikin RAG" jadi "saya sudah bikin RAG, ini link demonya, ini blog post penjelasannya, ini reaksi 50 orang yang nyobain". Itulah yang dibaca recruiter.


Strategi Portfolio: Project → README → Demo → Social

Cara Membaca Diagram:

  • Ungu = stage building project + dokumentasi (README, demo, screenshots).
  • Amber = stage distribution (deploy, LinkedIn, Twitter, blog).
  • Pink = stage profile + resume update.
  • Emerald = goal akhir: job applications.

Walkthrough Step-by-Step:

  1. Build project capstone yang berfungsi (foundation utama).
  2. Polish README dengan template profesional (problem, solution, demo link).
  3. Record demo video 2-3 menit (Loom/OBS).
  4. Capture screenshots high-res, annotated.
  5. Deploy live agar URL bisa diklik recruiter.
  6. Posting di LinkedIn (story format), Twitter (technical thread), Blog (deep-dive).
  7. Update GitHub profile (pin top 6 repo).
  8. Update resume dengan impact bullets.
  9. Apply ke posisi target.

Analogi Sehari-hari: Bayangkan kamu jualan produk hand-made. Bikin produk bagus saja tidak cukup — harus ada katalog (README), foto produk (screenshots), video unboxing (demo), pajangan di toko online (deploy), pamer di Instagram/Twitter (social), kartu nama profesional (resume), dan akhirnya tawarkan ke pembeli (apply).

Diagram statis Mermaid sebagai fallback:

flowchart LR
    P["🛠️ Build Project<br/>(capstone yang berfungsi)"] --> R["📝 Polish README<br/>(template profesional)"]
    R --> D["🎥 Record Demo<br/>(2-3 menit Loom/OBS)"]
    D --> SS["📸 Screenshots<br/>(annotated, high-res)"]
    SS --> DEP["🚀 Deploy Live<br/>(Streamlit Cloud / HF)"]
    DEP --> LP["💼 LinkedIn Post<br/>(story + tag + image)"]
    LP --> TP["🐦 Twitter Thread<br/>(technical breakdown)"]
    TP --> BP["✍️ Blog Post<br/>(Medium / Hashnode)"]
    BP --> GH["🐙 GitHub Profile<br/>(pin top 6)"]
    GH --> CV["📄 Resume update<br/>(impact bullets)"]
    CV --> J["🎯 Job applications"]

Tiap project capstone harus melalui semua step ini, bukan berhenti di "code di GitHub".


Bagian 1 — Polish Capstone

README yang Bagus

Template lengkap:

# Project Name

> One-liner pitch (1 kalimat menarik)

[![Demo](demo.gif)](https://your-link.com)

## 🎯 Problem

Problem yang diselesaikan project ini (2-3 kalimat).

## ✨ Solution

Bagaimana project ini menyelesaikan (2-3 kalimat).

## 🚀 Demo

🌐 **Live:** [Try it here](https://...)
🎥 **Video:** [Watch demo](https://...)

![Screenshot](screenshots/main.png)

## ✅ Features

- Feature 1
- Feature 2
- ...

## 🛠️ Tech Stack

- **Backend:** Python, LlamaIndex, Gemini API
- **Frontend:** Streamlit
- **Vector DB:** Chroma
- **Deployment:** Streamlit Cloud

## 🏗️ Architecture

\`\`\`
[diagram ASCII atau gambar]
\`\`\`

## 📦 Setup

\`\`\`bash
# Clone
git clone https://github.com/username/project.git
cd project

# Environment
conda create -n project python=3.11
conda activate project
pip install -r requirements.txt

# Config
cp .env.example .env
# Edit .env, isi API keys

# Run
streamlit run app.py
\`\`\`

## 📊 Results / Metrics

- Akurasi: X%
- Latency: Y ms
- Kapasitas: Z dokumen

## 🗺️ Roadmap

- [x] Basic RAG
- [x] Multi-document
- [ ] Hybrid search
- [ ] Multi-language
- [ ] Voice input

## 🤝 Contributing

PRs welcome! ...

## 📄 License

MIT

## 👤 Author

**Yazid** - [LinkedIn](https://...) • [GitHub](https://github.com/...) • [Portfolio](https://...)

Demo Video

Record dengan Loom atau OBS Studio (gratis):

  • 2-3 menit
  • Show core flow
  • Voiceover dalam Inggris (recommended) atau Indonesia
  • Upload ke YouTube unlisted, embed di README

Screenshots

Quality matters:

  • High resolution
  • Clean (hide irrelevant tabs)
  • Annotated (highlight key features)

Tools: ShareX, Snipping Tool, Lightshot.

Architecture Diagram

Pakai:

  • excalidraw.com — drawing style
  • mermaid — text-based, render in GitHub
  • draw.io — professional
graph LR
    A[User Upload] --> B[Document Parser]
    B --> C[Chunking]
    C --> D[Embedding]
    D --> E[Vector DB]
    F[User Query] --> G[Embedding]
    G --> E
    E --> H[Retrieved Chunks]
    H --> I[LLM]
    I --> J[Answer]

Analogi: README = Etalase Toko

Code yang bagus tapi README jelek = produk premium dipajang di kardus bekas. Recruiter rata-rata baca README 30 detik. Yang harus mereka tangkap dalam 30 detik itu:

  1. Apa project ini (one-liner)
  2. Live link (klik langsung mau coba)
  3. Tech stack (apakah relevan dengan posisi yang mereka bukak)
  4. Bukti project hidup (screenshot/video)

Kalau 4 hal itu hilang, mereka close tab.


Bagian 2 — GitHub Profile

Profile README

Buat repo bernama sama dengan username GitHub. README di repo ini muncul di profile page.

## Hi, I'm Yazid 👋

🎓 Computer Science student / AI enthusiast
🌱 Currently: Preparing for Dicoding GenAI Bootcamp (Aug 2026)
🔍 Focus: LLM applications, RAG systems, fine-tuning

### 🛠️ Stack

- **Languages:** Python (advanced), JavaScript (intermediate)
- **AI/ML:** PyTorch, scikit-learn, Hugging Face, LangChain, LlamaIndex
- **Tools:** Git, Docker (basic), VS Code

### 🚀 Featured Projects

🔹 **[Personal KB Assistant](https://github.com/yazid/personal-kb)** — RAG chatbot for personal documents
🔹 **[Indonesian Sentiment](https://github.com/yazid/indo-sentiment)** — Fine-tuned IndoBERT for sentiment analysis
🔹 **[Kaggle Titanic](https://github.com/yazid/kaggle-titanic)** — End-to-end ML project, top 30%

### 📚 Currently Learning

- Vector databases at scale
- Fine-tuning LLMs with LoRA
- Production LLM deployment

### 📫 Connect

- [LinkedIn](https://linkedin.com/in/yazid)
- [Twitter](https://twitter.com/yazid)
- Email: yazid@example.com

---

⚡ Fun fact: I learn AI from 3Blue1Brown and Karpathy. Yes, all of it.

Pin Repos

Pin 6 repo terbaik:

  1. Personal KB Assistant (capstone)
  2. Sentiment analyzer
  3. Kaggle project
  4. EDA showcase
  5. Prompt library
  6. Learning journey notes

Bagian 3 — LinkedIn Profile

Headline

❌ "Student" ✅ "AI/ML Engineer in Training | RAG Systems | Fine-tuning LLMs | Indonesia"

About

Maks 2000 karakter. Format:

🚀 Bangun aplikasi GenAI yang berdampak.

Saya adalah aspiring ML engineer dengan focus di LLM dan RAG systems. 
Saat ini sedang mempersiapkan diri untuk bootcamp Dicoding GenAI 
(Aug 2026) — sudah build 5+ project AI sebelum kelas dimulai.

🎯 Apa yang saya kerjakan:
- RAG chatbot untuk personal knowledge management
- Fine-tuning IndoBERT untuk sentiment analysis Bahasa Indonesia
- ML projects dengan dataset publik (Kaggle)
- Open source contribution

🛠️ Stack: Python, PyTorch, LangChain, LlamaIndex, HuggingFace, Streamlit

📚 Belajar dari: Andrej Karpathy, fast.ai, Anthropic, OpenAI

Open untuk:
- Internship AI/ML
- Kolaborasi project open source
- Diskusi LLM applications

Let's connect!

Experience / Projects Section

Add Project entries:

Project: Personal Knowledge Assistant
Description: Built RAG-based chatbot using LlamaIndex + Gemini API. 
             Features: multi-document support, source citation, 
             multilingual (ID + EN). Deployed on Streamlit Cloud.
Skills: Python, LlamaIndex, Gemini, Streamlit, Vector DB
Link: https://github.com/yazid/personal-kb

Posts (Penting untuk Visibility)

Posting 1-2x/minggu:

  • Learning insight
  • Project showcase
  • Discuss AI trend

Tips:

  • Pakai gambar/video
  • Cerita dulu, baru technical
  • Tag relevant people
  • Hashtag: #AI #MachineLearning #RAG #LLM #Indonesia

HR scout aktif di LinkedIn. Visibility = opportunity.


Bagian 4 — Twitter/X

Untuk AI community, Twitter masih powerful.

Diagram: Loop Build → Share → Network

flowchart LR
    B["🛠️ Build<br/>(progress harian)"] --> S["📢 Share<br/>(thread / screenshot)"]
    S --> E["💬 Engage<br/>(reply ke akun besar dengan substansi)"]
    E --> N["🤝 Network<br/>(DM, kolaborasi)"]
    N --> O["🎯 Opportunities<br/>(internship, freelance, hire)"]
    O -.feedback ide.-> B

Follow

  • @karpathy — Andrej Karpathy
  • @ylecun — Yann LeCun
  • @AndrewYNg — Andrew Ng
  • @sama — Sam Altman
  • @AnthropicAI
  • @GoogleAI
  • Akun AI Indonesia: @kata_ai, @bukalapak, dll

Posting Strategy

  • Threads untuk teknis content (mini blog post)
  • Quote tweet dengan opini saat ada paper/news
  • Build in public — share progress capstone
  • Reply ke akun besar dengan substansi

Goal: bukan jadi influencer, tapi build network di komunitas AI.


Bagian 5 — Blog (Optional but Powerful)

Platform:

  • Medium — easiest, audience built-in
  • Hashnode — developer-focused
  • Dev.to — tech community
  • Personal site dengan Jekyll/Hugo (max control)

5 Topik Blog Post Pertama

  1. "Persiapan Saya Sebelum Bootcamp Dicoding GenAI" — story journey 12 minggu
  2. "Bangun RAG Chatbot dari Nol dalam 1 Hari" — tutorial capstone
  3. "5 Pelajaran dari Karpathy 'Let's Build GPT'" — refleksi
  4. "Compare 3 Vector DB untuk RAG: Chroma vs Pinecone vs FAISS" — benchmark
  5. "Fine-tuning IndoBERT untuk Sentiment Analysis" — technical walkthrough

Format:

  • 1500-3000 kata
  • Code snippets
  • Screenshots/diagrams
  • Link ke project
  • CTA at end (subscribe, follow, hire)

Bagian 6 — Resume / CV

Format Pemula AI/ML

[Nama]
[Email] | [LinkedIn] | [GitHub] | [Portfolio]

SUMMARY
-------
Aspiring ML engineer with focus on LLM applications and RAG systems. 
5+ AI projects deployed. Self-taught with structured curriculum 
(3Blue1Brown, Karpathy, fast.ai). Preparing for Dicoding GenAI Bootcamp.

SKILLS
------
Languages:    Python (advanced), JavaScript (intermediate), SQL (intermediate)
ML/AI:        PyTorch, scikit-learn, HuggingFace, LangChain, LlamaIndex
Tools:        Git, Docker, Streamlit, FastAPI, VS Code
Databases:    PostgreSQL, ChromaDB, Pinecone

PROJECTS
--------
Personal Knowledge Assistant (May 2026)
- RAG chatbot for personal documents using LlamaIndex + Gemini API
- Features multi-doc support, source citation, deployed on Streamlit Cloud
- Tech: Python, LlamaIndex, Gemini, Streamlit, Chroma
- [github.com/yazid/personal-kb] | [Live demo]

Indonesian Sentiment Analyzer (Apr 2026)
- Fine-tuned IndoBERT achieving 85% F1 on IndoNLU SMSA dataset
- Deployed as REST API + Streamlit demo
- Tech: PyTorch, HuggingFace Transformers, FastAPI
- [github.com/yazid/indo-sentiment]

Kaggle Titanic Project (Mar 2026)
- End-to-end ML pipeline: EDA, feature engineering, ensemble modeling
- XGBoost + RF stacking, achieved top 30% submission
- Tech: pandas, scikit-learn, XGBoost
- [github.com/yazid/kaggle-titanic]

EDUCATION
---------
Universitas X | 2024 - present
Computer Science
Self-study: 3Blue1Brown Linear Algebra, Karpathy NN Zero to Hero

CERTIFICATIONS
--------------
- Dicoding "Belajar Dasar AI" (May 2026)
- Dicoding "Memulai Pemrograman dengan Python" (Jun 2026)
- Dicoding "Prompt Engineering" (Jun 2026)
- Kaggle "Intro to ML" (Jul 2026)

Yang penting: bullet points dengan impact, bukan job description generic.


Bagian 7 — Strategi Karir

Diagram: Jalur Karir Setelah Bootcamp

flowchart TD
    BC["🎓 Bootcamp Selesai<br/>(Feb 2027)"] --> Q{"Pilih jalur?"}
    Q --> J1["💼 Industri<br/>(Junior ML / AI Engineer)"]
    Q --> J2["💸 Freelance<br/>(Upwork / Fiverr / klien lokal)"]
    Q --> J3["🚀 Build Product<br/>(SaaS, indie hacker)"]
    Q --> J4["🎓 Lanjut Belajar<br/>(S2, riset, OSS)"]
    J1 -.boleh switch.-> J2
    J2 -.boleh switch.-> J3
    J3 -.boleh switch.-> J1
    J4 -.boleh switch.-> J1

Selama Bootcamp (Aug 2026 - Feb 2027 estimated)

  • Aktif di kelas (sudah dibahas)
  • Build capstone yang menonjol
  • Networking dengan teman + mentor expert
  • Posting progress di LinkedIn

Setelah Bootcamp

Jalur 1: Industri (Karyawan)

  • Apply ke posisi:
    • Junior ML Engineer
    • AI Engineer
    • Data Scientist
  • Target perusahaan: startup AI Indonesia + remote international
  • Resources: LinkedIn Jobs, Glints, Kalibrr, Wellfound

Jalur 2: Freelance / Consulting

  • Mulai dari project kecil di Upwork, Fiverr
  • Spesialisasi: integrasi LLM, automation, custom RAG
  • Bangun klien dari network LinkedIn

Jalur 3: Build Product

  • Bikin SaaS sendiri (e.g., RAG-as-a-Service untuk SMB)
  • Indie hacker route
  • Resources: indiehackers.com, ProductHunt

Jalur 4: Continue Belajar

  • Master / S2 di luar negeri
  • Jadi researcher
  • Open source maintainer

Banyak yang beralih jalur. Tidak harus pilih sekarang. Yang penting: build, ship, iterate.


Bagian 8 — Mental Game

Imposter Syndrome

Akan datang. Saat lihat teman lebih advanced, atau saat reject email.

Strategi:

  • Bandingkan dengan diri sendiri 6 bulan lalu, bukan orang lain
  • Continue ship — output is the antidote
  • Find mentor / peer support

Konsistensi > Intensitas

12 minggu kamu konsisten + bootcamp 6 bulan + 1 tahun karir = 2 tahun consistent effort. Kebanyakan orang tidak bertahan ini.

Kunci:

  • Daily journal (jangan stop)
  • Weekly review
  • Monthly retrospective

Final Checklist Sebelum Bootcamp Mulai

Technical Skills

  • Python solid (OOP, advanced, libraries)
  • Math intuition (vektor, gradient, statistik)
  • NumPy/Pandas lancar
  • ML klasik (sklearn pipeline)
  • Deep learning basics (PyTorch)
  • Transformer paham konsep
  • HuggingFace bisa pakai
  • LLM API integration
  • RAG end-to-end build

Output

  • 8+ repo di GitHub
  • 1 capstone deployed
  • Demo video
  • LinkedIn profile profesional
  • 80+ jurnal harian
  • 200+ Anki cards
  • Sertifikat Dicoding gratis (3 kelas)
  • Min 1 Kaggle submission

Network

  • Follow 10+ AI accounts di Twitter
  • Join 2+ AI community
  • Posting LinkedIn min 5x
  • (Bonus) Tulis 1 blog post

Mental

  • Sistem belajar yang sustainable
  • Bisa mengelola burnout
  • Punya support system
  • Goal jelas pasca-bootcamp

Common Mistakes & FAQ Portfolio

Mistake 1: Pin Repo "tutorial-clone"

GitHub profile yang ke-pin: react-tutorial, flask-todo, python-basics. Recruiter langsung tahu kamu cuma ngikut tutorial. Pin project original atau fork yang kamu modifikasi signifikan.

Mistake 2: README Cuma 1 Paragraf

# my-rag-bot
A RAG bot built with LangChain.

Itu bukan README, itu commit message. Pakai template lengkap (lihat Bagian 1).

"Clone repo, install dependencies, set API key, run streamlit..." — tidak akan ada recruiter yang lakukan itu. Selalu sediakan live URL.

Mistake 4: Demo Video Panjang

10 menit voice-over panjang yang isinya "ini saya import library...". Demo video = 2-3 menit, focus user value, bukan code walkthrough.

Mistake 5: LinkedIn Headline Generik

"Computer Science Student | Passionate about Technology" = invisible. Spesifik: "Junior LLM Developer | RAG Systems | Python | Open to internship".

Mistake 6: Posting Cuma "Just finished X"

Post tanpa konteks gak menarik. Format yang work: problem → struggle → solution → lesson. Tag orang yang inspirasi kamu, lampirkan screenshot/video.

Mistake 7: Skip Resume Update

Punya project keren tapi resume masih bullet "Familiar with Python and Java". Bullet impact: "Built RAG chatbot serving 50+ users with 200ms p50 latency, deployed on Streamlit Cloud".

FAQ

Q: Saya belum punya pengalaman kerja, gimana isi section Experience? A: Pakai section Projects sebagai pengganti. Bullet impact-driven, sertakan link GitHub + live demo.

Q: Posting LinkedIn dalam Bahasa Indonesia atau Inggris? A: Untuk audience HR Indonesia, ID lebih dekat. Untuk visibility internasional, EN. Kompromi: judul ID, body bisa campur, comment dalam bahasa yang sama dengan komentator.

Q: Berapa banyak project minimum di portfolio? A: 3 project polished (deployed + README rapi + demo) > 10 project setengah jadi. Quality > quantity.

Q: Boleh fork project orang lain dan pajang di portfolio? A: Boleh, kalau kamu modifikasi signifikan dan jelas nyebut original-nya di README. Murni fork tanpa kontribusi = red flag.

Q: Kapan mulai apply kerja? A: Idealnya saat masih bootcamp (4-6 bulan jelang lulus). Tidak harus tunggu sertifikat. Junior LLM developer langka, tim hiring sering agresif.

Q: Demo videoku malu-maluin (audio jelek, English aksen). Tetap upload? A: Iya. Audience portfolio bukan native English. Yang penting: substansi project ditangkap. Ship > polish.


Pesan Penutup

Kamu menyelesaikan 12 minggu intensif sebelum bootcamp dimulai. Yang sebagian besar orang tidak lakukan.

Bootcamp Dicoding GenAI akan 6 bulan. Tapi kamu sudah bukan orang biasa di kelas itu — kamu adalah orang yang sudah build 8+ project, deploy 1 capstone, dan punya pemahaman konseptual yang dalam.

Saat sesi pertama bootcamp:

  • Mentor akan kenal kamu sebagai siswa serius
  • Teman akan tanya saran ke kamu
  • Tugas-tugas awal kamu kerjakan dengan tenang
  • Capstone akhir kamu sudah punya draft

Itulah kompetensi, bukan sekedar pengetahuan.


Refleksi Akhir

Tulis di learning-journal/refleksi-akhir.md:

  1. Highlight 12 minggu — apa moment paling memorable?
  2. Skill yang berkembang — quantify kalau bisa
  3. Mistake yang dipelajari — apa yang akan kamu lakukan beda?
  4. Goal di bootcamp — spesifik dan terukur
  5. Long-term vision — 2-3 tahun ke depan, kamu mau di mana?

Push ke GitHub. Saat selesai bootcamp nanti, baca lagi. Kamu akan kaget liat progress.


Selanjutnya: Mulai bootcamp dengan kepercayaan diri. Saya bangga dengan kamu.

🚀 Selamat berjuang!