About Me

Daniel Armstrong wearing a blue shirt and black tie.

Personal

I am a native of Nashville, Tennessee with a passion for tech, scuba diving and extreme sports. I tend to be a Maximizer, hyper-focused on a project until it is markedly next level. I have past experience as a Physical Therapist Assistant in outpatient and home health settings. I enjoy software engineering because I love the challenge of solving puzzles and channeling my own creativity for problem solving and creating a quality user experience.

Tech

Experienced in Python/Django, React, TypeScript, Java/SpringBoot, PostgreSQL, Docker and Google Cloud Project. I appreciate clean code that is reusable, linted, formatted, tested and properly typed (if language applicable). I have previously worked with Neural Payments, a Cincinnati-based fin-tech startup. At Neural Payments I managed our Admin Portal, where I greatly expanded its scope by building new features, including onboarding automation of new financial institutions and improving performance of transfer reports by creating complex PostgreSQL queries and persisting completed transfers via cron. I also built a fraud rules engine that has prevented financial institutions from losing hundreds of thousands of dollars to fraud.

Scuba

I fell in love with scuba diving in 2017 and continued to expand my skills and knowledge of the sport. I interned and worked as a dive professional, earning my Divemaster certification with Music City Scuba where I supervised and taught Open Water, Advanced and various specialties. I have lead multiple Discover Scuba Diving programs and volunteer at Pennyroyal Scuba Center for the annual PADI Women's Dive Day. It's an absolute joy working with new Open Water Diver students and spending time with friends on dive trips local and abroad. Grand Cayman Islands and Roatan, Honduras are 2 of my favorite diving destinations.

I enjoy shooting scuba videos on a 360 camera. I've made quite a few. Check out this diving video from Roatan, Honduras!


Endurance Sports

As of May 2025, I am currently training to climb Mt. Rainier next month. Endurance sports are a kind of micro trauma to the body and mind that I decide to opt-in to. Barring any accidents or pain that arise, I feel largely in control of myself and the situation. The misery of the event exposes one to repetition in adversity and grows a more resilient body and mind, whether the finish line is gained or not. I've enjoyed pushing my limits through a few challenging cycling events including a Half-Everesting, Mountains of Misery double-metric century, and Six Gap of North Georgia. If there is a mountain to be conquered, I'm there.

Projects

Surface Interval

Plan // Dive // Log // Repeat

Surface Interval

Surface Interval is a scuba diver's companion app, serving to better prepare a diver for upcoming dive trips. Surface Interval allows the user to log dives, create gear and gear sets, track gear service, upload and view certification cards, upload dive photos and plan dives based on the PADI Recreational Dive Planner. This project is a full-stack TypeScript/Django application with a CI using Github Actions to do linting and formatting checks and automated testing.

Github: Surface Interval Server
Github: Surface Interval UI

Other Projects

Group and individual projects I worked on at Nashville Software school can be found on my Github.

github.com/DArmstrong87

Elements

Text

This is bold and this is strong. This is italic and this is emphasized. This is superscript text and this is subscript text. This is underlined and this is code: for (;;) { ... }. Finally, this is a link.


Heading Level 2

Heading Level 3

Heading Level 4

Heading Level 5
Heading Level 6

Blockquote

Fringilla nisl. Donec accumsan interdum nisi, quis tincidunt felis sagittis eget tempus euismod. Vestibulum ante ipsum primis in faucibus vestibulum. Blandit adipiscing eu felis iaculis volutpat ac adipiscing accumsan faucibus. Vestibulum ante ipsum primis in faucibus lorem ipsum dolor sit amet nullam adipiscing eu felis.

Preformatted

i = 0;

while (!deck.isInOrder()) {
    print 'Iteration ' + i;
    deck.shuffle();
    i++;
}

print 'It took ' + i + ' iterations to sort the deck.';

Lists

Unordered

  • Dolor pulvinar etiam.
  • Sagittis adipiscing.
  • Felis enim feugiat.

Alternate

  • Dolor pulvinar etiam.
  • Sagittis adipiscing.
  • Felis enim feugiat.

Ordered

  1. Dolor pulvinar etiam.
  2. Etiam vel felis viverra.
  3. Felis enim feugiat.
  4. Dolor pulvinar etiam.
  5. Etiam vel felis lorem.
  6. Felis enim et feugiat.

Icons

Actions

Table

Default

Name Description Price
Item One Ante turpis integer aliquet porttitor. 29.99
Item Two Vis ac commodo adipiscing arcu aliquet. 19.99
Item Three Morbi faucibus arcu accumsan lorem. 29.99
Item Four Vitae integer tempus condimentum. 19.99
Item Five Ante turpis integer aliquet porttitor. 29.99
100.00

Alternate

Name Description Price
Item One Ante turpis integer aliquet porttitor. 29.99
Item Two Vis ac commodo adipiscing arcu aliquet. 19.99
Item Three Morbi faucibus arcu accumsan lorem. 29.99
Item Four Vitae integer tempus condimentum. 19.99
Item Five Ante turpis integer aliquet porttitor. 29.99
100.00

Buttons

  • Disabled
  • Disabled

Form