JVerify: Technical Discussion
The Idea
JVerify is an effortless, secure, and reliable phone number verification service (VaaS) designed to make it easier to create a more reliable web.
Developers who wish to easily verify user’s phone numbers can use JVerify’s APIs to send and verify a pin to a user’s device.
The Features (or planned features)
- Large-company looking website
- Usable documentation
- Stripe integration for metered billing
The tech stack
Frontend:
- HTML
- JavaScript
- CSS
Backend:
- Node.js (express)
- Stripe
- MySQL
- Redux
- DigitalOcean App Platform
What happened
This is a live and evolving project. I am the sole individual on this project, working as the buisness manager, developer, designer, and marketer. This app has had a ‘soft-launch’ but has not seen a large-scale launch or marketing campaign.
JVerify has not turned out to be a commercial success, but I am very proud of it: it was the first production-ready, high quality product I have brought forward. This was the first programming project that I truly applied the Engineering Process of a systematic approach to determining exactly what the problem I was trying to solve was, determining the best way to solve it (both technically and with a pleasant UX), properly pseudo-coding the solution, then implementing it in an organized and efficient manner. In doing this, I was able to iron out most of the logic issues before I even touched the code, and was able to efficiently write the code in a mantainable, minimalistic, and readable manner.
Although I was the only developer on this project, I forced myself to use the entire suite of tools availible on GitHub, like creating different branches for new features, properly testing them with staging servers, opening issues and pull requests, and using the GitHub project board to track progress and bugs. This was extremely valuable, and while not necessarily practical to implement in small single-developer projects, it was a great way to keep this project organized and an excellent way for me to learn how to use GitHub.
As far as deployment is concerned, this is the first time I deployed my code to a manged solution (DigitalOcean App Platform). Although it was more expensive, I did not need the extra configurability offered by a bare VM, and the easy deployment from GitHub and guranteed zero downtime made it a no-brainer.
Live site
GitHub
This is my only closed-source project.