Skip to content
View SandiRidwan's full-sized avatar

Block or report SandiRidwan

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
SandiRidwan/README.md

pacman contribution graph

Snake animation Sandi Ridwan
Typing SVG
Terminal Typing

Bottom Line
---
class SandiRidwan:
    def __init__(self):
        self.role        = "Automation Architect & Data Pipeline Engineer"
        self.location    = "Palu, Central Sulawesi 🇮🇩"
        self.languages   = ["Python", "JavaScript", "SQL", "Bash"]
        self.stack       = ["FastAPI", "Playwright", "Docker", "MongoDB", "AWS"]
        self.specialties = [
            "Large-scale web scraping (50K–500K records)",
            "TLS fingerprint bypass & anti-bot evasion",
            "Government & legal data extraction",
            "Automation pipelines (Make.com, Zapier)",
            "AI-powered data processing (Claude API, Groq)"
        ]
        self.certifications = {
            "TestDome Python": "Top 10% Global 🥇",
            "TestDome SQL":    "Top 10% Global 🥇",
            "HackerRank SQL":  "Advanced ✅",
            "Harvard CS50P":   "Verified ✅",
            "IBM Data Analyst":"Professional Certificate ✅",
            "MongoDB":         "10 Skill Badges ✅",
            "Microsoft":       "Applied Skills: GitHub Actions ✅"
        }
        self.availability = "OPEN — Freelance & Remote Roles"

    def contact(self):
        return "sandyzvoster@gmail.com"
coding gif
Bottom Line

Space shooter contribution graph

Bottom Line

$ cat verified_skills.txt

🏅 Independently verified — not just self-reported

Banner
Platform Certification Result
TestDome Python 🥇 Top 10% Global
TestDome SQL 🥇 Top 10% Global
HackerRank SQL Advanced ✅ Passed
HackerRank SQL Intermediate ✅ Passed
HackerRank Python Basic ✅ Passed
HackerRank Problem Solving ✅ Passed
Harvard CS50's Python ✅ Verified
IBM Data Analyst ✅ 9 Courses
Microsoft GitHub Actions ✅ Lab-Based
MongoDB Full Stack ✅ Core → AI Agents
Bottom Line

Space shooter contribution graph

Bottom Line

$ credly --list-badges --user sandi-r

🏆 21 verified badges · Auto-updated daily · View all on Credly →

Credly Overview
Credly Badge Grid
Credly Timeline
Bottom Line

Space shooter contribution graph

Bottom Line

$ ls -la ./projects/

data processing gif

🏛️ P19 — Connecticut Court Scraper [$500]

224,000 court cases extracted from ASP.NET WebForms government portal. VIEWSTATE bypass, TLS fingerprint evasion, binary search range discovery, thread-safe parallel scraping. Delivered as 41.2MB 9-tab relational Excel.

Stack: Python · curl_cffi Chrome120 · ASP.NET VIEWSTATE · ThreadPoolExecutor · openpyxl

💊 P20 — SFDA Pharmaceutical API [Portfolio]

Production-grade FastAPI backend serving Saudi FDA drug data. Async job queue, StreamingResponse, Playwright request interceptor for hidden POST pagination. Dockerized with multi-stage build, healthcheck, Telegram progress alerts.

Stack: FastAPI · Playwright · Docker · SQLite · Telegram Bot API · curl_cffi

🏨 P21 — Agoda Hotel Scraper [Take-Home Test]

Playwright async response interceptor capturing room-grid API. Geo-IP currency lock workaround. Timezone-aware dynamic dates via ZoneInfo. GitHub Actions daily CI/CD. Full README documentation.

Stack: Playwright · Docker · GitHub Actions · zoneinfo · open.er-api.com

⚙️ P17 — Make.com B2B Automation [$250]

End-to-end lead pipeline: Calendly → Monday.com CRM sync → AI two-pass processing with Claude API + Groq. EU server config, webhook orchestration, structured output parsing.

Stack: Make.com · Calendly · Monday.com · Claude API · Groq (Llama 3.1)
Bottom Line

Space shooter contribution graph

Bottom Line

$ cat ./anti_bot_arsenal.md

hacker gif
┌─────────────────────────────────────────────────────┐
│  BYPASS TECHNIQUES — PROVEN IN PRODUCTION           │
├─────────────────────────────────────────────────────┤
│  ✓ TLS Fingerprint Bypass    curl_cffi Chrome120    │
│  ✓ JA3 Fingerprint Evasion   custom TLS profiles    │
│  ✓ ASP.NET VIEWSTATE         span-ID parser         │
│  ✓ Cloudflare WAF            undetected-chromedriver │
│  ✓ Kasada Anti-Bot           human-mimicry logic    │
│  ✓ hCaptcha / reCAPTCHA      3rd party solving      │
│  ✓ Dynamic JS Rendering      Playwright intercept   │
│  ✓ OTA Geo-IP Lock           currency workaround    │
│  ✓ Hidden API Discovery      network intercept      │
│  ✓ Pagination-less Sites     binary search pattern  │
└─────────────────────────────────────────────────────┘
Bottom Line

Space shooter contribution graph

Bottom Line

$ python3 tech_stack.py

Languages & Core

Python JavaScript SQL Bash

Scraping & Automation

Playwright Selenium Make.com Zapier

Backend & DevOps

FastAPI Node.js Docker GitHub Actions

Cloud & Data

AWS MongoDB SQLite

AI & LLMs

Claude API Groq

Bottom Line

Space shooter contribution graph

Bottom Line

$ git stats --global

Snake animation
Snake animation
Bottom Line

Space shooter contribution graph

Bottom Line

$ ./contact.sh

wave gif
#!/bin/bash
echo "Looking for a scraping specialist or automation engineer?"
echo ""
echo "  Upwork   → https://www.upwork.com/freelancers/~011f6d0fbb4a372974"
echo "  LinkedIn → https://www.linkedin.com/in/sandi-ridwan/"
echo "  Email    → sandyzvoster@gmail.com"
echo ""
echo "Availability : OPEN for freelance & remote roles"
echo "Timezone     : WIB (UTC+8) — Asia/Makassar"
echo "Response time: < 24 hours"
Bottom Line

Space shooter contribution graph

Bottom Line
"Turning raw web data into clean, profitable intelligence — one script at a time."
                                                              — Sandi Ridwan

Pinned Loading

  1. SandiRidwan SandiRidwan Public

    Config files for my GitHub profile.