
From Non-Technical to Founder of a Smart Contract Development Company
Introduction
When Contract Level first encountered smart contracts, he was entirely non-technical and convinced he wasn’t smart enough to become a developer. Today, he runs his own smart contract development and consultancy firm, helping projects build audit-ready codebases through rigorous testing and a security-first mindset. He is also developing YieldCoin, an automated cross-chain stablecoin yield optimizer that delivers advanced testing techniques and won the grand prize in the Chainlink Chromion hackathon.
His transformation, from someone googling “what is HTML” to a developer who doesn’t call a codebase complete without Certora Prover verification and comprehensive invariant testing, was made possible through Cyfrin Updraft’s in-depth, structured courses.
Is this divine intellect, or is this too much voodoo for the next ten centuries?
— Terry Davis
My background and journey to smart contracts
Before I became technically familiar with smart contracts, I focused on building a strong conceptual foundation. What drew me in were the usual appeals of reliability, self-sovereignty, and long-term impact, which resonated deeply. Still, despite knowing about Bitcoin for years, I never invested.
Eventually, I stepped back to reflect on what I should pursue long term. I asked myself, “What would be a fulfilling life pursuit?” and kept returning to smart contracts. No other technology matched its transformative potential. They’re already reshaping how people think about trust, with consequences that will ripple far into the future.
Writing smart contracts felt like the best way to create a lasting impact. Imagine if the great thinkers of the past could encode their ideas into immutable, self-executing programs, persisting for centuries beyond their lifetimes. On top of that, everyone I’ve seen persevere in smart contract security seems genuinely happy and fulfilled.
My journey into secure smart contract development started with something far more basic and unrelated: googling "what is HTML."
Someone suggested Crypto Zombies as a way to learn Solidity. But, before I could even start, there was a disclaimer saying JavaScript would be helpful. So, I looked for a tutorial and the first thing I saw was an <html>
tag. I had no idea what it meant.
At the time, I still believed I wasn’t smart enough to be a developer. But I kept going…a month on HTML and CSS, two months on JavaScript, then on to learning Solidity.
Around that time, I discovered Patrick Collin’s Hardhat course. And, a significant shift happened: I realized most projects just copy-paste OpenZeppelin contracts. It was disillusioning but also motivating. The real value was in understanding security and building systems correctly.
Finding Cyfrin Updraft and how it transformed my career
I first came across Patrick online, but didn’t pay much attention. I was intrigued by smart contracts conceptually, but hadn’t yet developed an interest in their technical implementation. Still, I loosely followed his work, and that’s how I found out about Cyfrin Updraft when it launched.
What sets Cyfrin Updraft apart from other learning platforms is its combination of clarity, depth, and accessibility. The courses are free, the recordings are high quality, and the pacing is spot on, even for complex material. For me, the logical progression looked like this:
Blockchain Basics → Solidity Smart Contract Development → Foundry Fundamentals → Advanced Foundry → Smart Contract Security → Formal Verification
The formal verification course made the biggest personal impact. It introduced me to Certora Prover, a tool I now consider indispensable, and helped deepen my understanding of smart contracts more than anything else. I went on to study every tutorial in the Certora docs and watched their full set of presentations. But it was Updraft’s foundational approach that made it all click. The way it teaches you how to think, not what to think, is one of its biggest strengths.
From a financial standpoint, the Advanced Foundry course was the most valuable. Despite starting from a non-technical background, many of my early professional contributions came directly from what I learned there.
Updraft opened the door to multiple job opportunities, and its content matches real-world demands with impressive precision. My entire development process, from ideation to audit-ready codebase, relies on Updraft-taught first principles.
Secure development and the power of thinking in invariants
One of the most compelling aspects of security research is how creative thinking leads to tangible results.
In many disciplines, you can explore fascinating ideas without ever seeing them materialize. With smart contracts, you can imagine something new and then actually watch it run. It’s a feedback loop powered by asking the right questions…which must be good questions. Only then can the search for the correct answers begin.
Interestingly, many breakthroughs don’t happen while coding. They emerge in downtime: at the gym, driving, or doing something completely unrelated. That’s what makes secure smart contract development so intellectually rewarding: it engages both logic and imagination.
Cyfrin Updraft gave me the core tools for this work: Solidity, Foundry, Certora Prover, invariant thinking, a security-first mindset, and strong architectural decision-making.
While I appreciate tools like Halmos and Chimera, I focus mainly on Certora Prover and invariants in Foundry. It’s a conscious choice. To go deep, not wide.
A major milestone came during the Sablier v2 audit on CodeHawks in May 2024. I had used the final project from Updraft’s security course to practice writing invariants. They weren’t sophisticated at first, but reviewing the Sablier codebase confirmed I was on the right path and showed me where I could improve.
I also use tools like Slither, Aderyn, and Solodit, and occasionally test various LLMs with mixed success. Cursor is helpful for generating repetitive unit tests, but less reliable with complex logic. There’s another static analysis tool called 4naly3er that I’d probably use more if I remembered it existed. Ironically, AI helps with almost everything, except Solidity and CVL (Certora Verification Language).
Building Contract Level and YieldCoin
I currently run my own company under the Contract Level brand, offering smart contract development and consultancy. We support projects from initial ideation to audit-ready codebases, which can then be reviewed externally by an audit team like Cyfrin’s.
For me, a contract is “audit-ready” when I struggle to find anything else to test. At that point, all execution paths have been explored by Certora Prover and key invariants are in place. If it doesn’t meet that standard, it’s not ready for an audit because it’s not finished.
Sometimes I also advise on operational security and best practices. This includes testing strategies, implementation guidance, and wallet security.
Interestingly, even though Cyfrin shares much of this knowledge publicly, serious projects still value having someone walk them through the implementation. When clients reach out, I often respond with specifics like, “This is the invariant you need to test,” or “Your contract should conform to this ERC standard.”
The philosophy behind Contract Level is continuously evolving, but the core remains: simple contracts, deeply tested. The work is flexible and close to contracting. I value the freedom to set my hours. Some months I work 20 hours, others 300. I use downtime to research, often diving deeper into security tooling or Chainlink integrations.
I’ve developed a strong focus on Chainlink because its services are foundational to smart contracts, and I believe the entire world will eventually depend on its infrastructure. The technology is exciting and full of creative potential. All my clients have come through word-of-mouth referrals within the Chainlink community, and I’m happy with this organic, reputation-driven growth.
Lately, I’ve been building YieldCoin, an automated, cross-chain stablecoin yield optimizer, initially developed for the Chainlink Chromion hackathon. It uses several Chainlink services and prioritizes simplicity, aiming to offer the best yields from the lowest-risk protocols across chains.
What started as a way to demonstrate the Contract Level development philosophy and the advanced testing techniques learned through Updraft has evolved into a project that’s gaining real interest.
The most significant part of developing YieldCoin was discovering and fixing a critical invariant-breaking bug, one that could have resulted in real loss of user funds.
What makes this experience so important is how the bug slipped through full unit test coverage and static analysis. It only surfaced during invariant testing, which revealed a deeper flaw in how YieldCoin tokens were minted during stablecoin deposits.
Initially, I believed the issue was mitigated using a donation deposit, similar to techniques used to prevent inflation attacks in vault contracts. But the bug resurfaced during formal verification with Certora Prover and I suspected it might be a precision loss issue.
The real problem was subtle but dangerous: incorrect values were used to calculate how many YieldCoin tokens to mint in exchange for a deposit.
The calculation relied on three values: YieldCoin.totalSupply()
(across chains), the system's totalValue
, and the usdcDepositAmount
. However, the code fetched totalValue
after the deposit occurred, causing the totalValue amount to be higher than it should have been. As a result, users were minted fewer YieldCoins than they were owed, effectively losing part of their deposit.
If this had been a competitive audit, I would’ve been thrilled to catch something so critical. But since it was a hackathon, it was a bit frustrating. Still, it turned out to be the most important learning moment of the entire process, which I detailed in this article.
Finding and fixing that bug was only possible because of the deep, layered testing strategy I adopted from Cyfrin’s security curriculum. It was a clear reminder that even code that “passes all the tests” can be broken, and that robust security comes from a mindset, not just coverage.
Since I genuinely want to use YieldCoin myself, I’ve paused client work to focus on building it. This project isn’t just a showcase but a product I’m truly passionate about.
YieldCoin was recently awarded the grand prize in the Chainlink Chromion hackathon, which was a huge personal milestone and an incredible honor. I’ve always held Chainlink’s contributions to our industry in high regard, so receiving this reward meant a lot.
Special thanks to Cyfrin Updraft for providing the resources that made this possible, especially in invariant testing, formal verification, and security-first thinking. I’m also grateful to Concero for the inspiration behind the idea, including the Parent-Child architecture and custom CCIP tx types.
For anyone interested, I’ve shared more technical insights and decisions in the full YieldCoin Chromion Hackathon Dev Notes.
Looking forward and advice for aspiring blockchain developers
I’ve long been interested in building compliant, identity-based smart contracts, which I believe carry both immense practical value and society-shaping philosophical potential. The first codebase I built under the Contract Level brand, “Contract Level Compliance,” was a prototype that used Chainlink to automate the execution of regulatory-compliant smart contracts.
This experience led to identifying the key technical limitation currently facing on-chain identity and compliance: a lack of absolute sybil-resistance by consensus. To address this, I am currently researching a Decentralized Fuzzy Extractor solution as a proposal to GLEIF's vLEI hackathon.
Fuzzy extractors are a cryptographic technique for deriving a key from "noisy" data, such as biometrics - which could then be used as the base private key for an on-chain identity. This would guarantee a transaction can only have been executed by a single, unique individual.
My advice to anyone pursuing blockchain development is simple: take Updraft courses and apply what you learn consistently. Everything else follows.
The web3 space is full of learning paths: smart contract engineering, security, research. You’d be surprised how far consistent practice will take you when Updraft’s teaching guides it.
You don’t need to master everything. If one or two areas spark your interest, go deep. You’ll stand out.
Share your work, your progress, your experiments. Even non-technical people enjoy seeing it. This is a field where everyone benefits from each other's participation.
As for my own success? I attribute it to one thing: consistency.
How do I stay current with tools and best practices? Cyfrin’s resources, alongside documentation from Chainlink, Certora, and Foundry. And then I sift through the noise on social media.
Final thoughts
What I appreciate most about Cyfrin is its unmatched passion for improving this space. I started out googling "what is HTML." Now I run a smart contract development company. That transformation has been nothing short of incredible.
Cyfrin Updraft didn’t just teach me technical skills. It taught me how to think about smart contracts, how to approach problems systematically, and how to build with a security-first mindset. That shift in thinking made all the difference.
If you’re where I was a few years ago, thinking you're not technical enough, not smart enough, you are wrong. You just need consistency, the right resources, and the will to keep going. Cyfrin Updraft gives you the roadmap. You just have to follow it.