CN
Franz Phillip G. Domingo

Software Engineer Undergraduate.

An overhead shot of a laptop, notebook, and coffee cup at midnight
franzdomingo.tech

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

Connect the Dots