figbert.com-website

[ACTIVE] the website and home of figbert on the clearnet
git clone git://git.figbert.com/figbert.com-website.git
Log | Files | Refs | README | LICENSE

index.md (5298B)


      1 +++
      2 title = "Envelope"
      3 description = "The banking platform with built-in budgeting"
      4 date = 2024-09-03
      5 updated = 2024-09-14
      6 [extra]
      7 type = "work"
      8 start = 2024-06-17
      9 end = 2024-09-06
     10 +++
     11 
     12 YCombinator's [job board] has high signal to noise for interesting work,
     13 but it's not every day that their internship tab has as compelling a
     14 phrase as "SwiftUI Engineer." I've been in love with SwiftUI, Apple's
     15 modern app-building framework, [for a long time]. Something about its
     16 [declarative nature] just clicks with how I think. I sent in an
     17 application, sat down for a live coding interview, and my summer plans
     18 were sorted.
     19 
     20 [Envelope] is a banking app. It serves as both your primary checking
     21 account and your budgeting platform: the two are seamlessly integrated.
     22 Every transaction that hits your bank is budgeted by default. Envelope
     23 lowers the barrier to entry for your most important personal finance
     24 habit: great budgeting.
     25 
     26 It also helps that Envelope brings all the polish of a fancy Silicon
     27 Valley company to banking, a field dominated by the jankiest apps known
     28 to man.
     29 
     30 ## Tenure
     31 One bullet point in the job description claimed that I would have code
     32 live in production starting from my first day. This was not true. But
     33 it was close! In my first week at the company, I built out a new feature
     34 shown—to every user, on the front page of the app—when assigning a
     35 transaction to an envelope. It is now one of the most used pieces of UI
     36 in the app.
     37 
     38 Over the rest of the summer, I continued building and iterating on
     39 practically every facet of the application. By my count we shipped nine
     40 long-requested major features and redesigns, touching everything from
     41 transactions and envelopes to onboarding and the organization of screens
     42 within the app. I took a look on my last day at our improvised Figma
     43 kanban board, and was happy and more than a little bit surprised to see
     44 the done column overflowing with projects we'd shipped.
     45 
     46 ![40 commits, 12,205 added lines, 8,797 removed lines](github.png)
     47 
     48 One particularly fun piece of work that I'd like to immortalize here was
     49 totally removed from feature development: we once spent two days
     50 debugging the [Stytch] [JWT] that our app uses to authenticate users.
     51 When we ultimately located the bug—a particularly nasty problem with
     52 refreshing the token that rendered it invalid after using the app for
     53 longer than five minutes at a time—we were able to fix it with one line.
     54 We also got a DM from a co-founder of Stytch out of the whole
     55 experience, and sent them some API design pointers that I sincerely hope
     56 make it back to [their SDK] one day.
     57 
     58 I'm excited to see Envelope grow, and for the additional features
     59 that I didn't have time to put in your hands to see the light
     60 of day. From closer integration with external money sources, certain
     61 additional banking tools, and some cool UI we couldn't ship due to
     62 dependency issues—I'll be keeping an eye on the future of the features I
     63 built out and the future of the whole enterprise.
     64 
     65 ## Reflections
     66 Josh, the CTO, is brilliant. I was the second engineer at the company—a
     67 fun statement for me in its own right, but also formidable by
     68 implication. Josh built out the entire backend, external integrations,
     69 and SwiftUI application, and had been running them both as a serious
     70 product for two years as the only technical person on the team. Josh is
     71 deeply opinionated about how software should be developed and
     72 maintained, employing a crazy effective philosophy breaking complex
     73 problems down into distinct patterns. He is deeply talented, and I spent
     74 a good part of my internship just trying to absorb some fraction of his
     75 skill.
     76 
     77 The realities of the job were also completely new to me. Working a 9-5
     78 took some getting used to; at Stanford, I am surrounded by people doing
     79 crazy and fun things from the moment I wake up until I pass out and in
     80 class for maybe three hours of the day. In school, the day is for play
     81 and work is confined to some fraction of the evenings, but at Envelope
     82 this was flipped. I think I obviously appreciate the flexibility of how
     83 work is done at Stanford over the more traditionally rigid hours. It's
     84 nice to have time to ponder, to be free to meet with people for lunch
     85 and tea throughout the day. My work at Envelope also helped me
     86 contextualize the sort of programming I want to do in the future. Pure
     87 frontend work, devoid of context, is just making a hundred buttons a
     88 day—and when you've made one button, you've really made them all.
     89 However, working with data, building out new functionality, reshaping
     90 and redesigning the user experience: that is deeply fulfilling. My time
     91 at Envelope allowed me to touch on all of these aspects of development
     92 and take a holistic approach to my work.
     93 
     94 My time at Envelope was a blast and a privilege. Every change I made
     95 went out to thousands of people using our app on a daily basis. What an
     96 incredible opportunity it was to be able to shape something like that so
     97 directly.
     98 
     99 [job board]: https://www.workatastartup.com
    100 [for a long time]: @/projects/txtodo/index.md
    101 [declarative nature]: https://en.wikipedia.org/wiki/Declarative_programming
    102 [Envelope]: https://envelopebudgeting.com
    103 [Stytch]: https://stytch.com
    104 [JWT]: https://datatracker.ietf.org/doc/html/rfc7519
    105 [their SDK]: https://github.com/stytchauth/stytch-ios