eRepublic Registration Management System (ERMS)
ERMS is a Windows and OSX desktop application that allows the management of every aspect of the eRepublic event registration process.
About This Project
The eRepublic Registration Management System is a powerful desktop application that works as a control center for managing event registrations at live events. It was built to provide a streamlined user experience for event attendees to quickly register onsite and receive a badge syncing in realtime with Salesforce.
Key Achievements
- 'Write once deploy anywhere' cross-platform Windows and OSX desktop application using Electron and Typescript
- Used SQLite for local data storage and syncing with Salesforce, allowing for full offline capabilities
- Used SOQL and Salesforce's realtime event streaming to sync data with Salesforce for event attendee data in realtime
- Implemented a powerful hub-spoke architecture allowing for onsite offline data syncing between hardware + software nodes
- Used Ollama to build a local AI agent that could be used to answer questions about the event and the registration process
- Designed and implemented robust training proceedures and documentation for staff all with offsite AI RAG functionality for in-depth support at events.
Related Projects
Related Publications
Articles that cover technologies and skills used in this project
Benchmarking Models in the Real World
I tested a bunch of SOTA LLM models on real world agentic tasks that go beyond coding and typical business processes and really stress them. There were some shocking...

Prop Drilling is a Code Smell When Used Incorrectly
Prop drilling is considered an anti-pattern in React because it involves passing props down multiple levels of a component tree, even when only a few components need them. This can lead to several...

3 JavaScript Array Sorting Algorithms and When to Use Them
Let’s compare three common JavaScript array sorting algorithms: Bubble Sort, Merge Sort, and Quick Sort. I’ll explain each, provide examples, and highlight when each would be most appropriate.1....