12-Week Day-by-Day Plan — Become a General Software Developer (Phone-First)
Daily time: 2–4 hours. Follow this on your iPhone: use freeCodeCamp, SoloLearn, Replit, GitHub Mobile, HackerRank.
How to use this plan: Do the 'Learn' task first each day, then 'Build', then 'Apply/Practice'.
Record progress in a simple notes file in your phone. Make short videos of completed projects
and add links to your portfolio.
Week 1: HTML basics & first portfolio page
Day 1 — Install apps: freeCodeCamp, SoloLearn, Replit, GitHub Mobile, HackerRank.
Create GitHub account. Start freeCodeCamp: HTML basics (forms, tags, structure).
Day 2 — Finish basic HTML lessons. Create a simple personal landing page (name +
about + contact).
Day 3 — Learn images, links, lists. Improve landing page with those elements.
Day 4 — Intro to CSS: selectors, colors, fonts. Apply styles to your landing page.
Day 5 — Layout basics: box model, margin/padding, display. Tidy up layout.
Day 6 — Responsive basics: meta viewport, fluid widths. Test on phone and fix
issues.
Day 7 — Polish & publish: host landing page on Replit/GitHub Pages. Share link in a
small note.
Week 2: CSS layout & portfolio polish
Day 8 — Learn Flexbox basics and use it to center and arrange sections.
Day 9 — Learn CSS Grid basics and try a simple grid for projects list.
Day 10 — Typography & spacing: choose readable fonts and spacing rules.
Day 11 — Make a responsive projects section (cards) on your portfolio.
Day 12 — Add a contact form (front-end only) and a simple CSS animation.
Day 13 — Accessibility basics: alt text, semantic HTML, good contrast.
Day 14 — Polish portfolio, test on different phone sizes, update README on GitHub.
Week 3: JavaScript basics — DOM & interactivity
Day 15 — JS fundamentals: variables, types, operators. Do short SoloLearn/
freeCodeCamp lessons.
Day 16 — Control flow: if/else, loops. Small exercises on HackerRank (easy).
Day 17 — Functions & events. Add a simple interactive button on your portfolio.
Day 18 — DOM basics: querySelector, innerText, modifying elements.
Day 19 — Build start: To-Do app — structure UI and capture input.
Day 20 — To-Do app: add items to list and delete functionality.
Day 21 — To-Do app: save to localStorage so items persist; test on phone browser.
Week 4: Finish To-Do + deploy + show
Day 22 — Add edit feature and marking complete on To-Do app.
Day 23 — Make UI responsive and add small transitions.
Day 24 — Create README and project description. Take screenshots / short video
demo.
Day 25 — Deploy To-Do on Replit or GitHub Pages. Ensure live link works on phone.
Day 26 — Create short 30–60s intro video showing the To-Do app and yourself.
Day 27 — Add project to portfolio site as a live demo link and description.
Day 28 — Practice explaining the project aloud — what you built and why.
Week 5: JavaScript deeper & APIs
Day 29 — Learn arrays and objects in JS; practice small exercises.
Day 30 — ES6 basics: let/const, arrow functions, template strings.
Day 31 — Fetch basics: understand HTTP & fetch(). Try a public API (e.g., random
jokes).
Day 32 — Build a small app that uses a free API (display jokes or quotes).
Day 33 — Error handling and promises: then/catch and async/await basics.
Day 34 — Improve your API app: pagination or simple filtering.
Day 35 — Add the API app to your portfolio and write short note about technologies
used.
Week 6: Version control, Git, and polishing skills
Day 36 — Git basics on mobile: commit, push, branch. Use GitHub Mobile or Replit
git integration.
Day 37 — Refactor one older project (clean code, comments).
Day 38 — Study ES6 modules and organizing code into files.
Day 39 — Practice 5 easy HackerRank/LeetCode problems (arrays/strings).
Day 40 — Set up a simple resume on your portfolio site (downloadable PDF link).
Day 41 — Create a simple 'Contact' process: email link + instructions for
recruiters.
Day 42 — Apply to 10 internships/fresher roles; save the links in a tracker.
Week 7: React basics (or lightweight alternative)
Day 43 — Intro to React: components, JSX. Use Replit React template to tinker.
Day 44 — State & props: build a small counter or simple list using state.
Day 45 — Component composition: split UI into smaller parts.
Day 46 — React forms and controlled inputs: convert your To-Do to React (basic).
Day 47 — Routing basics with a small router (optional) or single-page components.
Day 48 — Deploy a small React demo on Replit or Vercel (if possible from phone).
Day 49 — Add React project to portfolio and explain tradeoffs in README.
Week 8: React project week — build & deploy
Day 50 — Plan a small React project (notes app, quiz, mini shop info). Define
features.
Day 51 — Start building UI components for the React project.
Day 52 — Add state, interactions, and local persistence (localStorage).
Day 53 — Add polish: input validation, small animations, responsive design.
Day 54 — Write tests manually by using the app and fixing bugs; take a demo video.
Day 55 — Deploy the React project and make sure live link works on phone.
Day 56 — Prepare a 2-line summary for recruiters and add to portfolio.
Week 9: Intro to backend — simple APIs and databases
Day 57 — Backend overview: servers, REST APIs, endpoints. Use Replit or Glitch Node
templates.
Day 58 — Learn [Link] & Express basics: create a simple /hello route.
Day 59 — Create a small JSON-based API (GET/POST) and test with fetch from front-
end.
Day 60 — Learn basics of storing data: use Replit DB or a JSON file for small apps.
Day 61 — Connect your React/JS front-end to your API (fetch to save data).
Day 62 — Secure basics: validate input and handle errors gracefully.
Day 63 — Deploy backend and test it from phone; update portfolio with link.
Week 10: Full-stack mini project — auth & CRUD basics
Day 64 — Plan the full-stack mini project (e.g., notes app with backend).
Day 65 — Build backend endpoints for create/read/update/delete (CRUD).
Day 66 — Connect front-end forms to backend endpoints (POST/GET).
Day 67 — Add a simple login flow (mocked or minimal) and protect routes on front-
end.
Day 68 — Polish UX, handle edge cases, and record a demo video.
Day 69 — Deploy full-stack project and verify on phone; add to portfolio.
Day 70 — Write a short case-study: problem, approach, tech, learning points.
Week 11: Interview & hiring prep
Day 71 — Write and polish your resume (1 page). Add live links to projects and
video.
Day 72 — Create/optimize LinkedIn and GitHub profile; add clear headline (e.g.,
'Junior Web Developer').
Day 73 — Practice 10 common HTML/CSS/JS interview questions; prepare answers for
projects.
Day 74 — Do 10 easy algorithm problems (arrays/strings) on HackerRank/LeetCode.
Day 75 — Prepare short answers: tell me about yourself, strengths, learning from
failures.
Day 76 — Mock interview with a friend or record yourself answering common
questions.
Day 77 — Apply to 20 roles: internships, fresher openings, local firms; tailor your
one-liner for each.
Week 12: Apply, freelance, follow up, and negotiate
Day 78 — Create a daily application template message and track applications in a
sheet.
Day 79 — Do 5 proposal submissions on Upwork/Fiverr tailored to simple jobs
(landing pages, fixes).
Day 80 — Follow up on past applications; send short polite messages to recruiters.
Day 81 — Continue algorithm practice (5 problems) and review your projects' code.
Day 82 — Prepare to negotiate: know the salary ranges and your minimum acceptable
offer.
Day 83 — Prepare for technical tests: review fetch, async, DOM, and basic backend
routes.
Day 84 — Celebrate progress, compile a 'job kit' (resume, portfolio links, intro
video, GitHub) and start scheduling interviews.
Final tips and habits:
- Keep a simple daily log: what you learned, what you built, links to commits.
- Network: message local IT shops, post your portfolio link on local
WhatsApp/Telegram groups.
- Keep projects small and visible — employers will click a live demo first.
- If tired: do review or small fixes rather than new topics; consistency > speed.