Upcoming Project Ideas
With weeks 1 and 2 done (Minimal TypeScript Blockchain and React Native Mobile App), here's the rough plan for the remaining ~28 weeks, running through to September 2026 when uni starts.
The goal is a varied portfolio: systems programming in Rust and Go, AI/ML integrations, games, real-world tools, and some full-stack work that goes beyond my usual Laravel comfort zone.
Full Schedule at a Glance
This is just a quick look over my ideas, but if you want to see the full list in a bit more detail just scroll down past the table :)
| Week | Project |
|---|---|
| 1 ✅ | Minimal TypeScript Blockchain |
| 2 ✅ | React Native Mobile App |
| 3 ✅ | CLI File Organiser (Rust) |
| 4 | Personal Finance Tracker |
| 5 | URL Shortener API (Go) |
| 6 | AI Commit Message Generator |
| 7 | Snake (Terminal) |
| 8 | Markdown to HTML Converter (Rust) |
| 9 | Dotfiles Manager |
| 10 | Local Document Q&A |
| 11 | Static Site Generator (Go) |
| 12 | Browser Extension |
| 13 | Port Scanner (Rust) |
| 14 | Pong (Browser) |
| 15 | Sentiment Analysis Dashboard |
| 16 | System Monitor CLI (Go) |
| 17 | Self-Hosted Pastebin |
| 18 | Key-Value Store (Rust) |
| 19 | GitHub Contribution Analyser |
| 20 | AI Code Reviewer |
| 21 | TCP Chat Server (Go) |
| 22 | Link in Bio Tool |
| 23 | HTTP Server from Scratch (Rust) |
| 24 | Pomodoro TUI App |
| 25 | Roguelike Dungeon Crawler |
| 26 | Image Caption Generator |
| 27 | Resume/CV Builder |
| 28 | Open Source Contribution |
| 29 | API Rate Limiter Middleware |
| 30 | Capstone: Documentation & Showcase |
A More Detailed Look at Upcoming Projects
🦀 Rust (5 weeks)
Starting simple with file I/O and working up to building an HTTP server from scratch.
| Week | Project | What I'll Learn |
|---|---|---|
| 3 | CLI File Organiser; sorts files in a directory by type/date into folders | Rust basics, file I/O, clap for CLI args |
| 8 | Markdown to HTML Converter; parse .md files and output static HTML | String parsing, basic AST thinking, iterators |
| 13 | Port Scanner; scan a range of ports on a host and report open ones | Networking in Rust, threading, async basics |
| 18 | Key-Value Store; a simple persistent KV store written to disk | File I/O, serialisation, basic DB concepts |
| 23 | HTTP Server from Scratch; handle GET/POST with no frameworks | TCP, HTTP protocol internals, lifetimes |
🐹 Go (4 weeks)
Go is clean, fast to learn, and great for systems/tooling work. Starting with a basic API and building up to concurrency.
| Week | Project | What I'll Learn |
|---|---|---|
| 5 | URL Shortener API; simple REST API with in-memory or file-based storage | Go basics, net/http, JSON |
| 11 | Static Site Generator; takes Markdown + templates, outputs HTML | File traversal, templating (html/template) |
| 16 | System Monitor CLI; shows CPU, memory, disk usage in the terminal | OS interfaces, goroutines, terminal rendering |
| 21 | TCP Chat Server; multi-client chat over raw TCP | Goroutines, channels, concurrency |
🤖 AI / ML (5 weeks)
Mix of consuming APIs and doing real ML work; all in Python since I'm already comfortable there.
| Week | Project | What I'll Learn |
|---|---|---|
| 6 | AI Commit Message Generator; git hook that suggests a commit message from your diff | Python + OpenAI/Claude API, git hooks |
| 10 | Local Document Q&A; ask questions about a PDF using embeddings + a local LLM | RAG basics, vector search, LangChain/LlamaIndex |
| 15 | Sentiment Analysis Dashboard; analyse text and visualise sentiment over time | Python ML (transformers), data viz |
| 20 | AI Code Reviewer; CLI tool that reviews a file and gives suggestions | Prompt engineering, streaming API responses |
| 26 | Image Caption Generator; upload an image, get a caption + tags | Multimodal models, Python, Flask or FastAPI |
🎮 Games (3 weeks)
A bit of fun; and it turns out game dev teaches you a surprising amount about state management and rendering.
| Week | Project | What I'll Learn |
|---|---|---|
| 7 | Snake (Terminal); classic Snake rendered in the terminal | Python curses or Rust terminal libs |
| 14 | Pong (Browser); two-player Pong in vanilla JS Canvas | Game loop, collision detection, Canvas API |
| 25 | Roguelike Dungeon Crawler; turn-based, procedural maps, simple combat | Procedural generation, game state management |
🛠️ Useful Real-World Tools (7 weeks)
These are the ones I'm most excited to actually use day-to-day.
| Week | Project | What I'll Learn |
|---|---|---|
| 4 | Personal Finance Tracker; CSV import, categorise spending, visualise it | Web, JS, Serverless |
| 9 | Dev Environment Dotfiles Manager; CLI to sync/backup dotfiles to GitHub | Bash/Python scripting, symlinks, Git API |
| 12 | Browser Extension; tab manager, focus timer, or custom new tab page | WebExtension API, JS in a constrained env |
| 17 | Self-Hosted Pastebin; create, share, and expire text snippets | Trying Go or Python instead of defaulting to Laravel |
| 19 | GitHub Contribution Analyser; visualise your own or anyone's GitHub activity | REST/GraphQL API consumption, data viz |
| 24 | Pomodoro TUI App; terminal-based focus timer with sessions + history | Rust or Go, TUI libs like ratatui |
| 27 | Resume/CV Builder; input data as JSON/YAML, output a styled PDF | Templating, PDF generation, CLI UX |
🌐 Web / Full-Stack (4 weeks)
Saving some web projects for later; but with a twist each time, no plain Laravel CRUD.
| Week | Project | What I'll Learn |
|---|---|---|
| 22 | Link in Bio Tool; self-hosted, customisable Linktree alternative | Trying a new framework (SvelteKit?) |
| 28 | Open Source Contribution; pick an active OSS project and submit a real PR | Reading codebases, git workflow, community comms |
| 29 | API Rate Limiter Middleware; pluggable middleware package for Node or Laravel | Package design, publishing to npm/Packagist |
| 30 | Capstone: Documentation & Showcase; proper READMEs, demos, and a dedicated showcase page on my portfolio for all 29 projects | Technical writing, demo recording, portfolio curation |
These are just my initial ideas, and I'm sure the plan will evolve as I go along. The main thing is to keep building and learning, so I'm open to changing course if something new and exciting comes up. If you have any suggestions or want to collaborate on a project, feel free to reach out!
You can follow along with my journey and see all the projects I've built so far on my GitHub or Personal GitLab.