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

Typing SVG
PortfolioLinkedInEmail

Profile viewsGitHub followersGitHub stars

About Me

Coding animation

name: Ilham Nofaldirole: Junior Software Engineer — Backend & Cloudlocation: Jakarta x Padang, Indonesiaeducation: Information Systems, Universitas Andalasfocus:
- Backend Engineering
- Cloud Computing
- REST API Development
- Data Pipeline Automation
- Process-to-System Designopen_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.jsExpress.jsREST APIJWTRBACMVC

Languages

JavaScriptTypeScriptPythonSQL

Cloud and DevOps

Google CloudApp EngineCloud SQLCloud SchedulerDockerGitHub Actions

Database and Frontend

MySQLPostgreSQLSequelizeReactTailwind CSSEJS

Featured Work

TALAS — News Bias Analysis Platform

TALAS repository card

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 StatsTop Languages

Contribution Streak

GitHub Streak

Activity Graph

GitHub Activity Graph

Contribution Snake

GitHub contribution snake animation

GitHub Trophies

GitHub Trophies

Credentials

CredentialIssuerYearLink
Best Team — Bangkit Company Track CapstoneBangkit Academy2025Portfolio certificate
Belajar Dasar AWS CloudDicoding Indonesia2023Verify
Dasar Structured Query LanguageDicoding Indonesia2023Verify
Pengenalan Database Menggunakan MySQLCODEPOLITAN2023Verify
Belajar Dasar Data ScienceDicoding Indonesia2023Verify
Belajar Dasar Pemrograman WebDicoding Indonesia2024Verify
Network Addressing and Basic TroubleshootingCisco2023Verify

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

LinkedInEmailGitHubPortfolio

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-RemedialPublic

  2. belajargit belajargitPublic

    HTML

  3. SpaceDicoding SpaceDicodingPublic

    HTML

  4. SpaceIN SpaceINPublic

    HTML

  5. Ilhamnofaldi IlhamnofaldiPublic

    Config files for my GitHub profile.

  6. test testPublic