Hello Codeforces community!
I'm excited to share a project I've been working on: CP-Assist, a desktop application designed to address the limitations of existing competitive programming tools.
Why I Built This
Unlike many existing tools that either support too few languages or are tightly coupled with specific text editors, I wanted to create something more flexible. As a programmer who values versatility, I found most existing CP tools too restrictive, so I built CP-Assist to work across different environments and with various languages.
Key Features
Editor Independence:
Works with any text editor or IDE of your choice
No lock-in to a specific development environment
Flexible workflow that adapts to your preferences
Extensive Language Support:
Wide range of programming languages supported
Customizable compiler flags and execution parameters
Pre-submission File Modification:
Unique Feature: Modify files before submission to include library files
Perfect for competitors who use personal algorithm libraries
Streamlines the process of preparing code for submission
Test Case Management:
Automatic import of problem statements and test cases via Competitive Companion
Organized interface for managing multiple test cases
Real-time verdict status for each test
Can add custom test cases
Code Execution:
Run solutions against test cases directly in the application
Track execution time and memory usage
Automatic comparison of expected vs. actual outputs
Tech Stack
I built CP-Assist using: - Rust with Tauri for performance-critical backend operations - React with TypeScript for a responsive UI - Mantine and Tailwind CSS for styling
Available For Download
You can check out CP-Assist at: https://github.com/tsych0/cp-assist
Available for: - Linux (AppImage, .deb, .rpm) - Windows (Installer)
Looking for Feedback
I'd appreciate hearing your thoughts on CP-Assist:
How does the flexibility compare to other tools you've used?
Which languages are you using with it?
Is the library inclusion feature helping with your workflow?
What other features would make this more useful for you?
I built this tool to address the limitations I experienced with other CP assistants, and I hope it can help improve your competitive programming experience as well!
GitHub: https://github.com/tsych0/cp-assist




