You are browsing as a guest. Sign up (or log in) to start making projects!

elifeldman769

@elifeldman769

Joined June 2nd, 2026

  • 3Devlogs
  • 3Projects
  • 2Ships
  • 30Votes
Ship

This is my personal website, built in React and hosted on Vercel. I designed most of it with smaller screens in mind first, since my hope was to render it best on the screen of phones, then made sure everything held up on desktop too, using different tailwind classnames for different screen sizes so pages fit well on small, medium, and large screens alike.

The home page is smaller and vertically centered rather than using the full width like the rest of the site, since it's the first thing anyone sees and I wanted it to feel right on a phone before anything else. On the top left of the navbar, it dynamically renders the current page name based on the url you're on, and on small screens the links collapse into a hamburger button that opens into a full screen menu.

For the gallery, I built an indexed system that automatically tiles a group of photos and displays them, hovering a photo reveals its caption sliding up from the bottom. Originally the captions came from the photo's filename, split by underscore, so each member of that array got appended with spaces to become the string making up the name of the place, which is what shows up on hover. The gallery is much nicer now and loads quickly too, since I wrote a js script to go through each image and compress it, taking the photos from 40 MB down to about 4MB, meaning the page loads much much faster. The two photos that are actually portraits of me get compressed less aggressively than the rest so they stay sharp, since those are the ones I want search engines to associate with my name.

I wanted to make sure the site would be easy to add to in the future, so the projects page pulls automatically from a JSON file. I specify a title, date, description, image path, and links, where I just give a tag name for each link and it renders in a unified button format. These are autopopulated with reference ids and jump to the right spot automatically, going straight to that project's section, and they also get added to a table of contents at the top automatically, so adding a new project is just adding a JSON entry, nothing else. Publications works the same way, off its own JSON file, showing the paper's title, authors with my own name auto-bolded, venue and year, and the same flexible tag and link buttons as projects.

The CV page is taken from the latex code of my actual resume, restructured into that same JSON format so it renders natively on the site instead of just being an embedded PDF, with the option to download the compiled latex pdf too. The publications section on that page pulls from the exact same JSON file the publications page uses, so I only ever add a new paper in one place and both pages stay in sync.

The blog has search and topic filtering over a list of posts, and each post's actual content is a static html file that gets fetched dynamically based on the url, so writing a new post is dropping in an html file and a metadata entry rather than writing more react. Contact is just emails and socials, written with brackets around the at sign to dodge the most basic scrapers.

I put the site on google search console with a sitemap so it gets indexed properly, and spent time making sure page titles, descriptions, and image metadata are set up right so photos of me actually have a shot at showing up when people search my name, without cluttering the site with extra images just for that purpose.

Overall I really love the theme of this site, with the blue accents, I got some inspiration from other research portfolios I'd seen. Before this it was pretty scattered, without a gallery or projects page, and mostly just had the home page with a weird VantaJS background running on it. Now it's a lot more complete: a dynamic gallery, a projects page and publications page that both pull from JSON so they're easy to keep updated, a CV page sourced from my actual resume, and a blog that can actually grow instead of being one hardcoded post.

  • 2 devlogs
  • 12h
  • 16.30x multiplier
  • 192 Stardust
Try project → See source code →
Open comments for this post

4h 35m 59s logged

Devlog II: Personal Portfolio

The devlog today showcases in a sense more of a refinement with several large QOL updates, along with 2 more pages.

Firstly, I optimized the site for mobile. All pages are now fit well for small or md screens by using different tailwind classnames for different screens.

Second of all, the gallery is much nicer now and loads quickly, since I wrote a js script to go through each image and compress them. This took them from 40 MB -> 4MB, meaning the page loads much much faster.

Next, I wanted to ensure that the site would be easy to add to in the future, so the projects page now pulls automatically from a JSON file. It can have tags for links that render in a unified format and I specify file path, description, title. These are autopopulated with reference ids and go to the table of contents automatically.

I added a publications page to showcase my last paper, and those in the future to come. The CV is taken from latex code from my resume and is just a JSON structured format. It has the option to download the latex pdf too.

0
0
5
Open comments for this post

7h 11m 47s logged

Devlog I - Personal Website

For a bit of context, I worked on this site earlier however before it was pretty scattered without a gallery, projects, and mostly just had the home page with a weird VantaJS background. I apoligize for not dev logging over the past 7 hours, since I got so caught up in dev work.

For a brief overview, several features I built were:

  1. an indexed gallery system that would automatically tile a group of photos in a folder and display them. it would take the name of the photo and split it by _. for each member in the array, it would append it with spaces to become a string making the name of teh place that can be hovered over.
  2. On the top left of the navbar, it’ll dynamically render the url based on what page you are on
  3. The home page is smaller since my hope was to render it best on the screen of phones. I designed most of the site with smaller screens in mind
  4. For projects, I rendered a table of contexts that will jump to projects/#project based on the selected one, automatically going to that index of the page. I linked the code to previous project, bioblitz, however I still need to add more.
  5. I put the site on google search console with a sitemap so it will soon be indexed.

Overall, I really love the theme of this site, with the blue accents. I got some inspiration from other research portfolios. In the future, I want to redo the blog page fully since it didn’t have much before but one not dynamically rendered post. Attached are some photos of the pages.

0
0
1
Ship

```md
# The TJ Rocketry Platform

Over the last month, I have been developing a centralized platform for TJ Rocketry to streamline many of the club's operations. The project is backed by PostgreSQL and combines attendance tracking, inventory management, file storage, and administrative tools into a single system.

## Attendance and Launch Management

One of the major additions has been an integrated attendance system. Officers can create launch events and generate attendance codes, allowing members to check in through the website. Attendance records can then be exported directly as CSV files, significantly reducing manual work.

## Inventory System

I implemented a complete inventory management system to keep track of rocket components and supplies. Members can browse available items and submit requests, while officers can approve or deny them. The system automatically tracks inventory quantities and request history, making it easier to maintain accountability.

## File Storage

To centralize documentation, I built a file system inspired by Google Drive. Members can upload, organize, and access CAD files, reports, presentations, and other club resources through a familiar interface.

## Resource Hub

The platform also serves as a repository for important documents and resources. Guides, documentation, and reference material are organized in one location, making information easier to find for both new and experienced members.

## Administrative Dashboard

A full administration panel was developed to provide officers with complete control over the platform. User permissions, launches, inventory, and other aspects of the system can all be managed through a web interface without requiring direct database access.

## Technical Highlights

- PostgreSQL-backed storage
- Role-based access control
- Attendance and launch management
- CSV export functionality
- Inventory request and approval workflows
- Integrated file storage system
- Administrative dashboard

Over the last month, the platform has evolved into a central operating system for TJ Rocketry. The goal has been to reduce overhead for officers and provide members with a single location for everything they need. Future development will focus on expanding automation and adding additional tools to support the club's engineering activities.
```

  • 1 devlog
  • 11h
  • 17.21x multiplier
  • 172 Stardust
Try project → See source code →
Open comments for this post

11h 24m logged

Devlog: Building the TJ Rocketry Platform

Over the last month, I have been developing a centralized platform for TJ Rocketry to streamline many of the club’s operations. The project is backed by PostgreSQL and combines attendance tracking, inventory management, file storage, and administrative tools into a single system.

Attendance and Launch Management

One of the major additions has been an integrated attendance system. Officers can create launch events and generate attendance codes, allowing members to check in through the website. Attendance records can then be exported directly as CSV files, significantly reducing manual work.

Inventory System

I implemented a complete inventory management system to keep track of rocket components and supplies. Members can browse available items and submit requests, while officers can approve or deny them. The system automatically tracks inventory quantities and request history, making it easier to maintain accountability.

File Storage

To centralize documentation, I built a file system inspired by Google Drive. Members can upload, organize, and access CAD files, reports, presentations, and other club resources through a familiar interface.

Resource Hub

The platform also serves as a repository for important documents and resources. Guides, documentation, and reference material are organized in one location, making information easier to find for both new and experienced members.

Administrative Dashboard

A full administration panel was developed to provide officers with complete control over the platform. User permissions, launches, inventory, and other aspects of the system can all be managed through a web interface without requiring direct database access.

Technical Highlights

  • PostgreSQL-backed storage
  • Role-based access control
  • Attendance and launch management
  • CSV export functionality
  • Inventory request and approval workflows
  • Integrated file storage system
  • Administrative dashboard

Over the last month, the platform has evolved into a central operating system for TJ Rocketry. The goal has been to reduce overhead for officers and provide members with a single location for everything they need. Future development will focus on expanding automation and adding additional tools to support the club’s engineering activities.

0
0
1

Followers

Loading…