CTO/Co-founder @ SkipassGo

As the Lead Developer, I assumed a pivotal role in spearheading the creation of an entire suite of products and a cutting-edge technology stack, commencing from the initial design phase and culminating in successful deployment, complete with the meticulous execution of implementation steps.

Design of Key Components

My responsibilities encompassed the intricate design of the following essential components:

  • Overall Architectural Design: Crafting a scalable, cloud-based system architecture.
  • RESTful API Development: Constructing a robust API to serve various services, including CRUD operations for data models conforming to ski industry standards, product retrieval, product booking, data pipes for user interactions data, and integration with third-party systems.
  • Tracking Widgets: Developing widgets for seamless integration into customer websites.
  • Whitelabels for Ticket Booking: Implementing a comprehensive purchase flow, including product display, data input, payment gateway integration, and voucher issuance.
  • Email Gathering Widgets: Creating widgets for email capture on customer websites.
  • Integration with Third-Party Systems: Enabling seamless connections with payment services and email management solutions.
  • Business Intelligence Platform: Establishing a platform for real-time data querying from various products used by our customers.
  • Proactive Dynamic Pricing Engines: Implementing sophisticated pricing strategies.
  • Concurrent Backoffice Area: Developing an administrative area for customer operators to manage booked services and vouchers.

Implementation

The initial implementation phase adhered to a Test-Driven-Development (TDD) approach, with the utilization of the following programming languages and frameworks:

  • PHP: Employed for backend development of the RESTful API, whitelabels, widgets, and the business intelligence platform.
  • JavaScript: Utilized for frontend development of whitelabels, widgets, business intelligence UI, and back-office functionality.
  • AngularJS: A primary framework for rendering dynamic user interfaces and transferring the presentation layer to the client-side.
  • Node.js: Used as the backend for components requiring concurrent user interactions, such as the back-office section used by customer operators.
  • Laravel: Employed for backend development of the API and whitelabels for product purchases.
  • Django: Applied to structure ETL pipelines for data ingestion and transformation.

Maintenance

Ongoing maintenance of the system entailed the following key activities:

  • Deployment on Amazon Web Services (AWS).
  • Architectural enhancements to optimize cloud resource costs.
  • Implementation of deployment techniques for continuous delivery and effortless horizontal scaling, incorporating database replicas and load balancers.
  • Integration of centralized monitoring and logging solutions to minimize operational costs and address any potential issues effectively.

Integration with Key Services

Integration efforts extended to essential services and platforms, including:

  • Payment Services (Xpay)
  • Software Usage Analysis (Google Analytics)
  • Weather Forecasts (Meteoblue)
  • Third-party Software for Industry Standards and Services (e.g., TourPlan)
  • Mailing List Management Services (MailUp)

Throughout the project, Agile methodologies and Lean principles guided our approach. Noteworthy aspects include:

  • Cost Control: As a startup, cost minimization was a priority. Each sprint aimed to reduce computational costs and optimize processes, incorporating automated configuration management and propagation.
  • Stakeholder-Centric Design: Stakeholder needs and product flexibility were at the core of the design phase, ensuring adaptability to various customer requirements.
  • Stepwise Development: A stepwise approach to software development, releasing deployable, tested, and trackable software with each iteration.

The project revolved around fulfilling our clients’ need to track and leverage website visitor data, ultimately converting users into leads. This multi-phased approach spanned several ski seasons:

  • Customer User Base Analysis: Initiating with an in-depth analysis of customer website traffic, often utilizing Google Analytics, followed by the deployment of tracking widgets in strategically identified website sections.
  • Dynamic Pricing Strategies: Utilizing historical data and customer profiling, we enabled customers to sell ski passes online, sometimes employing dynamic pricing strategies.

My role involved ensuring the precise execution of these steps:

  • Validating the functionality of deployed software.
  • Verifying the accuracy of data collected from various streams.
  • Collaborating with customer staff to integrate our systems into their platforms.
  • Ensuring all stakeholders had access to the necessary processed and raw data.

In some instances, unique challenges necessitated novel solutions, such as the development of new tracking widgets. My responsibility extended from the design stage, with a focus on creating reusable solutions applicable to similar contexts and seamlessly integrated into the company’s broader environment, thereby enhancing its business value.

Additionally, I oversaw database design and data management, driven by the following principles:

  • Data Integration and Feature Enrichment: Connecting data from various sources to facilitate data exploration and traversal.
  • Data Collection and Creation: Identifying data to track across user platforms and selecting data sources for integration to enhance insights.

This project epitomized a commitment to innovation, efficiency, and customer-centric solutions, showcasing a dedication to excellence in every facet of development and implementation.

Toolkit