
Q-Check
Scan. Verify. Trust.
Demo
About
The problem it solves The Problem QCheck Solves Every year, millions of people unknowingly purchase counterfeit or substandard medicines. For many patients, there is no simple way to confirm whether the medicine they are holding is real, safe, or properly distributed. They are forced to trust a long chain of manufacturers, distributors, and pharmacies without being able to verify anything themselves. When something goes wrong, it can cost lives. Today’s systems rely on centralized databases and manual record-keeping, which can be slow, fragmented, and vulnerable to manipulation. If a counterfeit product enters the supply chain, it is often difficult to trace where it came from or stop it quickly. The result is uncertainty in a space where trust should be absolute. How QCheck Helps QCheck creates a transparent and tamper-proof verification system built on Ethereum. Each medicine batch is registered on-chain and linked to a unique QR code. With a simple scan, anyone can verify whether a product is authentic and view its recorded journey through the supply chain. For manufacturers and pharmacies, this means stronger protection against fraud and easier verification of shipments. For hospitals, it adds an extra layer of safety before medicines reach patients. Most importantly, for patients, it offers peace of mind. Instead of blindly trusting the system, they can verify their medicine themselves. QCheck turns trust into something visible and verifiable, helping make healthcare safer and more transparent for everyone. Use of AI tools and agents I used Claude to help me design a clear roadmap for the project, defining features, workflow, and technical approach. Once the plan was in place, I used CursorAgent to assist with writing the actual code, including smart contracts, frontend components, and integration logic. Both Claude and CursorAgent were also used to debug the code whenever I ran into errors, helping identify issues and suggesting solutions. Together, these AI tools allowed me to move from concept to a working system efficiently, combining strategic planning, practical implementation, and error resolution.
How it's made
Challenges we ran into One major challenge was connecting the frontend to the smart contract on Ethereum. Transactions initially failed because the deployed contract address and ABI didn’t match those used by the frontend. Since blockchain calls are asynchronous and require wallet confirmations, debugging was more complex than a normal web app. I fixed this by redeploying the contract, verifying the ABI, and adding better error handling and logging to trace the issue. Another hurdle was gas costs. Storing too much data directly on-chain made transactions expensive. I redesigned the contract to store only essential verification data on-chain and reference additional data off-chain, which made the system more efficient and scalable.