AI experience and making of Secret-link
AI has been making headlines frequently due to its growing influence in software development, ranging from AI-powered code completion to AI agents that resolve issues and even develop new features. Its growth has been exponential over the past few years.
As a curious software engineer, I couldn’t remain oblivious to all this. I tend to rely on AI extensively in areas that don’t particularly interest me, such as frontend development and UI design. In these domains, I’m more than happy to let AI take the lead, while in others, I prefer to keep it in a supporting role.
With this in mind, I set out to create a web app. I needed to decide on a project, ensuring it wouldn’t take more than a weekend to complete, while also allowing me to learn something new during the process.
Ultimately, I drew inspiration from a tool at work called “Secret Shark”, which is used to share secrets like database credentials over unsecured channels such as Slack. Building something similar seemed straightforward and offered opportunity to learn about cryptography, making it an ideal weekend AI project.
At a high level, the app is straightforward: a user enters a secret they want to share. Using the browser’s Crypto API, I encrypt the secret and send the ciphertext along with a random seed, called a nonce, to the server for storage. The server responds with part of the secret link URL, while the other part consists of the actual cryptographic key used for encryption known only to browser. This ensures that only those with full secret URL can decrypt it. Additionally, I also implement auto-expiry based on time and one-time access functionality.
I decided to build it using Rust for the backend, paired with the Askama template engine, and HTMX for the frontend.
During the backend development phase, I relied on AI primarily for autocompletion and, in some instances, inline refactoring. One of the most significant contributions from AI during this stage was when I needed to work with cryptographic libraries. Without having to dive into the documentation, AI Chat provided highly useful examples that not only sped up the process but also helped me grasp high level concepts of AES-GCM encryption.
During the frontend development phase, I took a backseat and leveraged Cursor’s agentic AI to generate all the frontend code. In agentic mode, Cursor equips its AI model with a comprehensive, project-wide semantic knowledge base. Combined with my prompting skills, this enabled it to rapidly produce a frontend that exceeded my expectations—I couldn’t have imagined it myself. While I did need to iterate with the agent on certain UI sections, overall, it absolutely nailed the design. You can check it for yourself by visiting the site.
Overall, I’m really pleased with my AI experience, and I’m planning to purchase the Cursor Pro version since I ran out of free trial limits for Cursor’s Agentic AI during the process.
Web app is available at: https://secretlink.coder3101.com
“Beauty of an AI, Brains of a Human - Together beauty with brains”