Skip to content
View Ilhamnofaldi's full-sized avatar

Highlights

  • Pro

Block or report Ilhamnofaldi

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
Ilhamnofaldi/README.md

wave Hi, I'm Ilham Nofaldi


About Me

Coding animation

name: Ilham Nofaldi
role: Junior Software Engineer — Backend & Cloud
location: Jakarta x Padang, Indonesia
education: Information Systems, Universitas Andalas
focus:
  - Backend Engineering
  - Cloud Computing
  - REST API Development
  - Data Pipeline Automation
  - Process-to-System Design
open_to:
  - Backend Engineer Internship
  - Junior Backend Engineer
  - Software Engineer Backend
  - Cloud Engineer Internship
  - Small freelance backend/cloud projects

I build backend systems by first understanding the real process problem, then designing the API, database model, access control, automation, and cloud deployment around it.

My strongest proof so far is TALAS, a Bangkit Company Track capstone project selected as Best Team, where I worked as a cloud architect and backend engineer using Node.js, Express, Docker, Google App Engine, Cloud SQL, and Cloud Scheduler.


Engineering Positioning

flowchart TB
    P(["Ilham Nofaldi<br/>Junior Software Engineer<br/>Backend and Cloud"])

    subgraph B["Backend Engineering"]
        B1["REST API"]
        B2["Authentication"]
        B3["RBAC"]
        B4["MVC Architecture"]
        B5["API Documentation"]
    end

    subgraph C["Cloud Computing"]
        C1["Google Cloud"]
        C2["App Engine"]
        C3["Cloud SQL"]
        C4["Cloud Scheduler"]
        C5["Docker"]
    end

    subgraph D["Data and Automation"]
        D1["Scheduled Crawling"]
        D2["SQL Modeling"]
        D3["ML Inference Integration"]
        D4["Workflow Automation"]
    end

    subgraph T["Product Thinking"]
        T1["Root Cause Analysis"]
        T2["Internal Tools"]
        T3["Real User Problems"]
        T4["Maintainable Delivery"]
    end

    P --> B
    P --> C
    P --> D
    P --> T

    classDef core fill:#020617,stroke:#38bdf8,color:#e0f2fe,stroke-width:2px;
    classDef group fill:#0f172a,stroke:#38bdf8,color:#f8fafc,stroke-width:2px;
    classDef item fill:#1e293b,stroke:#64748b,color:#f8fafc,stroke-width:1px;

    class P core;
    class B,C,D,T group;
    class B1,B2,B3,B4,B5,C1,C2,C3,C4,C5,D1,D2,D3,D4,T1,T2,T3,T4 item;
Loading

How I Build Systems

flowchart LR
    A["Real Process Problem"] --> B["Requirement and Flow Analysis"]
    B --> C["Data Model Design"]
    C --> D["REST API Contract"]
    D --> E["Auth and Role Access"]
    E --> F["Cloud Deployment"]
    F --> G["Automation and Observability"]
    G --> H["Usable Product"]

    classDef sourceNode fill:#0f172a,stroke:#38bdf8,color:#e0f2fe,stroke-width:2px;
    classDef processNode fill:#111827,stroke:#64748b,color:#f8fafc,stroke-width:1px;
    classDef outcomeNode fill:#052e16,stroke:#22c55e,color:#dcfce7,stroke-width:2px;

    class A sourceNode;
    class B,C,D,E,F,G processNode;
    class H outcomeNode;
Loading

A system is not “done” when the feature works once. It is done when the flow can be used, traced, maintained, and improved.


Tech Stack

Backend and API

Node.js Express.js REST API JWT RBAC MVC

Languages

JavaScript TypeScript Python SQL

Cloud and DevOps

Google Cloud App Engine Cloud SQL Cloud Scheduler Docker GitHub Actions

Database and Frontend

MySQL PostgreSQL Sequelize React Tailwind CSS EJS

Featured Work

TALAS — News Bias Analysis Platform

Tech: Node.js, Express, Google Cloud, App Engine, Cloud SQL, Cloud Scheduler, Docker, Machine Learning Integration
Role: Backend Engineer and Cloud Architect
Recognition: Best Team — Bangkit Company Track Capstone

TALAS collects news on a schedule, sends it through ML-based scoring for bias, hoax, and ideology detection, then presents the result with two-sided summaries.

flowchart LR
    USER["Reader / User"] --> FE["Frontend Web Client"]

    subgraph BUILT["Built in TALAS Capstone"]
        APP["App Engine<br/>Dockerized Service"]
        API["Backend API<br/>Node.js + Express"]
        AUTH["JWT Auth<br/>Role Access"]
        SCHED["Cloud Scheduler"]
        CRAWLER["Scheduled News Crawler"]
        ML["ML Inference<br/>Bias, Hoax, Ideology"]
        DB[("Cloud SQL")]
    end

    NEWS["News Sources"] --> CRAWLER
    SCHED --> CRAWLER
    CRAWLER --> ML
    ML --> API
    APP --> API
    API --> AUTH
    API --> DB
    ML --> DB
    API --> FE

    subgraph NEXT["Production Hardening Roadmap"]
        RUN["Cloud Run"]
        PUBSUB["Pub/Sub"]
        CICD["GitHub Actions CI/CD"]
        LOG["Cloud Logging and Monitoring"]
        SECRET["Secret Manager"]
    end

    API -.-> RUN
    CRAWLER -.-> PUBSUB
    APP -.-> CICD
    API -.-> LOG
    API -.-> SECRET

    classDef externalNode fill:#1e293b,stroke:#94a3b8,color:#f8fafc,stroke-width:1px;
    classDef builtNode fill:#0f172a,stroke:#38bdf8,color:#e0f2fe,stroke-width:2px;
    classDef dataNode fill:#064e3b,stroke:#34d399,color:#dcfce7,stroke-width:2px;
    classDef roadmapNode fill:#2e1065,stroke:#c084fc,color:#f3e8ff,stroke-width:1px;

    class USER,NEWS,FE externalNode;
    class APP,API,AUTH,SCHED,CRAWLER,ML builtNode;
    class DB dataNode;
    class RUN,PUBSUB,CICD,LOG,SECRET roadmapNode;
Loading

What I contributed:

  • Designed the Google Cloud architecture with App Engine, Cloud SQL, Docker, and Cloud Scheduler.
  • Built 12+ REST API endpoints that orchestrate ML inference outputs.
  • Implemented JWT-based authentication and backend flow for the capstone system.
  • Automated scheduled news crawling so the dataset could refresh without manual intervention.
  • Helped the team connect product logic, backend responses, and ML-based news analysis.

Other Projects

Portal Remedial FTI Unand

Tech: Node.js, Express, EJS, Sequelize, MySQL

Solo full-stack project with MVC architecture, migrations, models, seeders, authentication, and role-based access.

Highlight: built independently with 80+ commits.

SIPENCUTI PPSDM MKG

Tech: Node.js, Express, EJS, MySQL

Backend prototype for a three-role leave-request system at BMKG PPSDM STMKG.

Core idea: leave quota should be derived from request history, not tracked manually.

KSE Alumni Database

Tech: React, Express, MySQL

Internal alumni data application used by the Karya Salemba Empat scholarship community.

Context: built to support real organizational data management.

FarmHub Analytics

Tech: React, TypeScript, UI/UX

Frontend contribution for a workspace concept combining feasibility, finance, and harvest planning.

Role: frontend and interface implementation.

Dashboard IoT Billing

Tech: React, TypeScript, Tailwind CSS

Frontend admin console for an IoT billing dashboard.

Scope: frontend interface; backend and BLE integration handled by teammates.

Portfolio Website

Tech: React, TypeScript, Framer Motion

Personal portfolio focused on honest technical branding, project storytelling, and recruiter-friendly presentation.

Visit portfolio


Project Ecosystem

flowchart TB
    CENTER["Backend and Cloud Portfolio"]

    CENTER --> TALAS["TALAS<br/>News Analysis Platform"]
    CENTER --> REMEDIAL["Portal Remedial<br/>Academic Internal Tool"]
    CENTER --> CUTIL["SIPENCUTI<br/>Leave Request Backend"]
    CENTER --> KSE["KSE Alumni Database<br/>Organization Data System"]
    CENTER --> FARM["FarmHub Analytics<br/>Frontend Workspace"]
    CENTER --> IOT["IoT Billing Dashboard<br/>Admin Console"]

    TALAS --> T1["GCP Architecture"]
    TALAS --> T2["Scheduled Crawling"]
    TALAS --> T3["ML Output Orchestration"]

    REMEDIAL --> R1["MVC Structure"]
    REMEDIAL --> R2["Auth and RBAC"]
    REMEDIAL --> R3["Sequelize Migration"]

    CUTIL --> C1["Three Role Workflow"]
    CUTIL --> C2["Quota Logic"]
    CUTIL --> C3["Backend Flow Analysis"]

    KSE --> K1["Internal Data Management"]
    KSE --> K2["React + Express + MySQL"]

    FARM --> F1["React + TypeScript UI"]
    IOT --> I1["Admin Dashboard UI"]

    classDef center fill:#020617,stroke:#38bdf8,color:#e0f2fe,stroke-width:3px;
    classDef project fill:#0f172a,stroke:#22c55e,color:#f0fdf4,stroke-width:2px;
    classDef detail fill:#1e293b,stroke:#64748b,color:#f8fafc,stroke-width:1px;

    class CENTER center;
    class TALAS,REMEDIAL,CUTIL,KSE,FARM,IOT project;
    class T1,T2,T3,R1,R2,R3,C1,C2,C3,K1,K2,F1,I1 detail;
Loading

Experience Highlights

flowchart LR
    Y2022["2022<br/>Started Information Systems<br/>Universitas Andalas"] --> Y2023["2023<br/>AWS Cloud Fundamentals<br/>SQL and Data Science Basics"]
    Y2023 --> Y2024["2024<br/>Portal Remedial<br/>Bangkit Cloud Track<br/>TALAS Backend and Cloud"]
    Y2024 --> Y2025["2025<br/>BMKG Backend Intern<br/>Cloud Computing TA<br/>KSE Vice Chairperson"]

    classDef yearNode fill:#0f172a,stroke:#38bdf8,color:#e0f2fe,stroke-width:2px;
    classDef activeNode fill:#052e16,stroke:#22c55e,color:#dcfce7,stroke-width:2px;

    class Y2022,Y2023,Y2024 yearNode;
    class Y2025 activeNode;
Loading

Cloud Computing Teaching Assistant

Supported 90+ students in Cloud Computing labs, covering deployment, cloud databases, and service orchestration. Helped students debug technical issues and turn cloud concepts into reproducible examples.

Bangkit Academy — Cloud Computing Cohort

Built TALAS as cloud architect and backend engineer, combining REST APIs, Google Cloud deployment, Docker, scheduled data ingestion, and ML inference integration.

Backend Project Intern — BMKG PPSDM STMKG

Worked on the backend of a three-role leave-request application and modeled leave quota logic from recorded request history instead of relying on manual tracking.

Vice Chairperson — KSE Universitas Andalas

Help lead a 67-member scholarship community, focusing on internal operations, board coordination, program execution, Quality Evaluation, and workflow automation.


Current Growth Plan

flowchart TB
    START(["60-Day Backend and Cloud Roadmap"])

    subgraph P1["Phase 1: Backend Quality"]
        A1["TypeScript Backend Refactor"]
        A2["Validation and Error Handling"]
        A3["Jest and Supertest Coverage"]
    end

    subgraph P2["Phase 2: Cloud Readiness"]
        B1["Dockerized Deployment"]
        B2["Cloud Run or App Engine"]
        B3["Cloud SQL and Secret Management"]
    end

    subgraph P3["Phase 3: Portfolio Proof"]
        C1["Project Case Study"]
        C2["GitHub Actions CI/CD"]
        C3["README and Architecture Docs"]
    end

    START --> A1 --> A2 --> A3 --> B1 --> B2 --> B3 --> C1 --> C2 --> C3

    classDef core fill:#020617,stroke:#38bdf8,color:#e0f2fe,stroke-width:2px;
    classDef task fill:#0f172a,stroke:#64748b,color:#f8fafc,stroke-width:1px;
    classDef finalTask fill:#052e16,stroke:#22c55e,color:#dcfce7,stroke-width:2px;

    class START core;
    class A1,A2,A3,B1,B2,B3,C1,C2 task;
    class C3 finalTask;
Loading

GitHub Analytics

GitHub Stats Top Languages

Contribution Streak

GitHub Streak

Activity Graph

GitHub Activity Graph

Contribution Snake

GitHub contribution snake animation

GitHub Trophies

GitHub Trophies

Credentials

Credential Issuer Year Link
Best Team — Bangkit Company Track Capstone Bangkit Academy 2025 Portfolio certificate
Belajar Dasar AWS Cloud Dicoding Indonesia 2023 Verify
Dasar Structured Query Language Dicoding Indonesia 2023 Verify
Pengenalan Database Menggunakan MySQL CODEPOLITAN 2023 Verify
Belajar Dasar Data Science Dicoding Indonesia 2023 Verify
Belajar Dasar Pemrograman Web Dicoding Indonesia 2024 Verify
Network Addressing and Basic Troubleshooting Cisco 2023 Verify

What I Am Looking For

I am open to opportunities in:

  • Backend Engineer Internship
  • Junior Backend Engineer
  • Software Engineer Backend
  • Cloud Engineer Internship
  • Platform Engineer Internship
  • Backend Engineer for AI or data products

I am especially interested in roles where I can work on APIs, database-backed systems, cloud deployment, automation, and product features that solve real operational problems.


Connect With Me


Footer wave

Let's build backend systems that solve real process problems.

Popular repositories Loading

  1. Tb_PWEB_Pendaftaran-Manajemen-Remedial Tb_PWEB_Pendaftaran-Manajemen-Remedial Public

  2. belajargit belajargit Public

    HTML

  3. SpaceDicoding SpaceDicoding Public

    HTML

  4. SpaceIN SpaceIN Public

    HTML

  5. Ilhamnofaldi Ilhamnofaldi Public

    Config files for my GitHub profile.

  6. test test Public