Glance>

Updated: July 22, 2024

Glance is a beautifully simple iOS application designed to give you an at-a-glance overview of your daily, weekly, and monthly spending. By securely connecting to your bank accounts, it provides a clean, minimalist interface focused on one thing: clarity in your personal finances. This project spans the full stack, from a native SwiftUI front end to a powerful Go backend, all tied together with modern cloud services.

Demo

Login ScreenSpending Dashboard
Account Linking

Project Purpose

Glance started as a hackathon project and has since evolved into a passion project and a powerful portfolio piece. The primary motivation was twofold: to build a real-world application that my friends and I could use, and to master new technologies like SwiftUI and Go. Glance showcases a full-stack skill set, from thoughtful UI/UX design on the frontend to secure, performant API development on the backend.

How It Works: The Full-Stack Architecture

Glance is built on a modern, decoupled architecture, ensuring security, scalability, and maintainability.

1. iOS Application (Frontend)

The user-facing component is a native iOS app built entirely with SwiftUI. It uses Firebase Authentication for secure sign-in, the Plaid Link iOS SDK for connecting financial institutions, and communicates with the backend over a secure REST API.

2. Go Backend (API)

A high-performance server written in Go, using the Gin web framework. It exposes REST API endpoints, verifies Firebase ID tokens to authenticate users, and securely communicates with the Plaid API to fetch and process transaction data.

3. Firebase & Plaid (Backend Services)

Firebase Authentication acts as the identity provider, while Firestore is used to store user data and encrypted Plaid access tokens. Plaid acts as the secure bridge to financial institutions.

Technology Stack

Accomplishments & Learnings

Future Work