CASE STUDIES

Limelyte Extranet

20 Years of Evolution in Business Management Software

Limelyte Extranet

The problem

By 2023, Limelyte's 17-year-old PHP codebase showed its age—difficult to maintain, limited API capabilities, mobile access challenges, and performance bottlenecks. But as a mission-critical system handling time tracking, invoicing, client relationships, and complete financial records spanning two decades, a traditional "big bang" rewrite was too risky.

Our solution

A six-month intensive migration in 2025 using the Hybrid Migration Methodology—building a modern Go backend and Flutter apps alongside the legacy PHP system, maintaining backward compatibility during the transition, then introducing breaking improvements. Zero downtime, 100% data preservation, and continuous business operations throughout the entire modernization.

20 Years of Continuous Evolution

In 2006, Limelyte needed comprehensive software to manage all aspects of running a software development consultancy. Off-the-shelf solutions were too generic, too expensive, or didn't fit the specific workflows of a technical consultancy. The solution: build a custom ERP system called Extranet.

Twenty years later, that system is still running—not as a legacy burden, but as a modern, AI-powered platform that has evolved continuously without a single day of downtime. This case study tells the story of how we modernized our own essential business system in just six months during 2025, applying the same Hybrid Migration Methodology we've trusted with client systems for decades.

Original Stack (2006): PHP 5, Kohana framework, PostgreSQL, jQuery
Core Functionality: Time tracking, project management, invoicing, payment processing, expense tracking, client/contact management, resource management, task assignment, reporting & analytics

Over those 20 years, Extranet underwent continuous evolution—interface modernization, feature additions, performance optimizations, security enhancements—all while preserving complete historical data integrity. But by 2023, incremental improvements weren't enough.

The Modernization Challenge

By 2023, the aging PHP codebase faced mounting challenges that incremental improvements couldn't solve. Fifteen years of organic growth made extending features increasingly difficult. Modern integrations and AI tooling needed robust APIs the legacy system couldn't provide. The web-first architecture made mobile development challenging, and two decades of accumulated data strained the aging architecture.

Despite these challenges, a traditional "rip and replace" rewrite was unacceptable. Our 15-person team relied on the system daily for all business operations—time tracking, invoicing, and client management couldn't pause for months. We had 20 years of irreplaceable data: complete business records, client history, and financial data that had to be preserved perfectly. Complex integrations with accounting systems, payment processing, and established workflows were deeply embedded. Most critically, the system worked reliably; the risk of disruption was unacceptable.

We needed a better way—one that eliminated risk while enabling complete modernization without the typical multi-year frozen development period.

The Hybrid Migration Solution

The Hybrid Migration Methodology enabled us to achieve what seemed impossible: completely rewrite our core business system in six months without a single minute of downtime or business disruption.

The Core Concept: Running Both Systems Simultaneously

Rather than replacing the old system with a new one, we ran both in parallel during the transition. Both the legacy PHP application and the new Go system read from and wrote to the same PostgreSQL database. Cross-system contracts ensured data created by either system worked flawlessly with both. We designed API compatibility layers that allowed the systems to coexist, moving one entity type at a time—companies first, then projects, then tasks, and so on. The PHP system stayed operational as a safety net during the entire migration, and team members migrated at their own pace as they gained confidence. No forced cutover dates. No "big bang" moment.

This approach meant business operations continued normally while we built, tested, and validated the new system in production with real data and real workflows. Every risk was contained. Every step was reversible. The parallel operation made rapid execution possible—we could move fast because the safety net was always there.

Parallel Architecture Diagram

Strategic Technology Choices

In 2024, we evaluated modern language options (Go, Rust, Node.js) and selected Go for its performance, type safety, and mature ecosystem. The planning phase included proof-of-concept work, architecture planning, and technology validation. The new stack would include Flutter for cross-platform mobile apps and PostgreSQL—the same database—to ensure perfect data continuity. The key decision: maintain backward compatibility with existing tools during migration, then introduce breaking improvements only after the PHP system could be safely retired.

Six Months of Intensive Execution

Following a year of exploration in 2024, the actual migration executed across six intensive months in 2025. The compressed timeframe was possible because parallel operation eliminated risk at each step.

Migration Timeline Mid-2025 to End-2025

2024: Exploration & Planning

Throughout 2024, we discussed upgrade paths, experimented with proof-of-concepts, and validated technology choices. This planning year ensured we entered 2025 with a clear strategy and tested approach. We identified critical business paths, designed API contracts that both systems could honor, and validated that the parallel operation model would work with our PostgreSQL schema.

Mid-2025: Launch Phase

Real work began mid-year with backend API development and early CLI versions. We built the initial Go backend with basic entity management and created a command-line interface for power users. The validation was immediate and powerful: team members could use the new Go CLI for time tracking while PHP handled everything else. Perfect data consistency. No conflicts. The parallel operation worked exactly as planned, giving us confidence to accelerate.

Q3-Q4 2025: Rapid Build and Migration

With the approach validated, we moved fast. We built the complete backend implementing all core entities, developed Flutter applications for web, desktop, and mobile, and implemented database triggers to ensure consistency between systems. Shared JWT authentication meant seamless transitions. Write operations moved from PHP to Go. We launched mobile apps alongside the production PHP system.

Team members migrated sprint by sprint. Time tracking came first—the lowest-risk feature and the easiest to roll back. As confidence grew, task management transitioned to the Go API, followed by project management. Invoice generation—the highest-risk feature requiring the most validation—came last. By year-end, the PHP system became a read-only archive while Go handled all primary operations.

Throughout this period, data validation occurred continuously. Rollback capability was maintained. Business operations never paused. The intensive timeline was sustainable because parallel operation removed the pressure: we could move fast without the fear that characterized traditional "big bang" migrations.

Power User Tools: Command-Line Interface

For technical team members and power users, we built a comprehensive command-line interface that provides rapid access to all system functions. The CLI enables fast time tracking, task management, project switching, and report generation—all from the terminal. This tool proved invaluable during development and remains the preferred interface for developers who live in the command line.

Limelyte CLI - Command-line interface for rapid time tracking and task management

Mobile-First Experience

Flutter-based mobile applications brought time tracking, task management, and project notes to iOS and Android with native performance and offline capability. The consistent cross-platform experience means team members can track time, update tasks, and review project information from anywhere, keeping productivity high even while away from their desks.

Mobile time tracking interface showing active timer and daily time entries

Time Tracking

Mobile task management interface with project tasks and due dates

Task Management

Mobile notes interface for project documentation and collaboration

Project Notes

Revolutionary AI Integration

The modernization unlocked capabilities impossible with the legacy system—most notably, AI integration through the Model Context Protocol (MCP).

AI MCP Architecture

Dual MCP Implementation

We built two complementary interfaces for AI access. The backend API MCP server provides an HTTPS endpoint with authentication, exposing 88 tools for cloud-based AI access from anywhere. The CLI MCP server offers local-only access with 138 tools, providing complete system control without network exposure. Our innovation: the CLI automatically generates MCP tool definitions from command flags—zero manual maintenance and guaranteed consistency between CLI and AI interfaces.

What 20 Years of Data Enables

With MCP integration, two decades of business data becomes instantly accessible through natural language. Historical analysis that once required complex database queries now happens conversationally: "Show me all projects for Acme Corp in the last 5 years." Marketing teams generate case studies and documentation from project history automatically. Business intelligence questions get instant answers: "Which projects were most profitable last quarter?" Automated workflows simplify daily tasks: "Start a timer for LTGEXT and log what I'm working on." Complete service history and communication patterns for any client surface relationship insights previously hidden in the data. Pattern recognition across years of operational data informs strategic planning in ways impossible before.

This wasn't just a technical upgrade—it transformed 20 years of preserved data into an AI-accessible competitive advantage.

Proven Results

Zero Downtime Achieved

The most important metric: not a single minute of downtime during the entire six-month modernization. Business operations continued normally from day one through final cutover.

Efficiency Improvements

Dramatic Efficiency Gains

Time tracking, once a 5-minute interruption that pulled developers out of flow, now takes 10 seconds with the CLI interface. Task management is 50% faster with batch operations and improved workflows. Report generation that required 10-minute coffee breaks now returns results instantly. Documentation became 10x faster with AI-assisted content generation. Data analysis transformed from complex database work into natural language queries.

Migration Success

Team productivity maintained at 95%+ throughout the entire migration period—no lost billing time, no disrupted client deliverables. We preserved 100% of 20 years of data with perfect integrity. The six-month intensive execution meant no migration fatigue or drawn-out training disruptions. Running both systems in parallel removed the "big bang" risk entirely. System uptime remained at 99.9%+ before, during, and after migration.

The modernized system now manages 20 years of preserved historical data (2006-2025), hundreds of thousands of time entries, thousands of invoices, 500+ projects, 100+ clients, 15+ active staff members, and exposes 226 AI-accessible tools through our MCP implementation.

Six Months vs. Years of Frozen Development

Traditional "big bang" migrations typically freeze feature development for years while teams rebuild systems in isolation. Our approach inverted this: parallel operation meant we could execute rapidly without freezing operations. The team stayed focused and motivated rather than experiencing migration fatigue. We moved from legacy to modern in six months instead of the multi-year timelines typical of complete system rewrites.

Your Migration, De-Risked

We practice what we preach. After decades of using this methodology to migrate mission-critical client systems, we trusted it with our own business platform—applying the same rigorous approach, the same risk mitigation strategies, and the same validation processes we bring to every client engagement.

This wasn't about proving the methodology works (decades of successful client migrations already demonstrated that). This was about demonstrating our confidence in it. We hold ourselves to the same exacting standards we maintain for clients: comprehensive risk elimination, thorough validation at every step, maintained rollback capability, and zero tolerance for business disruption.

The result: six months from legacy PHP to modern Go with zero downtime and 100% data integrity—the same outcomes we deliver for clients, now validated on our own operations.

The Proven Process

  1. Assess: Evaluate your legacy system thoroughly and identify critical business paths
  2. Design: Plan parallel architecture with backward compatibility
  3. Build: Implement new system alongside legacy with shared data
  4. Validate: Test integration and data consistency in production
  5. Migrate: Rapid execution by feature area with maintained rollback
  6. Enhance: Introduce breaking improvements only after safe migration

This systematic approach means operations continue normally throughout modernization. You validate each phase before progressing to the next. Parallel operation enables rapid execution without "big bang" pressure. New features become available during migration. You can adjust timeline and scope at any point without catastrophic consequences, and historical data integrity is maintained throughout.

Key Takeaways

  • Custom Software Can Outlast Commercial Alternatives: 20+ years of continuous operation proves well-designed systems adapt and evolve
  • Parallel Operation Enables Rapid Execution: Running both systems simultaneously removes risk, allowing aggressive timelines
  • Six Months Beats Years of Frozen Development: Intensive execution with safety nets is better than drawn-out migrations that lose momentum
  • Data Becomes Your Competitive Advantage: Preserving decades of historical data unlocks unprecedented AI capabilities

Extranet's journey demonstrates the Hybrid Migration Methodology in action—the same systematic approach we've used for decades with client systems, now applied to our own 20-year-old business platform. Six-month execution instead of multi-year frozen development, turning what's typically a high-risk project into a controlled, rapid transformation.

Real-World Success Stories

Wheeler Industries (Manufacturing): Replaced legacy paper-based "orange sheet" job tracking with custom portal integrated with local AI. Hybrid approach meant manufacturing operations never paused. Zero downtime. AI-powered job estimation now enables natural language queries across 10+ years of manufacturing data—turning "show me similar stainless steel jobs from 2024" into instant actionable insights. Read the full case study →

Hybrid Migration Methodology: The systematic approach behind both transformations. Six phases eliminate big bang rewrite risks through parallel operation and continuous validation. Battle-tested over 20+ years of complex migrations. Learn about the methodology →

Start Your Risk-Free Modernization Journey

With over 20 years of building tailored technology solutions and successfully migrating legacy systems, we know how to turn modernization challenges into competitive advantages.

Whether you're dealing with a mission-critical system that can't have downtime, complex data models spanning decades, or simply can't afford the risk of a traditional rewrite, the Hybrid Migration Methodology provides a proven path forward.

Free 30-minute modernization assessment. No sales pressure. Just experienced developers who've been applying this methodology since 1999.

More
builds //

No items found.