My 86-Hour Web Engineering Roadmap A developer known as tosane932 published a self-structured 86-hour web engineering roadmap that covers Python automation, Ruby on Rails, and a real-world logistics project for the Hiroshima region. The developer solved Render free tier memory crashes by switching to local asset precompilation and configuring a writable SQLite database directory. The roadmap emphasizes a 'Plan C' strategy to bypass constraints and hardware validation on a Xiaomi 15T mobile device. My 86-Hour Web Engineering Roadmap The Learning Breakdown I structured my progress into five distinct stages to ensure I wasn't just copying tutorials, but actually solving problems. Stage 1-3: Python & Automation 52 hours I started with Python fundamentals and immediately jumped into scraping. The goal was to automate data collection, which led to two specific projects: Puoppo Auto-Analysis: A system built on Lubuntu that retrieves poll data and runs AI-powered text analysis. Bakery Sales Aggregator: This combined web scraping with Excel automation to handle sales data aggregation, which is a practical use case for any small business. Stage 4: Ruby on Rails 23 hours I shifted to the MVC architecture to understand how professional web apps are structured. I spent a significant amount of time on rails practice , focusing specifically on configuration management and Git rebasing to keep my version control clean. Stage 5: Real-World Integration 5 hours My most recent project, the hiroshima-logistics-hub , aggregates real-time weather and traffic for the Hiroshima region. This is where I hit my first major deployment wall. Solving Render Free Tier Memory Crashes When deploying to Render's free tier which caps at 512MB RAM , my Rails build kept crashing during the asset compilation phase. The memory overhead of the build process was simply too high for the instance. To fix this, I stopped relying on the platform's build pipeline and moved to a local precompilation strategy. Here is the logic I used to ensure the app stayed alive: 1. Local Asset Precompilation: I ran the assets precompile command on my local machine instead of letting the server do it. 2. Writable SQLite Config: Since Render's filesystem is ephemeral, I had to explicitly configure the SQLite3 database storage to reside in a writable directory to prevent "Read-only file system" errors. Example of the directory structure adjustment for the database config in database.yml : production: adapter: sqlite3 database: storage/production.sqlite3 pool: 5 timeout: 5000 Engineering Under Constraints Working with limited hardware and time has forced me to adopt a specific AI workflow and development mindset: The "Plan C" Strategy: When I hit a memory cap or a library conflict, I don't just search for a "fix." I look for a way to bypass the requirement entirely. If a heavy library is causing a crash, I look for a lightweight alternative or a way to handle the logic via a simpler script. Hardware Validation: I don't trust desktop browsers. I verify every deployment on a physical device I use a Xiaomi 15T to ensure the UX actually works in a mobile environment, which is where most logistics-related tools are actually used. Sustainable Output: I've learned that coding while mentally exhausted leads to bugs that take three times longer to fix. I now treat scheduled rest as a technical requirement of the project, not a luxury. For anyone starting from scratch, the fastest way to learn is to find a problem in your current professional domain—like logistics—and build a tool to solve it. It turns the learning process into a practical tutorial for your own life. My progress and full source code are available here: https://github.com/tosane932 Next TCP/IP Networking: A Deep Dive into the Layers → /en/threads/2965/