Technology stack behind CVsIntellect

CVs Intellect
Technology @CVsIntellect
2 min readApr 24, 2014

CVsIntellect is a free online resume builder based on LaTeX.

Technology stack:

  • AngularJS
  • Google App Engine (Java + JDO)
  • Amazon EC2

Single Page Application (SPA) using AngularJS:

Once you sign-in, the whole application runs as a single page app. We used AngularJS to achieve this. AngularJS is exactly how HTML would have been if it was created for dynamic websites. We just managed the JavaScript objects based on user interaction & server updates and AngularJS took care of reflecting it on the UI, we wrote zero DOM interactions. It’s two-way data-binding & template definition features are simply amazing.

Running on the Cloud with Google App Engine (GAE):

We are deployed on GAE (Java + JDO). This takes quite-some stuff off the developer’s plate like server monitoring & maintenance, database maintenance and provides a lot of niceties like zero downtime deployment, scalable NoSQL database, auto-scaling with on demand instances. Its been a real pleasure working with GAE till now. At times, things do go wrong leaving us anxious, more so because lots isn’t in our control. However, there is a sigh of relief that engineers at Google strive hard to make stuff seamless for us!

LaTeX engine on Amazon EC2:

We use LaTeX to create resume PDFs. It creates some really stunning results. We use CLSI to convert Tex scripts to PDFs. CLSI made it possible for us to get up & running with LaTeX. GAE does not allow custom software to be installed on their servers. So we needed a Linux server on which we could host CLSI. We chose to host it on EC2 instance. GAE sends across the Tex script & CLSI provides the link where the PDF could be downloaded from. GAE then downloads the PDF from EC2 instance & sends it to user. All this happens behind the scenes and user does not know about this.

Complete list of tools & technologies we used to create CVsIntellect can be found on our Credits page.

We intend to make most of our code open-source, explain the problems we faced on our way, the solution we chose & its implications. Keep readin!

--

--