top of page

PROJECTS: Ada Overview


As a settle into the job hunt and a continued lifetime of learning, I want to maintain perspective on all the progress (and hiccups) I've made so far.


There was this common pattern within Ada that, after you've finished a project, it seemed so much easier retrospectively. It's a testament to learning-by-doing, certainly, and it's truly amazing to see just how much we've all grown within this timeframe, but it can also be... well, a bit cringey. Simultaneously, I want to appreciate the work I and my teammates put into these projects, and I also want to flash forward another year to show off a new set of projects that demonstrate all of the progress and none of the growing pains.

But that's unrealistic, and, more over, there is value in recognizing, learning from, and them moving forward from mistakes and past eras. Some of these projects show signs of looming deadlines, unavailable development environments (Ada used Macs, my personal laptop uses Windows), or plain rookie decision making. And that's okay! I have bigger, independent projects I'm super excited to get to, and I want this to be an honest testament to how I got here.

BACKEND 🐍


TASK LIST API - A to-do list API, using Flask, SQLAlchemy, and PostgreSQL. This project was the cumulation of the first two units of Ada and months of work and, I think, a bit of a turning point between fiddling with code and becoming a software engineer. There's a reason we all start with "Hello, World!" and learning the fundamental pieces of coding, but I remember having a bit of existential confusion about how a game of scrabble can turn into The Entirety of Everything. But this? This truly felt like making something.

LESSONS LEARNED: A late bug my partner and I ran into it stemmed from neglecting to appreciate how models interact. Of course, that's the benefit of test-driven development — you can't neglect older pathways while adding new features!


INSPIRATION BOARD - I'm going a little out of order here, but I wanted to continue the theme of true creation. Inspiration board was our last formal project with Ada before our capstones, and it meant building a full stack application from the ground up. Essentially, "Inspiration Board" is an intersection of The Platform Formerly Known as Twitter and a mood board, where users could add uplifting quotes, like them, or delete them; all that CRUDdy goodness. Silvia Xu and I developed the backend in collaboration with our frontend teammates (special shoutout to Nicole Mejia for her React magic).


Again, I was struck by the experience of truly being able to build something. In the beginnings of learning both backend and frontend, it was frustrating to not be able to truly connect with what you were doing — how JSON could truly inform a webpage, or how to meaningfully fit frontend around chunky external APIs. There are plenty of situations to be grateful for all the work others have done to make your job easier and fill in gaps of knowledge, but I've also found that end-to-end responsibility for a project can make for... not less work, but more meaningful work.


LESSONS LEARNED: A few practical realities of this project: it was assigned over the holidays, and then we were all in the midst of interviews with our future corporate landing spots. Obviously, within the professional world, we're also not blessed with infinite, uninterrupted time, but that leads back to being smart about the work you do. It's a bit of a cliché, but at the heart of being a good programmer is being a good problem solver. That means having a clear understanding of the heart of your project and the tools at your disposal, while also keeping your head up enough to stay connected to your team. I'm sure we were all stressed trying to get this over the finish line, but I'm really proud of what my team pulled off.


FRONTEND📒📙📘


WEATHER APP - A classic project, and my first real experience in frontend, done in vanilla JavaScript/HTML/CSS, connected to the LocationIQ and OpenWeather APIs through Axios.


In its live form, the site responds to searches within the BASED IN: bar, displaying the temperature and weather of that location, then allowing the user to modify that information through the available inputs. (It also used American Typewriter, instead of the default serif).


LESSONS LEARNED: Everything!


Frontend definitely didn't come to me as easily as backend, and I had to make the most of the resources available to me to get this project over the finish line. But, like a proto-Inspiration Board, it was incredibly satisfying to get all the pieces to fit together. It's that combination of wanting to learn more and pride in the final product that inspired me for...


fullstack capstone (KINDA) 🔗


🌌 IN THE STARS🌠- Let's start from the beginning: I was inspired by two things while trying to decide what to do in my capstone. The first was the lingering SWE existentialism: what's out there, outside of web development? The second was my discomfort with my discomfort in creating UIs that I could be proud of.


I ended up in the land of desktop application frameworks that empower cross-platform development, and would therefore play nice with the technologies I'd just spent months learning. For example, Slack's desktop app is built on Electron, one such framework.


... I didn't use Electron. I used Tauri, a lightweight alterative built in Rust. I also decided that I wanted the app function offline, leaving a built-in SQLite database to function as my "backend." And, while I was casting aside popular, well-established frameworks, I also decided to develop my app in Svelte, instead of React.


There were reasons behind my madness. I grew up in places where internet access wasn't always the most reliable, and have spent most of my adult life with notebooks whose approach to local memory put a lot of trust in the cloud. This was also a time where downgrading to dumb phones was in the news and a topic among my friends. They're a series of outliers that maybe shouldn't always be at the forefront of tech innovation, but they're still real experiences I wanted to explore with this project.


So, without further ado: IN THE STARS, a journaling app that strongarms a website into a gamified loop, inspiring introspection from users with the framing of a tarot card reading.




LESSONS LEARNED: Let's address the obvious - I don't know Rust, and that introduced some bugs I didn't know how to address as I tried wrapping up this project. I now know how common of a misjudgment it is to try and optimize your work too early, especially within the wake of a hype wave (Tauri and Sveltekit's 1.0 versions were both under a year old at the time). That's not to say I used bad technologies and frameworks, but that is why focusing on what needs to be done, how it can be achieved, and the support there will be along the way are important aspects of effective planning and execution. Which my instructors definitely told me at the time, but sometimes you have to experience something first-hand, and have that experience within a personal project?


Overall, I'm still really proud of ITS and the exploration it inspired. I'll definitely be returning to Svelte someday, and, as I said at the top, all I've learned and experienced so far has put me in a great position to make some really cool stuff.

Commenti


bottom of page