
Case Study FoxPro to .NET Core Modernization: Unifying US Election Management Platforms
How we migrated a 40-year legacy FoxPro database system to a secure .NET Core 6 and Angular 16 web platform for a US election software leader.
The Client
A software pioneer with over 40 years of experience streamlining U.S. election operations.
Our client is a highly established software leader with over forty years of experience providing mission-critical solutions to County Boards of Elections and school districts across the United States. Their software platform serves as the administrative backbone for local governments, enabling them to manage voter registration rolls, design and distribute ballots, coordinate poll workers, and publish certified election results. For decades, they have been a trusted partner in ensuring the democratic process runs smoothly and securely.
Operating in the government technology sector requires an unwavering commitment to security, accuracy, and regulatory compliance. Election software must adhere to strict state and federal mandates, requiring detailed audit trails, multi-factor authentication, and absolute data protection. With election security under constant scrutiny, the client's systems must be resilient against cyber threats while remaining accessible to election staff, who are often temporary or volunteer workers.
Despite their deep domain expertise and market dominance, the client faced a significant technological challenge. Their core platform was built on Visual FoxPro, a development tool that was officially retired by Microsoft years ago. While the legacy desktop software had proven highly reliable, it was becoming increasingly difficult to support, secure, and scale. The client partnered with our engineering team to undergo a complete technological modernization.
The Challenge
Transitioning from legacy desktop databases to the modern web.
When we began this project, the client was maintaining multiple, disconnected desktop applications for different election tasks. One legacy system handled voter registration; another managed ballot layout designs; a separate database tracked poll worker assignments; and reporting was handled through custom, manual scripting. This fragmented structure led to operational delays and forced county staff to perform manual data reconciliation across platforms.
Furthermore, managing election boundaries, school district mappings, and absentee ballot processing was highly manual and hard to scale. Because Visual FoxPro relies on a file-based database engine, remote access was slow and insecure, requiring complex network configurations and terminal services for county workers to access files off-site. The client realized that to maintain their market leadership and support the security requirements of modern elections, they needed a unified web-based platform.
The challenge was not just building a new application, but executing a massive data migration. We needed to transition millions of historical voter registration files, address directories, and past election records from FoxPro databases into a modern relational database without losing any legacy features or data integrity.
Outdated Visual FoxPro codebase was retired and increasingly difficult to secure and maintain.
Fragmented applications forced election boards to manually reconcile voter and ballot data.
Absence of web access required complex terminal server configurations for remote county staff.
Manual absentee ballot tracking and district boundary mapping limited system scalability.
What our audit found
Deconstructing the limits of file-based FoxPro databases.
Our engineering team conducted a comprehensive code and database audit of the legacy software. We analyzed table structures, index files, and the underlying database logic. The diagnostic confirmed that the file-based database model was the primary source of performance latency and data corruption risks.
Because FoxPro stores data in local files (.DBF), concurrent writes by multiple users over a network frequently caused file locks and index corruption. This required administrators to regularly run rebuild scripts and shut down operations. Additionally, the lack of modern APIs made it nearly impossible to integrate with state-level voter registries or automated signature verification systems.
To eliminate these bottlenecks, the platform required a migration to an enterprise-grade relational database like Microsoft SQL Server, combined with a decoupled web architecture. The backend needed to be rewritten in a modern framework with robust Entity Framework support, and the user interface needed to be modernized to guide non-technical users through complex workflows.
File-based DBF structures suffered from index corruption during high concurrent usage.
The desktop model lacked APIs, preventing integration with third-party verification services.
Outdated interface design lacked built-in validation, leading to user input errors.
The legacy codebase could not support modern authentication protocols like single sign-on (SSO).
The Solution
How we turned it around.
Database Migration to SQL Server and EF Core 6
We designed and executed a structured data migration pipeline to transfer the client's historical voter records and layouts from FoxPro DBF files to Microsoft SQL Server. We utilized Entity Framework (EF) Core 6 to map the data models, ensuring all historical constraints, relational integrity, and index structures were preserved.
This migration resolved the file-locking issues of the legacy platform and established a highly secure database foundation capable of supporting rapid, concurrent queries during election cycles.
What we shipped
- Designed a custom pipeline to migrate legacy Visual FoxPro data to Microsoft SQL Server.
- Utilized EF Core 6 to preserve relational integrity and database constraints.
- Eliminated database locking and file corruption risks through modern SQL architecture.
Modern Web Application Stack (.NET Core 6 & Angular 16)
We rebuilt the entire election management suite as a unified web application. We developed a secure, scalable backend using .NET Core 6 and C#, providing an API-driven architecture that supports modern security standards. On the frontend, we built an intuitive, single-page application using Angular 16.
This modern interface guides board staff and volunteers through complex tasks, such as ballot design, poll worker scheduling, and real-time election reporting, using clean, responsive layouts.
What we shipped
- Developed a secure, scalable API backend utilizing C# and .NET Core 6.
- Built a modern, responsive user portal using Angular 16 for intuitive navigation.
- Replaced multiple disconnected desktop tools with a single unified web platform.
Workflow Automation and Real-Time Reporting
To eliminate manual reconciliation and scale operations, we automated key election workflows:
We also integrated security enhancements, including multi-factor authentication (MFA) and granular role-based access control, ensuring compliance with state and federal election guidelines.
What we shipped
- **Voter Registration:** Automated address verification and district boundary matching.
- **Absentee Ballots:** Developed a secure tracking module for absentee applications and signatures.
- **Reporting:** Created an interactive reporting engine that generates ballot statistics and demographic insights in real-time.
- Automated district boundary mappings and address verification workflows.
- Developed a secure tracking module for absentee ballots and signature verification.
- Integrated real-time election reporting tools and robust MFA security.
The Numbers
Outcomes we can talk about.
The migration to the unified web-based .NET and Angular platform successfully modernized the client's election management system. By consolidating multiple disconnected desktop databases into a single SQL Server instance, the organization established an integrated system that eliminates manual data entry and ensures high data consistency across all election tasks.
Because historical quantitative performance tracking was limited on the legacy desktop software, we focused on establishing a clean tracking system for the new web portal. Qualitatively, the shift has been highly successful. The modern, intuitive user interface has empowered county boards and school district staff to manage elections with reduced training overhead.
Furthermore, security and compliance have been significantly improved. Centralized database management allows administrators to monitor user access logs and audit trails, ensuring strict compliance with state and federal security mandates. The containerized, web-based platform has eliminated the need for complex local server maintenance, providing the client with a scalable software architecture built to support the future of election technology.
What We Built
What's Next
Integrating state-level voter registries and electronic poll books.
With the core web application stable, the next phase of the roadmap involves integrating the platform with state-wide voter registration systems via secure government APIs. This will enable real-time voter record updates and eliminate manual data import processes.
Additionally, the client plans to develop an integrated electronic poll book (e-pollbook) module that synchronizes live check-in data on election day directly with the central database, preventing duplicate voting and streamlining voter check-in at polling locations.
Frequently Asked Questions
About This Project
The questions teams usually ask when they want to run a similar engagement.
Visual FoxPro was a Microsoft data-centric programming language and database engine. Microsoft officially discontinued support for FoxPro years ago, making it difficult to secure, maintain, and integrate with modern web technologies.
The Real Numbers
Need real numbers? Let's talk.
We kept the names off the page. The story is real, the outcomes are real, and we're always happy to walk a serious team through the rest of it.
Start a Conversation→More from Engineering

Cypress UI Automation: Accelerating Testing for a MERN Platform

Automating Customer Updates for Sales Success

Automating & Enhancing Sales Workflow
Insights from our blog
Artificial IntelligenceAI in Customer Success: 7 Ways to Automate and Grow
Customer success has evolved far beyond managing support tickets and scheduling periodic check-ins. Today, businesses are expected to deliver personalized experiences, identify risks before customers...
TechnologyWhy Vibe Coding Is a Real Risk , And What Engineering Leaders Need to Know Before It Breaks Production
On June 4, 2026, a frustrated maintainer of rsync, one of the most trusted file synchronization utilities in existence, the tool that tens of...
Artificial IntelligenceHow Our AI Workflow Saves Project Managers 3+ Hours Per Client
Every project manager we've ever worked with has the same relationship with their meeting notes: proud of them, and quietly resentful of what comes next....
