Third Year as a Software Engineering Student: The Year Everything Got Real
If first year taught me how to write code, and second year taught me how to use tools —
Third year taught me how to build under pressure.
This was the year where concepts met deadlines.
Where theories collided with power outages.
Where code wasn't just "run and done" — it had to be reliable, scalable, and defendable.
🧩 The Curriculum That Tried to Break Me
Third year went beyond syntax. It gave me real engineering context.
Core Subjects I Wrestled With:
- Mobile Programming: My gateway to Flutter, Dart, Swift — and the start of the LiftTrack mobile app.
- Network & Communications 2: Concepts like routing, port forwarding, socket connections — essential for WebSocket communication in LiftTrack.
- Software Engineering 1 & 2: Structured our project planning and helped us design before we built.
- Modeling and Simulation: Made me think of systems as data-driven representations — useful for posture analysis in our AI project.
- Image Processing: Helped understand how frames were captured and transformed in the 3DCNN model.
- Parallel and Distributed Computing: Reinforced our struggles with compute limits — especially training the AI model under constrained hardware.
- Programming Languages & Number Theory: Gave theoretical depth to language design, parsing, and optimization.
- CS Project 1: The formal stage where LiftTrack lived or died.
Also: Project Management, Business Process, and Technopreneurship shaped how I thought about the why, not just the how of building.
⚙️ LiftTrack: The Overkill Thesis (Revisited)
A mobile app powered by a 3D Convolutional Neural Network (3DCNN) to analyze weightlifting posture in real-time.
Sounds exciting. It was — until it nearly broke us.
Why We Failed (Twice):
- Platform lock-in: Apple’s iOS debugging restrictions delayed testing.
- Compute bottlenecks: One teammate’s machine died training the AI model.
- WebSocket failure: Our ISP blocked ports critical to our real-time sync.
Why We Eventually Passed:
- Switched to cloud hosting on Google Cloud.
- Built a Flutter app with Dart and Swift for full cross-platform deployment.
- Used GitHub Actions for deployment and CI/CD pipelines.
- Shifted to Firebase (basic) to store form data and survey feedback when MySQL integration lagged.
- We restructured the app and even mocked the WebSocket layer locally to meet our defense deadline.
💻 Tools & Stack I Used in Real Production
Languages
- Python: For training and inference of the 3DCNN
- Dart + Swift: For mobile dev in Flutter and native iOS fixes
- SQL + Firebase: Data storage for surveys, model outputs
- JavaScript (ES6+): For static blog rendering and portfolio logic
Frameworks & Platforms
- Flutter (Dart): Cross-platform mobile app development
- Flask: Python backend for model inference
- Firebase: Lightweight, fast integration for survey collection
- GitHub Actions: CI/CD and automation
- Google Cloud Platform (basic): Hosted model and inference endpoints
- Vercel: Hosted portfolio with
.mdx
blog content
IDEs & Tools
- VS Code, Android Studio, Xcode
- Git + GitHub for full version control and branching
- Canva for visuals and project documentation
🧠 Academic Concepts Applied in Real Projects
- Image Processing + Simulation → Used to preprocess lifting videos for model input
- Parallel Computing → Helped us understand model threading (though we couldn’t use it fully)
- Project Management → Allowed us to break down LiftTrack into milestones to avoid scope creep
- Networks → Directly used in handling WebSocket timeouts, port binding, and local IP testing
- Programming Languages Theory → Showed me how Dart handles compilation vs JavaScript
📉 What Nearly Broke Me
- TTL and DNS record delays killing a late-night deployment
- React Native vs Flutter decision spirals
- Debugging a Swift iOS
.ipa
export alone (I handled this version solo) - The moment our backend and frontend finally worked… and then the ISP blocked our port
🧠 What I Gained
- Real-world confidence using Python for AI tasks and servers
- Production-ready habits: CI/CD, logging, backups, versioning
- Mobile deployment knowledge (Dart, iOS, Firebase workflows)
- Scoping instincts: how to shrink ambition into something that ships
- Understanding that failure isn’t the opposite of success — it’s the path to it
“Third year didn’t just challenge me. It redefined me.”
🚀 Looking Ahead
After the thesis defense:
- I started studying Docker for lightweight local deployment and consistent testing
- Began exploring AWS as a scalable alternative to Firebase and GCP
- Took an interest in Cybersecurity (inspired by our WebSocket vulnerabilities)
- Started building reusable prompt templates for AI-powered development tools